Linux sur iPaq

Cette page est dédiée à l'installation, l'utilisation et développement de GNU/Linux sur iPaq. Pour rappel, un iPaq est un PDA, qui à la base, fonctionne avec WindowsCE (aka PocketPC - ppc). On pourrait penser que GNU/Linux a un gros retard dans ce domaine, mais en fait, pas du tout. On rencontre biensûr les mêmes problèmes qu'avec GNU/Linux sur n'importe quelle machine (en particulier sur les machines non intel x86):

Comme exemple du premier point, je prendrais le manque de finesse dans la gestion de la fréquence du processeur. Mon iPaq h5500 est équipé d'un processeur Intel PXA, mais linux ne semble pas réduire la fréquence de celui ci lorsque l'appareil est mis en veille: la durée de mise en veille en prend un (gros) coup. On retrouve aussi biensûr des cartes d'extensions ayant un support 0 de la part des constructeurs, et impossible de contourner cela en utilisant des projets comme NdisWrapper (forcément, il n'y a rien à wrapper ici).
Pour les logiciels, je pense à tous ces logiciels bien pratiques lorsqu'on utilise un GPS et qui font un peu tout ce qu'il faut pour devenir super flemmard et ne plus jamais se fatiguer à prévoir une route avec un crayon, une feuille et une carte Michelin en papier.

Dépôt ipkg

J'ai un petit dépôt ipkg que j'utilise lorsque je developpe (modestement, très). Il se trouve . Attention quand même, s'il peut rendre service, reposer dessus n'est pas franchement une bonne idée... Mais vu que plusieurs personnes semblent utiliser certains paquets, c'est bien que ça doit servir. Il est sans doute plus malin d'utiliser les dépôts unstable de familiar (pour la futur 0.8.3 par exemple).

Les projets

Voici les projets liés directement au port de linux sur PDA (mais pas seulement):

pour cross-compiler, créer des paquets, générer des images installables (flashables).

Installation

L'installation sur mon iPaq h5500 se fait sans problème via le cable série. Le plus simple est de suivre les instructions qui se trouvent sur le wiki. La démarche étant simple et courte, le donne les grandes lignes (je pars du principe que le bootloader est déjà installé, si ce n'est pas le cas, il est bon de lire le wiki car c'est la partie la plus délicate):

Donc non, ce n'est pas compliquer d'installer linux sur un PDA de ce type!
Si vous avez des problèmes, il est possible de demander (toujours gentillement) à linux d'afficher les message sur la ligne série:

OpenEmbedded ou comment rentabiliser sa barette de 512

OpenEmbedded pourrait être comparer à portage de Gentoo: un ensemble de fichiers contenant des informations permettant de :

Le programme qui vient lire toutes ces information est bitbake. C'est lui qui est assez gourmand en CPU et mémoire car il va passer pas mal de temps à construire un arbre de dépendance avec toutes les informations dedans (il y a beaucoup de paquets dans OpenEmbedded!), arbre stocké en mémoire. Pour un ordre d'idée, la construction de l'arbre pour un arbre OpenEmbedded complet demande presque 512Mo de mémoire (c'est toujours ça de moins pour gcc et les autres outils).
Biensûr, il existe des parades:

Pour peu qu'on ait suffisement de mémoire et un processeur pas trop antique, on s'en tire pas trop mal (j'ai un Athlon 1.2Ghz et 1Go de RAM).

Exemples

Concretement, voilà ce que je fais avec mon iPaq:

Il faut dire que ce iPaq, on me l'a donné et que je ne n'ai pas vraiment d'utiliter autre que pour découvrir le domaine de l'embarqué. Ce domaine est vraiment intéressant car il m'a permis de découvrir des projets que je ne connaissais pas avant: