Tag Archive for 'compilation'

Firmware du WikiReader en français

Voilà, en attendant qu’OpenMoko fasse une mise à jour pour prendre en charge les accents dans l’interface, je publie ma version francisée du firmware du WikiReader dont je vous ai parlé précédemment.

Téléchargement (.tar.gz / 840 Ko)

Instructions :

Carte microSD

  • Enlevez le clapet et les piles
  • Retirez la carte microSD du WikiReader
  • Insérez cette carte dans votre ordinateur en utilisant un lecteur de carte par exemple
  • Décompressez le contenu du fichier zip en téléchargement à la racine de la carte microSD et confirmez le remplacement des fichiers.
  • Replacez la carte dans WikiReader, les piles, le clapet
  • Vous avez maintenant l’interface du WikiReader en français ainsi qu’un clavier Azerty fonctionnel !

En ce qui concerne la base Wikipédia française elle est toujours en cours de génération, il y a encore quelques problèmes à régler.

…et pendant ce temps, il neige à Bressuire

Le WikiReader – 2ème partie : le firmware

Note : Cette deuxième partie est un peu plus technique.

Le firmware de base du WikiReader ainsi que le Wikipédia intégré est en anglais comme je l’ai dit précédemment.
J’ai donc regardé le code source pour pouvoir compiler ma propre version française, du moins le firmware car un membre d’OpenMoko FR compilait déjà Wikipédia et la procédure est beaucoup plus longue.

Tout d’abord il faut préparer son système d’exploitation (de préférence GNU/Linux pour faciliter les choses.)
J’utilise personnellement Ubuntu 9.10 dans une machine virtuelle.

  1. Récupérez les sources (environ 25 Mo) en utilisant Git :

    git clone git://github.com/wikireader/wikireader.git

  2. Il faut installer les paquets nécessaires à la compilation :

    sudo apt-get install python-gd gawk gforth flex bison m4 netpbm qt4-qmake libqt4-dev wget python-serial sqlite3 php5-cli python-dev guile-1.8

  3. Il faut ensuite préciser la plateforme sur laquelle on compile :

    cp wikireader/samo-lib/include/config-default.h wikireader/samo-lib/include/config.h
    gedit wikireader/samo-lib/include/config.h

    (il faut dé-commenter  BOARD_SAMO_V1 qui correspond au modèle WR01, celui du 1er WikiReader)

  4. On peut ensuite compiler !

    make all

  5. Une fois tout compilé, il faut créer un dossier qui recevra les fichiers du firmware du WikiReader.

    mkdir carte_sd

  6. Puis on va recompiler uniquement les fichiers qui seront sur la carte microSD

    make DESTDIR=carte_sd install

  7. Et voilà ! Vous devriez avoir une cinquantaine de fichiers dont kernel.elf

Traduction française

Pour la traduction je me suis penché de plus près au code.
Dans les sources nous avons un dossier “wiki-app”, c’est là ou se trouve le code principal de l’interface.

Parmi ces fichiers, certains contiennent des chaines de caractère à traduire :

  • search.h pour la partie recherche
  • history.h et history.c pour la partie historique
  • restricted.c pour la partie mot de passe

Pour le clavier virtuel AZERTY, j’ai cru qu’il fallait seulement éditer l’image “keyboard_abc_mono2.pbm” seulement elle est déjà générée par défaut dans le fichier “keyboard_all_image.h”.
Il faut donc compiler le firmware avec son image modifiée puis faire un copier-coller du contenu de “keyboard_image.h” dans “keyboard_all_image.h”. Il faut aussi penser à modifier les correspondances des touches dans le fichier “keyboard.c”

Edit : Les images en PNG sont utilisables directement, plus de problème !

Pour la configuration AZERTY, je part d’un clavier classique et j’interchange le “M” par le “Backspace” (je n’ai pas modifié les touches numériques et les caractères spéciaux)

Concernant la traduction il y a plusieurs limites :

  • La taille de l’écran est limité et on ne peut pas changer la taille de police, il faut donc réduire au plus le texte.
    Cependant, dans certains cas comme dans restricted.c ont peut ajouter des lignes.
  • Il m’est impossible pour le moment d’afficher les accents, ils provoquent un bug qui fait répéter deux fois le caractère précédent. Il faut que je re-contacte Open Moko pour savoir comment faire.

La version française du WikiReader devrait suivre rapidement une fois ce dernier problème réglé.