Mokopedia einrichten

Heute wollte ich die Mokopedia auf meinem Freerunner einrichten. Die Mokopedia ist eine zum Offline Anschauen optimierte Fassung der Wikipedia. Zu finden ist sie unter http://mokopedia.mister-muffin.de/.

Bevor wir anfangen binden wir noch ein zusätzliches Repository ein. Dazu wird die Datei http://rabenfrost.net/celtune/celtune-rabenfrost.conf in den Ordner /etc/opkg/ gepackt und anschließend opkg update ausgeführt. Danach werden mit opkg install python-opendir python-netserver kernel-module-loop die benötigten Module installiert.

Dann benötigen wir noch einige Kernelmodule. Dabei ist zu beachten das die hier angebotenen Kernelmodule nur mit der Version 2.6.24 des Kernels zusammenarbeiten. Überprüfen kann man dies in dem man auf der Konsole uname -a eingibt.

Wenn die Kernelversion stimmt kann man sich die benötigten Module auf sein Freerunner laden. Dazu gibt man in der Konsole folgendes ein:

wget https://seeseekey.net/wp-content/uploads/2008/11/unlzma.ko
wget https://seeseekey.net/wp-content/uploads/2008/11/sqlzma.ko
wget https://seeseekey.net/wp-content/uploads/2008/11/squashfs.ko

Die Dateien müssen dann an folgende Orte:

unlzma.ko -> /lib/modules/2.6.24/kernel/extra/lzma/unlzma.ko
sqlzma.ko -> /lib/modules/2.6.24/kernel/extra/lzma/sqlzma.ko
squashfs.ko -> /lib/modules/2.6.24/kernel/fs/squashfs/squashfs.ko

Um die Modulabhängigkeiten zu aktualisieren geben wir dann noch depmod -a ein. In die Datei /etc/fstab/ tragen wir dann noch folgendes ein:

# mokopedia
/media/card/mokopedia/de/mokopedia.lzma /media/mokopedia/de squashfs default,loop 0 0

Nun liegt nach einem Neustart in dem Verzeichnis /media/mokopedia/de die Mokopedia. So ist das ganze natürlich noch nicht sonderlicht schön. Wir benötigen noch einen Server der uns das Ganze für den Webbrowser ein wenig hübscher macht.

Dazu benötigen wir einen kleinen Webserver den gibt es hier. Das ganze entpacken und auf den Freerunner. Nun starten wir die server.py indem wir python server.py eingeben.

Danach können wir den Browser starten und http://localhost:8080/ eingeben und schon sind wir in der Wikipedia. Zur Zeit ist das ganze leider noch etwas unübersichtlich wenn man die Wikipedia auf dem Palm gewöhnt ist, aber das wird schon :)

Die Rolle von Python im neuen OpenMoko Framework

Auf der Seite http://wiki.openmoko.org/wiki/OpenmokoFramework gibt es ein Punkt der sich mit der Rolle von Python im neuen Framework befasst.

Es geht darum das wenn neuer Code geschrieben werden muss dieser in Python geschrieben wird, sprich die entsprechenden dbus Services in Python geschrieben werden. Als Grund wird die prototypische Natur von Python sowie der Betonung der dbus API (was auch immer damit gemeint ist). Außerdem sind verkürzt die Python die Zeiten die bei dem Experimentieren mit der API vergeht gegenüber kompilierten Sprachen wie C bzw. C++.

Sobald die API’s durch Anwendungsentwickler genutzt werden können, kann damit begonnen werden zu schauen ob bestimmte Services noch ein implementiert werden bzw. auf Geschwindigkeit optimiert werden z.B. unter zu Hilfename von Pyrex (http://en.wikipedia.org/wiki/Pyrex_(programming_language)), Cython (http://www.cython.org/) und Ctypes (http://python.net/crew/theller/ctypes/).