Jouer avec “La Fonera…” – 3ème partie : OpenWrt Kamikaze

Openwrt

Nous avons vu, dans la 2ème partie de « Jouer avec ‘La Fonera' », comment activer ssh sur une Fonera, afin d’accéder au système de la bête.

Il est temps d’aller un peu plus loin et de « Flasher » complètement la Fonera avec une distribution vierge d’OpenWrt (ie non « tunée » par Fon)… En version Kamikaze pour être plus précis…

Pour plus d’infos sur Openwrt, Kamikaze et toultoutim, je vous invite à consulter Wikipedia ou directement le site officiel du projet.

Remarques :

  1. Après cette manipulation, notre Fonera contiendra un OS embarqué n’ayant plus aucun rapport avec Fon; elle sera donc complètement déconnectée du réseau communautaire FON et ne jouera plus son rôle initial de partage wifi.
  2. Fonera+ : OpenWrt Kamikaze en version stable actuelle (0.9) s’installe sur une fonera+, mais n’est pas complètement fonctionnel. Les derniers snapshots semblent être fonctionnels, je n’ai pas encore testé. Je vous renvoie pour plus d’infos sur le blog de notre amis Lefinnois.

Nous allons flasher la Fonera grace au Redboot de celle-ci. L’accès au Redboot via l’interface Ethernet est activé par défaut sur les versions récentes de la Fonera (220x). Les processeurs de la version 2100 devront utiliser le port série ou patcher le noyau et la configuration du redboot pour l’activer.

Cette procédure est très bien décrite sur ce blog.

La méthode est similaire à celle décrite dans l’article précédent, chapitre : La méthode par Redboot (Modèles 2200)

Tout est prêt… C’est parti !

# ifconfig eth0:1 192.168.1.254

$ ./perl redboot.pl 192.168.1.1 192.168.1.1 is unreachable ICMP Host Unreachable from 192.168.1.254 for ICMP Echo sent to 192.168.1.1 ICMP Host Unreachable from 192.168.1.254 for ICMP Echo sent to 192.168.1.1 ICMP Host Unreachable from 192.168.1.254 for ICMP Echo sent to 192.168.1.1 192.168.1.1 is unreachable
ICMP Host Unreachable from 192.168.1.254 for ICMP Echo sent to 192.168.1.1 ICMP Host Unreachable from 192.168.1.254 for ICMP Echo sent to 192.168.1.1 192.168.1.1 is unreachable 192.168.1.1 is unreachable 192.168.1.1 is unreachable 192.168.1.1 is alive -> == Executing boot script in 1.950 seconds - enter ^C to abort <- ^C Trying 192.168.1.1... Connected to 192.168.1.1. Escape character is '^]'. RedBoot>

Nous avons maintenant la main sur le redboot.

RedBoot> ip_address -l 192.168.1.1/24 -h 192.168.1.254 IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0 Default server: 192.168.1.254
 RedBoot> fis init About to initialize [format] FLASH image system - continue (y/n)? y *** Initialize FLASH Image System ... Erase from 0xa87e0000-0xa87f0000: . ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: . RedBoot>
 RedBoot> fi cr -e 0x80041000 -r 0x80041000 vmlinux.bin.l7  ... Erase from 0xa8030000-0xa80f0000: ............ ... Program from 0x80040800-0x80100800 at 0xa8030000: ............ ... Erase from 0xa87e0000-0xa87f0000: . ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

Notre nouveau système OpenWrt tout fraîchement installé est maintenant accessible via telnet ou ssh.

Ne pas oublier ensuite de changer le mot de passe (passwd), configurer le réseau (/etc/config/network) et de mettre à jour la liste des paquets (ipkg update)

OpenWrt dispose de nombreux paquets, la commande « ipkg list » permet d’en avoir la liste…

Références :

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

Commentaires

[…] Fonera, précédemment installée sous Kamikaze (cf ce billet) est prête à remplir une multitude de fonctions…(Chouette !). La première mission que je […]

J’ai pas mal trimé avant d’arriver à activer le redboot sur une 2100, mais finalement c’est passé…
Merci pour cette page !

~Gargamel~

[…] : Jouer avec la Fonera 3e Partie pour un petit […]

Bonjour, j’ai installer avec « succes » openwrt
A chaque boot je dois me loguer sur redboot taper « fis load -l vmlinux.bin.l7 » puis « exec » sans cela ca ne boot pas
une idée du soucis ?
merci et bonne soirée

