La Fibre
Datacenter et équipements réseaux => Routeurs =>
Remplacer la LiveBox par un routeur => Discussion démarrée par: maxdata01 le 05 décembre 2024 à 14:17:40
-
Bonjour,
Suite a une erreur de manip, j'ai corrompus mon FileSystem MTD4 sur mon SFP GPON-ONU-34-20BI et je n'ai pas de sauvegarde !
Depuis j'ai essayé de chercher sur le net pour savoir si il y a un moyen de le récupérer mais en vain.
J'aimerai savoir si vous avez une idée pour rattraper ou il est foutu ?
merci pour vos aides.
Max
-
Vois si ça peut t'aider : https://hack-gpon.org/ont-fs-com-gpon-onu-stick-with-mac/
-
Merci Mastah, j'ai déja regardé il y a que le mtd0 et 2 ! il me faut le 4
-
mtd4 est une partition virtuelle, on ne peut pas vraiment l'écrire directement (elle n'est pas alignée).
Le SFP a deux images, image0 et image1.
Dans chacune, il y a :
- le kernel, au début de la partition
- le rootfs (le /), pour lequel le kernel crée une partition virtuelle "rootfs" qui pointe dans la partition de l'image
- les données (pour les réglages), le lequel le kernel crée une partition virtuelle "rootfs_data" qui pointe dans la partition de l'image
Quand on démarre sur image0 (/proc/cmdline contient "root=/dev/mtd2"), mtd4 est rootfs_data.
Quand on démarre sur image1 (/proc/cmdline contient "root=/dev/mtd3"), mtd4 est rootfs.
Donc si tu as vraiment besoin de restaurer quelque chose, c'est une image complète (dite "mtd2", avec kernel, rootfs, et rootfs_data), dans l'image inactive (il ne faut pas écraser celle actuellement utilisée).
Et attention, peut-être que comme sur le MA5671A quand on restaure manuellement une image avec des données, on récupère les données de calibration du laser de celui qui a fait le backup, et donc il faut supprimer /etc/optic/.recovered_goi la prochaine fois qu'on démarre sur l'image en question puis rebooter, pour que la calibration stockée dans la variable du bootloader soit restaurée.
La procédure de mise à jour de firmware normale (je ne sais pas comment est est faite sur ce modèle) est supposée copier les données courantes dans la nouvelle image.
-
Merci HWTI :D, en effet j'ai re flashé le MTD2 et c'est nikel OUFF
par contre j'ai un autre pb,quand je fais un firstboot, il garde les données
root@SFP:~# firstboot
This will erase all settings and remove any installed packages. Are you sure? [N/y]
y
/dev/mtdblock4 is mounted as /overlay, only erasing files
root@SFP:~#
Vous avez une idée ?
-
Qu'est-ce qu'il garde ?
Le message dit simplement que comme la partition est montée, il ne peut pas l'effacer (ou la reformater), et donc qu'à la place il efface les fichiers qui sont dessus.
-
Il garde toute les variables de Fw_printenv
-
Ce n'est pas étonnant, parce que firstboot est une commande OpenWRT à la base.
C'est un peu moins vrai sur les firmwares modifiés, mais à la base les réglages venant des variables u-boot sont censés être fixés une fois pour toutes en usine (changer le SN, choisir entre 1Gbps et 2.5 Gbps, ce n'est pas un usage normal).
Et certaines variables ne doivent pas etre effacées, comme par exemple la calibration.
Les ONT doivent également garder des SN et adresses MAC uniques (sinon il y aurait des conflits côté OLT).
A moins que le FS soit different des autres, il n'existe pas de sauvegarde des valeurs des variables u-boot ayant été programmées en usine.
-
Merci.
Dernière question, comment flasher les MTD au format *.img, impossible de trouver l'info ? c'est pareil que les .bin ?
-
A ma connaissance il n'y a pas de format spécifique, ce sont toujours des images de mtd.
Deux indices :
- la taille
- le contenu (par exemple avec binwalk : uImage avec le kernel, puis squashfs derrière, et JFFS2 ensuite
N'oublie pas de faire un backup complet avant de tenter de flasher quelque chose.
-
Yes merci.
-
Salut à tous.
Pour faire les sauvegardes depuis l'ONU Huawei MA5671a, j'ai utilisé la commande suivante :
"dd if=/dev/mtdx of=/tmp/mtdx.backup"
puis ensuite je transfères dans mon ordinateur.
Je n'ai pas tenté de restaurer les mêmes partitions, mais tout ce que je connais pour avoir installé le micrologiciel Carlito, c'est cette commande :
mtd -e image1 write /tmp/mtd5.bin image1
depuis l'image 0 qui est active. Puis j'ai basculé vers l'image 1 et j'ai fait :
mtd -e image0 write /tmp/mtd2.bin image0
Comment restaurer la partition mtd4 ? ou mtd1 ?
-
Pour mtd1, ce serait "mtd -e uboot_env write /tmp/mtd1.bin uboot_env" (on efface uboot_env, puis on écrit l'image dessus).
Mais je recommande plutôt de modifier les variables, parce qu'en cas de problème la récupération est difficile (court circuit sur la flash pour forcer la boot ROM, envoi du 1234abort.bin, ...)
Comme indiqué plus haut, mtd4 est une partition virtuelle, qui pointe dans image0 ou image1 selon ce qui est booté.
Donc sauf cas très particulier, où il faudrait savoir exactement ce qu'on fait, il ne faut que restaurer image0 en ayant booté sur image1, ou l'inverse.