Hello,
During the Zürich hackathon, Kelson gave me the mission to port
Kiwix-serve on
Raspberry Pi. I worked today to make this happen and I continue tomorrow
with
a focus on the WiFi (see below).
https://github.com/Seb35/kiwix-other/tree/feature/raspberrypi
Here are some considerations about the port:
* I created a plug/setup_raspberry.sh similar to plug/setup_plug.sh
* this can be executed either on the Raspberry Pi itself (it has a direct
graphical UI or command line) either from a remote computer through
SSH,
similarly to setup_plug.sh
* I though about a direct setup of the SD card on the master computer
with
a chroot, but the Raspberry Pi has possibly a different architecture
than
the master computer (ARM vs x86), so I abandonned this path
* possibly setup_raspberry.sh could be merged into setup_plug.sh; for
now I
keep two distinct files
* the Raspberry Pi has no built-in WiFi and the model A doesn’t even have
an
Ethernet connection, so you have to add an USB WiFi dongle
* particularly for model A, the ZIM files should probably be added on the
system SD card (which has to be big enough), so it should probably be
added some detection first on an USB key and then on the system SD card
(/usr/share/zim? /opt/kiwix-serve? ask to user?)
* I propose to mv plug/setup_usbkey.sh plug/setup_content.sh: if there
is no
empty USB key, put the ZIM and system on the Raspberry Pi’s SD card
* I added a device probber in script/kiwix-plug.plug (Raspberry Pi,
GuruPlug,
TonidoPlug), mainly for the differences in WiFi management
* I’m not well-versed into WiFi, any advices are welcome: I plan to use
hostapd to manage the WiFi AP, it seems to be quite standard on the
Raspberry Pi. Given there is no built-in WiFi, it is up to the user to
install the drivers. For now I removed the README section about the
optional
router, it could be tested and added afterwards.
~ Seb35