Das Weltwissen in der Hand: Rockbox und Wikipedia

  • strict warning: Non-static method view::load() should not be called statically in /usr/share/nginx/www/drupal/sites/all/modules/views/views.module on line 1113.
  • strict warning: Declaration of views_handler_field::query() should be compatible with views_handler::query($group_by = false) in /usr/share/nginx/www/drupal/sites/all/modules/views/handlers/views_handler_field.inc on line 0.
  • strict warning: Declaration of views_handler_field_user::init() should be compatible with views_handler_field::init(&$view, $options) in /usr/share/nginx/www/drupal/sites/all/modules/views/modules/user/views_handler_field_user.inc on line 0.
  • strict warning: Declaration of views_handler_argument::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /usr/share/nginx/www/drupal/sites/all/modules/views/handlers/views_handler_argument.inc on line 0.
  • strict warning: Declaration of views_handler_argument::query() should be compatible with views_handler::query($group_by = false) in /usr/share/nginx/www/drupal/sites/all/modules/views/handlers/views_handler_argument.inc on line 0.
  • strict warning: Declaration of views_handler_sort::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /usr/share/nginx/www/drupal/sites/all/modules/views/handlers/views_handler_sort.inc on line 0.
  • strict warning: Declaration of views_handler_sort::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /usr/share/nginx/www/drupal/sites/all/modules/views/handlers/views_handler_sort.inc on line 0.
  • strict warning: Declaration of views_handler_sort::query() should be compatible with views_handler::query($group_by = false) in /usr/share/nginx/www/drupal/sites/all/modules/views/handlers/views_handler_sort.inc on line 0.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /usr/share/nginx/www/drupal/sites/all/modules/views/handlers/views_handler_filter.inc on line 0.
  • strict warning: Declaration of views_handler_filter::query() should be compatible with views_handler::query($group_by = false) in /usr/share/nginx/www/drupal/sites/all/modules/views/handlers/views_handler_filter.inc on line 0.
  • strict warning: Declaration of views_handler_relationship::query() should be compatible with views_handler::query($group_by = false) in /usr/share/nginx/www/drupal/sites/all/modules/views/handlers/views_handler_relationship.inc on line 0.
  • strict warning: Declaration of views_plugin_query::options_submit() should be compatible with views_plugin::options_submit($form, &$form_state) in /usr/share/nginx/www/drupal/sites/all/modules/views/plugins/views_plugin_query.inc on line 0.
  • strict warning: Declaration of views_plugin_argument_validate::options_submit() should be compatible with views_plugin::options_submit($form, &$form_state) in /usr/share/nginx/www/drupal/sites/all/modules/views/plugins/views_plugin_argument_validate.inc on line 0.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /usr/share/nginx/www/drupal/sites/all/modules/views/plugins/views_plugin_row.inc on line 0.

Seit meinem ersten richtigen mobilen Mp3-Player bin ich ein großer Freund von Rockbox. Die freie open-source Firmware brachte meinem „Archos Recorder 20“ viele neue Funktionen und Musikformate bei. Das Gerät selber war damls noch sehr groß und schwer, fasste aber immerhin schon 20 GB Daten. Diese waren aber auch erst mit der herausragenden Playlist-Funktionalität der Alternativfirmware wirklich sinnvoll nutzbar. Mittlerweile ist es für mich ein Kaufkriterium, ob Rockbox für einen Player verfügbar ist.

Einige Player später kam in einem Forum der Wunsch auf, die Wikipedia (um die es ja momentan heftige Diskussionen gibt) durch Rockbox verfügbar zu machen. Nach verschiedenen Anläufen wurde das vor mittlerweile geraumer Zeit auch geschafft: Ein gut gepflegter Diff-Patch stellt ein neues Plugin zur Verfügung: Konvertierte Wikipedia-Dumps (Momentaufnahmen der Wikipedia, Datenbank-Backups) können durchsucht und Artikel gelesen werden.

Rockbox kompilieren

Will man dies seiner Rockbox-Installation ermöglichen, muss man zu aller erst dafür sorgen, die normalen Quellen kompilieren zu können. Durch diesen Vorgang wird der Quelltext in ein für den Mp3-Player verständliches Format übersetzt. Mit einer Linux-Ditribution geht das naturgemäß am einfachsten, aber auch für Windows gibt das Rockbox-Wiki Hitfestellungen (und zur Not eine voreingerichtete Ubuntu-VM). Um im Linux alles zu bewerkstelligen, ist (vereinfacht) folgendes notwendig (Ausführliche Erläuterungen dazu im Rockbox-Wiki):

svn co svn://svn.rockbox.org/rockbox/trunk rockbox
cd rockbox/tools
sudo ./rockboxdev.sh
echo "export PATH=/usr/local/arm-elf/bin:/usr/local/m68k-elf/bin:/usr/local/sh-elf/bin:$PATH" >> ~/.basrc
mkdir ../build
cd ../build
../tools/configure
make
make zip

