Openwrt : Modification du rootfs avant flash… Ce coup-ci, c’est bon Josette !
Dans le billet précédent, j’évoque le problème du mot de passe root déjà renseigné dans le snapshot du 22/09/08 de Openwrt Kamikaze, qui rend l’accès à la Fonera impossible après flash.
Suite à quelques investigations et tentatives supplémentaires, j’ai finalement réussi à corriger la configuration et à « recomposer » une image pouvant être utilisée pour flasher le rootfs .
La première étape consiste à monter l’image openwrt-atheros-root.jffs2-64k sur une machine linux :
modprobe mtdblock
modprobe jffs2
modprobe mtdram erase_size=64 total_size=7104
cat /proc/mtd
dev: size erasesize name
mtd0: 006F0000 00010000 "mtdram test device"
jffs2dump -b -c openwrt-atheros-root.jffs2-64k -e /dev/mtdblock0
mount /dev/mtdblock0 /mnt/rootfs |
Le paramètre total_size=7104 correspond à la taille (en Ko) que prend le rootfs sur la Fonera ( 0x006F0000 à définir lors du flash). Je peux me le permettre, même si une taille inférieure pourrait faire l’affaire : l’image finale sera recompressée.
Ré-initialisation du mot de passe root : (/mnt/rootfs/etc/passwd)
root:!:0:0:root:/root:/bin/ash nobody:*:65534:65534:nobody:/var:/bin/false daemon:*:65534:65534:daemon:/var:/bin/false |
Un peu de configuration réseau : (/mnt/rootfs/etc/config/network)
# Copyright (C) 2006 OpenWrt.org config interface loopback option ifname lo option proto static option ipaddr 127.0.0.1 option netmask 255.0.0.0 config interface lan option ifname eth0.0 option type bridge option proto static option ipaddr 192.168.1.1 option netmask 255.255.255.0 config interface wan option ifname eth0.1 option proto static option ipaddr 192.168.2.1 option netmask 255.255.255.0 |
Sur les anciennes Fonera (2100 et 2200), une seule interface ethernet est disponible : l’interface wan. Le firewall doit être légèrement « débridé » pour permette des connexions entrantes sur cette interface :
config defaults
option syn_flood 1
option input DROP
option output ACCEPT
option forward DROP
config zone
option name lan
option input ACCEPT
option output ACCEPT
option forward DROP
config zone
option name wan
# option input DROP
option input ACCEPT
option output ACCEPT
option forward DROP
option masq 1
config forwarding
option src lan
option dest wan |
Pour générer la nouvelle image, je vais utiliser mkfs.jffs2 (et non jffs2dump qui ne permet pas la compression).
mkfs.jffs2 -d /mnt/rootfs -e 64 --big-endian --no-cleanmarkers --pad -o newrootfs-64k.jffs2 |
Pour la suite, il suffit de remplacer, dans la Fonera, le rootfs dans sa version un peu trop fermée, par le nouveau… Ca se passe comme d’hab, via le Redboot.
RedBoot > lo -r -b %{FREEMEMLO} newrootfs-64k.jffs2
...
RedBoot > fis cr -l 0x6F0000 rootfs
An image named 'rootfs' exists - continue (y/n)? y
...
RedBoot > fis lo -l vmlinux.bin.l7
RedBoot > exec |
Voilà voilà petite Fonera !
L’image rootfs contenant les corrections décrites ci-dessus est disponible ici :
http://www.jopa.fr/downloads/openwrt-atheros-root.jopa.jffs2
Laissez votre message après le bip...Biiiiip
Commentaires
Chapeau l’artiste !
Pour info : l’interface wan est en dhcp dans l’image jopa… Mais l’essentiel est qu’on puisse accéder à la config
Mum… Pourtant je viens de vérifier, dans l’image, j’ai bien « option proto static », mais c’est vrai que sur la fonera, la ligne est remplaçée par « option proto dhcp »…Bizare ! Je ne comprends pas vraiment…
J’ai du louper un truc, mais comme tu dis, l’essentiel est de pouvoir accéder au système. Il est ensuite possible de paramétrer les interfaces comme bon nous semble.
La led power reste éteinte aussi
C’est dommage _
Remarque on voit bien qu’elle est allumée avec toutes les lumières qui clignottent !
J’ai essayé ton rootfs avec ma fon (1ère génération) Et c’est pareil…. impossible de prendre la main :[
C’est un micmac dans la conf d’eth0… soit un problème avec de vlan, soit un problème de correspondance des interfaces (par defaut, sur les foneras 1ere génération comme tu dis, wan correspond à l’interface filaire, lan à l’interface wifi.
Si tu n’arrives pas à te connecter par le port ethernet sur l’une ou l’autre des ip (192.168.1.1 ou 192.168.2.1), essaye en wifi, ça devrait passer.
Je t’avouerais que je n’ai pas testé cette version sur autre chose qu’une fonera+
Bingo !
C’est passé nickel en wifi… Il y a un réseau non protégé par défaut. Par contre, j’ai passer en adressage manuel (sur le 192.168.1. )
Merci encore



Hum hum… Bravo ! Je n’ai pas tout compris, mais ça c’est normal…
La nuit a été courte ?
Biz