Chérie, laisse tomber le ciné, on va compiler Openwrt !

« Pour faire ceci, il faut la dernière version »… « Ah si ! Ca fonctionne…mais dans la version développement »… Vous vous sentez frustrés ? Malgrès l’hyperactivité des développeurs d’OpenWRT, vous trouvez les snapshots un peu trop éloignés ? Peut-être avez vous envie de mettre la main à la pâte ? Pouquoi ne pas compiler vous aussi la  dernière version du firmware OpenWrt… Trop compliqué ? Ah Non ! Vraiment pas !

Quelques outils sont indispensables pour cette manip :

Sous Debian (ou Ubuntu) :

aptitude install subversion g++ ncurses-dev zlib1g-dev gawk bison flex autoconf

Ensuite, récupération des sources grâce à subversion :

svn co https://svn.openwrt.org/openwrt/trunk/

Configuration (génération des makefiles)

cd trunk
make menuconfig

Là, vous pouvez jouer avec les options pour optimiser votre firmware… Quand on ne sait pas, on laisse les options par défaut, la plupart du temps, ce n’est pas si mal !

Cependant, il faut préciser au minimum l’architecture cible (Atheros pour les foneros). L’option « Select all packages by default » n’est pas mal également ; ) Elle permet de compiler les paquets les plus courants. (Prévoir quand même pas loin de 2Go de disque…)

Finalement, on lance la compil :

make

Et après ? Ben… On peut aller prendre un café…Fumer une clope…reprendre un café… refumer une clope, etc… Normalement, quand le paquet est vide, c’est que la compil est presque finie… Et ça tombe bien ! Avec tout le café qu’on a dans le coco, on n’a plus vraiment sommeil !

Les fichiers binaires sont placés dans le répertoire bin. Nous pouvons y retrouver les paquets, le noyau et l’arborescence racine (rootfs)… Des fichiers que l’on sait bien manipuler maintenant.

(cf  : Jouer avec la Fonera 3e Partie pour un petit rappel…)

J’ai réalisé une petite moulinette qui compile quotidiennement les sources svm. Les binaires résultants (pour Atheros uniquement) sont disponibles ici : http://www.jopa.fr/downloads/trunk/

Le fichier CONFIG contient les options utilisées… Il s’agit bien de la version développement d’OpenWrt, ces binaires viennent donc sans garantie…

Laissez votre message après le bip...Biiiiip

Commentaires

Salut,
Super l’article mais j’ai un soucis je compile, tout se passe bien. et quand je flash la fonera avec ce que je vien de compiler, j’ai le souci suivant:
pour le fichier lzma: « can’t locate d0000 (851968) bytes free in FLASH »
Et lorsque je prend le fichier depuis le site d’openwrt cela se passe bien
ce que je vois comme différence entre les deux fichiers: le mien fait 832Ko et celui d’openwrt fait 768Ko.
De quoi cela peut venir et comment faire pour corriger ce petit souci?

J’ai trouver une solution, je reduis dans les partitions la taille du rootfs pour en allouer plus au kernel (lzma)
Donc au lieu de faire: « fis create -b 0×80041000 -f 0xA8030000 -l 0×006F0000 -e 0×00000000 rootfs » je fais maintenant: « fis create -b 0×80041000 -f 0xA8030000 -l 0×006E0000 -e 0×00000000 rootfs »

Guillaume

Laisser un commentaire

(requis)

(requis)