Funktioniert die selbstgebackene Firmware, ist es as der Zeit die Wikipedia-Erweiterungen einzubringen.

Patchen

Das Rockbox-Projekt nutzt Flyspray als Bugtracker und Ticket-Werkzeug. Dort findet sich auch der Wikipedia-Patch und dessen aktuellste Version ist eher gegen Ende der Kommentarliste zu suchen. Mit der SVN-Revision 23603 funktioniert bei mir der Patch vom 18 August 2009 tadellos (Direktlink: Diff), aber auch neuere Revisionen sollten kein Problem darstellen. Die passende Datei lädt man sich herunter und wendet diese im Basisverzeichnis von Rockbox an. Auch dazu gibt es einen kurzen Abschnitt im Wiki und im Prinzip ist folgendes zu tun:

patch --binary -p0 < patchfilename

Sollten dabei Fehler auftreten, sollte nochmal im Wiki gelesen werden und der aktuellste Patch genommen werden (ggf. selber in Flyspray nachfragen). Hat aber alles geklappt, muss der build-Ordner (s. o.) komplett geleert und Rockbox neu kompiliert werden. Anschließend kann die „rockbox.zip“ in das Root-Verzeichnis des Mp3-Players entpackt werden. Nun fehlen nur noch die Daten.

Wikipedia

Wikipedia wird in regelmäßigen Abständen in allen verfügbaren Sprachen gesichert. Auf der Downloiadseite für die Datenbank-Backups (Dumps) sucht man sich nun den „XXwiki“-Dump seiner Wahl, wobei XX ein Sprachkürzel ist (ich habe auf „dewiki“ geklickt um an die deutschsprachigen Dumps zu kommen). Auf der Folgeseite läd man sich nun die Datei „pages-articles.xml.bz2“ herunter und erhält somit alle Artikel ohne History. Für die deutsche Wikipedia sind das in gepackter Form momentan 1,6 GB (sehr viel gepackter Text - entpackt: 6,2 GB).

Nachdem man ein paar Minuten mit dem Downloaden und Entpacken verbracht hat, muss die neue XML-Datei nun in ein rockboxtaugliches Format gebracht werden. Der eben angewandte Patch stellt dazu mehrere Programme bereit: xmlconv für die Umwandlung und btcreate um einen B-Baum-Index zu generieren. Beide Programme liegen im „tools/converter” Ordner innerhalb des Rockbox-Verzeichnisses. Anzuwenden sind sie (beispielsweise) folgendermaßen:

./xmlconv xmlfile.xml outputprefix
./btcreate outputprefix.wwt outputprefix.wwr outputprefix.wwi

„outputprefix“ steht dabei für Pfad und Dateinamen der Ausgabedateien. Es bietet sich an ein Format wie „dewiki-20091028“ zu nutzen (Erweiterungen werden ergänzt), um eine sinnvolle Sortierung in Rockbox zu ermöglichen. xmlconv legt die Dateien outputprefix.wwt und outputprefix.wwr an. btcreate generiert wiederum eine outputprefix.wwi (Index) und eine (evtl. mehrere) outputprefix.wwa (Daten) Datei(en). Die beiden letzteren Typen sind abschließend auf den Player zu kopieren (*.wwr und *.wwt werden vom Wikipedia-Plugin nicht benötigt).

Will man dies nicht alles von Hand machen, hat Robin Bertram (aus dem Rockbox-FlySpray) freundlicherweise ein einsatzbereites „dewiki“ vom 10.08.2009 online zur Verfügung gestellt:

Ein kleines HowTo das die Schritte noch einmal zusammmenfasst ist auch im Rocbox-Tracker zu finden: Link

Ausführen

Sind die wwi und die wwa Dateien auf das Gerät kopiert, kann das Plugin innerhalb von Rockbox durch das Ausführen der wwi-Datei gestartet werden. Man kann Artikel Suchen, Querverweisen folgen und Lesezeichen setzen. Abschließend sind einige Bilder von der Verwendung zu sehen:

Suche
BegriffsklärungBegriffsklärung
ArtikelArtikel
MenüMenü

Seit meinem ersten richtigen mobilen Mp3-Player bin ich ein großer Freund von Rockbox. Die freie open-source Firmware brachte meinem „Archos Recorder 20“ viele neue Funktionen und Musikformate bei. Das Gerät selber war damls noch sehr groß und schwer, fasste aber immerhin schon 20 GB Daten. Diese waren aber auch erst mit der herausragenden Playlist-Funktionalität der Alternativfirmware wirklich sinnvoll nutzbar. Mittlerweile ist es für mich ein Kaufkriterium, ob Rockbox für einen Player verfügbar ist.

Trackback URL for this post:

https://blog.voodoo-arts.net/trackback/48

Tags for Das Weltwissen in der Hand: Rockbox und Wikipedia