Bonjour,

Je pense que le script d’init n’est pas bon. Tu peux essayer de le réécrire depuis le redboot, avec la commande fconfig :

RedBoot> fconfig
Run script at boot: true
Boot script:
.. fis load -b 0x80100000 loader
.. go 0x80100000
Enter script, terminate with empty line
>> fis load -l vmlinux.bin.l7
>> exec
>>
Boot script timeout (1000ms resolution): 2
Use BOOTP for network configuration: false
Gateway IP address:
Local IP address: 192.168.1.1
Local IP address mask: 255.255.255.0
Default server IP address: 192.168.1.254
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration – continue (y/n)? y

Ha merci c’etait effectivement ca, j’avais « fis load -l linux » a la place de « fis load -l vmlinux.bin.l7 » c’etait une partie restante de dd-wrt 🙂
merci et bonne soirée

Bonsoir,

j’ai flasher ma Fonera+ en suivant vos instructions. Tout à l’air de bien se passer.

Mais j’ai comme l’impression que rien ne se passe quand je boot la chose : pas d’adresse ip trouvée sur le réseau correspondant au nouveau système.

Je ne connais pas redBoot, aussi, je ne sais pas comment debugger tout ça.

Si vous avez une piste, je suis preneur.

Cordialement,
Jacques-Daniel PILLON

PS : Je ne sais pas quelle informations vous fournir. Si besoin, je peux vous envoyer le déroulement du flash.

Bonsoir,

Quelle version de Kamikaze utilisez-vous ? Je ne suis pas sûr que la version stable (7.09) détecte bien automatiquement les spécificités de la Fonera+ (switch et vlan)… Préférez une version SVN ou un snapshot.
http://downloads.openwrt.org/snapshots/atheros/

Ensuite, la fonera+ dispose d’une phase supplémentaire dans le script de boot, qu’il faut supprimer pour Kamikaze : En bref, il faut simplifier le script d’init. C’est ce qui est décrit un peu plus haut dans les commentaires.

Que ce passe-t’il quand vous chargez le noyau à la main ?
( fis load -l vmlinux.bin.l7 )

Sinon, la manip décrite pour la Fonera 2.0 ( http://www.jopa.fr/index.php/2.....c-openwrt/ ) devrait fonctionner avec une fonera+

S’il n’y a pas d’erreur lors du flash, il n’y a pas de raison…

Bonsoir,
je suis en train de tester avec une version snapshot en me basant sur la manip pour le Fonera2. La version que j’utilisais était la version 7.09.

J’ai bien modifier le script de boot.

Quand je charge le noyau à la main, redboot m’indique bien qu’il en charge l’image :

Image loaded from 0x80041000-0x80290085

Mais ensuite, lorsque le tape la commande exec, plus rien…

La seule différence (qui n’a aucune importance à mon sens) c’est que j’utilise http (option -m HTTP de lo) pour transférer les images en lieu et place de tftp.

Suite au prochain épisode…

Merci

Cordialement,
Jacques-Daniel PILLON

Re bonsoir,

je confirme que la procédure indiquée pour la Fonera2.0 fonctionne pour la Fonera+ en utilisant un snapshot atheros de openwrt (la version du 04-Nov-2008 05:57 en ce qui me concerne).

Merci à vous.

Cordialement,
Jacques-Daniel PILLON

Hello !
Je viens d’acquérir une fonera 2.0 end user (2202) (fin avril) et je galère
installer openWrt ! j’ai l’impression que RedBoot est désactivé. et je n’arrive pas à reflasher « RedBoot config » (mtd can’t open device for writing)

Aurais-tu quelques astuces à me confier !?

Je suis sous ubuntu, et j’ai essayé de me connecter à redboot en
ethernet et via un adaptateur USB->UART à base de cp2101 sur le port série de la fonera.

Pour l’heure je reste donc en flipper 2.2.5.0 en mode dev avec du ssh
En tous les cas merci de ton sens du partage ! C’est très instructif !

[…] installée sous OpenWrt Kamikaze (version 8.09), […]

Tout fonctionne bien, mais vous dites à la fin « otre nouveau système OpenWrt tout fraîchement installé est maintenant accessible via telnet ou ssh. » Pourriez-vous indiquer comment ? Quelle adresse IP? Je ne trouve pas l’info ailleurs. Cela fait 2 fois que je refais la manip.

Laisser un commentaire

(requis)

(requis)