#1 17/10/2007 18:00:09

cuagn
(de nouveau out...)
Lieu: 84210 - Pernes les Fontaines
Date d'inscription: 30/08/2007
Messages: 2441
Site web

Flasher une image en 18 étapes

Bon, c'est enfin fait !
Je voulais une synthèse, la voilà...

Merci aux pionniers, plus particulièrement à SGDA pour leur aide

Tout est dans le WIKI..


Cet enchaînement fonctionne, mais je ne garanti rien et décline toute responsabilité en cas de problème!

Pré-requis :
- Un accés au port-série comme indiqué dans le WIKI : port série
- Un serveur tftp est installé sur votre système comme indiqué dans le WIKI : serveur tftp


1 - Dans le dépôt subversion, récupérer et installer NB4-extract, NB4-adsl, NB4-concat, unsquash.py.
Récupérer le firmware comme indiqué dans le WIKI : récupération du firmware

2 - Valider que ce qui est récupéré est bon au moyen des outils NB4-extract (pour  MAIN et RESCUE) et NB4-adsl (le driver ADSL)

3 - NB4- extract produit trois fichiers NB4-R1.3.11-KERNEL, NB4-R1.3.11-HEADER et NB4-R1.3.11-ROOTFS

4 - Au moyen de unsquash.py  on obtient une copie locale décompressée du File System de la NB4, dans rootfs

5 – Modifier le file system :
- modifier dans rootfs/etc/shadow le mot de passe crypté de root
- renommer dans rootfs/bin le fichier upgrade en xupgrade afin de rendre inopérantes les mise à jour automatiques
- on peut effacer les 12 répertoires cachés .svn qui ne servent à rien dans une box et prennent de la place inutilement

Code:

# find rootfs -name '.svn' -exec rm -r {} \;

6 - reconstruire un fichier NB4-R1.3.99-ROOTFS à partir du rootfs modifié en utilisant l'utilitaire mksquashfs dans l'archive USR9113_release1.0.tar.gz que l'on trouve
http://www.usr.com/support/gpl/USR9113_ … 1.0.tar.gz
le fichier mksquashfs se trouve dans
USR91xx_3.06L.06V_consumer.tar.gz\hostTools

Pour s’exécuter , mksquashfs  a besoin de la bibliothèque libstdc++5
Si nécessaire (j’ai une Debian etch)
apt-get install libstdc++5

Code:

./mksquashfs rootfs NB4-R1.3.99-ROOTFS -be -lzma -no-fragments -noI -all-root -noappend
Creating big endian filesystem on NB4-R1.3.99-ROOTFS, block size 65536.

Big endian filesystem, data block size 65536, uncompressed data, compressed metadata, no fragments
Filesystem size 2798.40 Kbytes (2.73 Mbytes)
        30.79% of uncompressed filesystem size (9088.67 Kbytes)
Inode table size 14902 bytes (14.55 Kbytes)
        100.00% of uncompressed inode table size (14902 bytes)
Directory table size 7785 bytes (7.60 Kbytes)
        100.00% of uncompressed directory table size (7785 bytes)
Number of duplicate files found 0
Number of inodes 684
Number of files 406
Number of symbolic links  124
Number of device nodes 110
Number of fifo nodes 1
Number of socket nodes 0
Number of directories 43
Number of uids 1
        root (0)
Number of gids 0

7 - Créer une copie de NB4-R1.3.11-KERNEL que l'on appelle NB4-R1.3.99-KERNEL

8 - Au moyen de l'utilitaire nb4-concat (que l'on trouve dans le dépôt svn) construire une image NB4-R1.3.99-MAIN

Code:

./nb4-concat NB4-R1.3.99
Adresse du rootfs : 0Xbfc10100
Adresse du KERNEL : 0Xbfeef100
Fichier NB4-R1.3.99-MAIN créé avec succés

9 - Copier les fichiers NB4-R1.3.99-MAIN, NB4-R1.3.11-RESCUE, NB4-A2pB022p dans le répertoire /tftpboot

10 - Connectez votre serveur tftp à la NB4 sur un port PCx et notez l'adresse qui lui est assigné par la NB4 (par exemple 192.168.1.20)

11 - Faire un reset de la NB4 qui redémarre et prendre la main sous CFE

12 - Au moyen de la commande c modifier l'adresse du host par l'adresse de votre serveur tftp
Soit dans l’exemple choisi : Host IP address 192.168.1.20

13 – Reconnectez votre serveur tftp du port PCx sur le port TV

14 - Flasher l'image par la commande ... flashimage

Code:

 CFE> flashimage NB4-R1.3.99-MAIN
flashimage NB4-R1.3.99-MAIN
Loading 192.168.1.20:NB4-R1.3.99-MAIN ...
Finished loading 3954842 bytes
..............
Finished flashing image.
Resetting board...

15 – La NB4 se relance automatiquement, et la procédure de boot se termine par :

Code:

[NB4-SER-r0][NB4-R1.3.99-MAIN][????????...?????]
Lost login:

16 - Il y a ces points d'interrogation car le driver ADSL a disparu, mais on peut se logger en root

Code:

root
Password: votre_mot_de_passe

    _   __           ________  ____ _  __
   / | / /__  __  __/ __/ __ )/ __ \ |/ /
  /  |/ / _ \/ / / / /_/ __  / / / /   / 
 / /|  /  __/ /_/ / __/ /_/ / /_/ /   |
/_/ |_/\___/\__,_/_/ /_____/\____/_/|_|

                   Trio4 Project By Efixo
N9UF Box Version : Trio_4D
Version : 1.3.11
Build Date : 070806_1526
Kernel Version : linux 2.6.8.1 on mips cpu
[root@Lost ~]

17 - A ce stade on est dans la place et l'accès en telnet sur le port 1287 est aussi possible. Il ne reste qu’à faire un xupgrade (puisqu'on a renommé le programme upgrade afin d'interdire son emploi automatique et garder le contrôle des mises à jour) pour charger en FLASH le firmware RESCUE puis le driver ADSL. Il est nécessaire (curieux) de reconnecter le serveur tftp sur le port PCx

Code:

[root@Lost /bin] ./xupgrade --rootpath 192.168.1.20 --rescue_fskernel NB4-R1.3.4-RESCUE
[root@Lost /bin] 
[root@Lost /bin] flashing rescue fskernel...

[flash] write @BE600000 length 1143434

flashing rescue fskernel ok!
[root@Lost /bin] ./xupgrade --rootpath 192.168.1.20 --adsl_driver NB4-A2pB022p
[root@Lost /bin] 
[root@Lost /bin] flashing adsl firmware...

[flash] write @BE780000 length 458752

flashing adsl firmware ok!

18 – La NB4 se relance automatiquement, et la procédure de boot se termine par :

Code:

Starting pid 1180, console /dev/ttyS0: '/bin/login'
[NB4-SER-r0][NB4-R1.3.99-MAIN][NB4-A2pB022b]
Lost login:

A vous de jouez maintenant !

Dernière modification par cuagn (10/11/2007 07:58:02)


Windows 7 /Debian 8
plus un tas d'autres...

Hors ligne

 

#2 17/10/2007 20:41:12

SGDA
Pachyderme
Lieu: 95170
Date d'inscription: 28/08/2007
Messages: 8130

Re: Flasher une image en 18 étapes

je conseillerai de modifier /bin/upgrade en /bin/xupgrade pour éviter une mise à jour intempestive de la box

Dernière modification par SGDA (17/10/2007 21:36:56)


XP Pro/Fedora 19 (Schrödinger's cat)

Hors ligne

 

#3 17/10/2007 22:19:53

cuagn
(de nouveau out...)
Lieu: 84210 - Pernes les Fontaines
Date d'inscription: 30/08/2007
Messages: 2441
Site web

Re: Flasher une image en 18 étapes

J'avais noté et la version finale de la procédure me semble maintenant complète.
Merci

Dernière modification par cuagn (18/10/2007 13:57:39)


Windows 7 /Debian 8
plus un tas d'autres...

Hors ligne

 

#4 18/10/2007 14:51:00

y3t1
Moddeur newbie
Date d'inscription: 30/09/2007
Messages: 11

Re: Flasher une image en 18 étapes

Bonjour,

j'ai deux questions:

1/ malgré les 4 fichiers "augmentés" de 1 octet (en fait un 0), la NB4 est bien fonctionnelle?

2/ pour reflasher, ne peut-on pas utiliser la procédure donnée dans le wiki ?
http://www.neufbox4.org/wiki/index.php? … n_firmware


Vincent

Hors ligne

 

#5 18/10/2007 15:49:50

cuagn
(de nouveau out...)
Lieu: 84210 - Pernes les Fontaines
Date d'inscription: 30/08/2007
Messages: 2441
Site web

Re: Flasher une image en 18 étapes

Question 1: je ne peux pas répondre plus que ce que j'ai déjà dit dans le forum. Les fichiers n'étant pas identiques, il y a doute. Et comme je (on ?) ne connais pas les fonctions qui les utilisent il faut rester prudent.
Pour mes tests, j'utilise une NB4 perso (qui m'appartient, pas à Neuf) connecté au réseau "CEGETEL" (mon contrat est un vieux contrat CEGETEL). La téléphonie n'est donc pas disponible. Les fonctions de base marchent...

Question 2: Il faut faire attention à certaines infos du WIKI non réellement validées (le WIKI est un peu un cahier de laboratoire aussi ...). Quoi qu'il en soit, je n'ai pas réussi à faire fonctionner la manip indiquée.
Je ne perçois pas "a priori" la relation entre une demande FTTH et la mise à jour du firmware sur le port PC3...et de plus la config du dnsmasq donne des erreurs sur les lignes

Code:

enable-tftp
tftp-root=/tftpboot/

J'ai donc utilisé l'autre méthode qui nécessite un port série, et donc un peu de bricolage HW, alors que la méthode WIKI (si elle marche) laisse la NB4 inviolée au plan HW.
Il serait interessant de savoir
si quelqu'un est parvenu à s'en servir avec succès.

Dernière modification par cuagn (18/10/2007 15:59:09)


Windows 7 /Debian 8
plus un tas d'autres...

Hors ligne

 

#6 18/10/2007 20:40:50

SGDA
Pachyderme
Lieu: 95170
Date d'inscription: 28/08/2007
Messages: 8130

Re: Flasher une image en 18 étapes

à l'étape 5, je conseille d'effacer toutes les directories .svn disséminées dans le fs
cela diminue le nombre de fichiers et évite d'avoir un
Number of duplicate files found

Ces fichiers ne peuvent être fonctionnels

J'ai voulu essayer la méthode en passant en ffth..mais sous windows je n'ai pas trouvé de solution

Dernière modification par SGDA (18/10/2007 20:41:49)


XP Pro/Fedora 19 (Schrödinger's cat)

Hors ligne

 

#7 18/10/2007 21:16:57

cuagn
(de nouveau out...)
Lieu: 84210 - Pernes les Fontaines
Date d'inscription: 30/08/2007
Messages: 2441
Site web

Re: Flasher une image en 18 étapes

Tu as raison, j'avais oublié.

Oubli corrigé.

Dernière modification par cuagn (18/10/2007 21:17:21)


Windows 7 /Debian 8
plus un tas d'autres...

Hors ligne

 

#8 18/10/2007 21:32:36

SGDA
Pachyderme
Lieu: 95170
Date d'inscription: 28/08/2007
Messages: 8130

Re: Flasher une image en 18 étapes

Indispensable !! (unsquash35.py ne le crée pas me semble-t-il..donc vérifier)
il faut recréer le fichier dev/initctl avec les commandes (à partir de la racine du fs)
mknod dev/initctl p
chmod 600 dev/initctl


XP Pro/Fedora 19 (Schrödinger's cat)

Hors ligne

 

#9 18/10/2007 22:25:55

y3t1
Moddeur newbie
Date d'inscription: 30/09/2007
Messages: 11

Re: Flasher une image en 18 étapes

Je viens d'installer dnsmasq sur ma gentoo:
USE="tftp" emerge dnsmasq

Le fichier de config donné dans le wiki passe bien
(/etc/init.d/dnsmasq start OK)

reste à voir si la NB4 fait bien une requête dhcp/tftp sur PC3 en mode FTTH...

Je teste ça dès que j'ai le temps, à suivre...

Vincent

Hors ligne

 

#10 19/10/2007 17:49:41

cuagn
(de nouveau out...)
Lieu: 84210 - Pernes les Fontaines
Date d'inscription: 30/08/2007
Messages: 2441
Site web

Re: Flasher une image en 18 étapes

Bons tests via FTTH

Concernant initctl, je ne suis pas chez moi pendant plusieurs semaines, je ne peux pas vérifier...

Il n'est pas créé. J'ai donc modifié l'étape 5

Dernière modification par cuagn (21/10/2007 18:21:53)


Windows 7 /Debian 8
plus un tas d'autres...

Hors ligne

 

#11 27/10/2007 17:39:19

Ptitdic
Moddeur bidouilleur
Date d'inscription: 11/09/2007
Messages: 82

Re: Flasher une image en 18 étapes

Je peux vous dire que ca flash par FTTH et une NB4 de plantée une.

Mon mkSquashfs a merdé j'ai pourtant recopié la ligne de commande donné dans le récapitulatif.

Quelqu'un sais comment forcer la NB4 a booter sur le firmware de secour?

Dernière modification par Ptitdic (27/10/2007 19:35:05)


XP pro x64 / Win 2K / Kunbuntu 7.10[Athlon 800Mhz]

Hors ligne

 

#12 27/10/2007 19:11:40

SGDA
Pachyderme
Lieu: 95170
Date d'inscription: 28/08/2007
Messages: 8130

Re: Flasher une image en 18 étapes

tu vas sous CFE
et (de tête) il ya le dernier paramètre à mettre à 1 au lieu d'auto
désolé mais en déplacement donc peu d'aide
sinon si tu es sous CFE tu fais un flashimage du firmware courant

Il ne faut utiliser le mksquash d'efixo !!!

Dernière modification par SGDA (27/10/2007 19:12:25)


XP Pro/Fedora 19 (Schrödinger's cat)

Hors ligne

 

#13 28/10/2007 02:23:57

Ptitdic
Moddeur bidouilleur
Date d'inscription: 11/09/2007
Messages: 82

Re: Flasher une image en 18 étapes

Ok je verrais ca demain si j'ai le temps, la je viens juste de finir mon cable et il est operationnel je vois que la box fait un kernel panic suite a mon flashage avec la methode FTTH. Ce qui parrait normal puisque le rootfs est completement faux.

Aller il est 3h23, je n'ai plus envie de reflechir wink


XP pro x64 / Win 2K / Kunbuntu 7.10[Athlon 800Mhz]

Hors ligne

 

#14 28/10/2007 07:34:23

cuagn
(de nouveau out...)
Lieu: 84210 - Pernes les Fontaines
Date d'inscription: 30/08/2007
Messages: 2441
Site web

Re: Flasher une image en 18 étapes

Conclusion provisoire : n'utiliser que la méthode CFE...
smile


Windows 7 /Debian 8
plus un tas d'autres...

Hors ligne

 

#15 28/10/2007 09:50:28

Ptitdic
Moddeur bidouilleur
Date d'inscription: 11/09/2007
Messages: 82

Re: Flasher une image en 18 étapes

Autre conclusion provisoire, toujours vérifier ce que vous faite (ce que je n'ai pas fait),
Et il est préférable d'avoir un cable série en cas de bêtise smile

Je n'ai toujours pas compris ou j'ai merdé dans la commande mksquashfs, la seule chose que je sais c'est que si j'avais utilisé CFE ca aurait donné le même résultat sad.

Dernière modification par Ptitdic (28/10/2007 10:03:46)


XP pro x64 / Win 2K / Kunbuntu 7.10[Athlon 800Mhz]

Hors ligne

 

#16 28/10/2007 10:45:24

Ptitdic
Moddeur bidouilleur
Date d'inscription: 11/09/2007
Messages: 82

Re: Flasher une image en 18 étapes

Je viens d'observer un peu plus attentivement les traces via le cable série, et il semble que finallement la box a correctement booté sur le firmware de rescue.

Je croyais qu'elle était plantée car a première vu le firmware de rescue n'a pas le même fonctionnement que le firmware normal.
=> pas de serveur DHCP

Mais si je regarde viens le port serie je vois qu'un client dhcp est lancé :

+ifconfig eth1 hw ether 00:17:33:4E:1C:5C up
+ifconfig eth1.4 hw ether 00:17:33:4E:1C:5C up
+udhcpc -V neufbox_IN_RESCUE -C -i eth1.4 -s /etc/dhcpc.script

Donc c'est peut etre possible de recuperer l'affaire sans cable serie
info, udhcpc (v0.9.9-pre-efixo) started


XP pro x64 / Win 2K / Kunbuntu 7.10[Athlon 800Mhz]

Hors ligne

 

#17 28/10/2007 20:47:33

SGDA
Pachyderme
Lieu: 95170
Date d'inscription: 28/08/2007
Messages: 8130

Re: Flasher une image en 18 étapes

he oui j'avais oublié après 3 (5) échecs de boot la NB4 bascule sure le rescue


XP Pro/Fedora 19 (Schrödinger's cat)

Hors ligne

 

#18 28/10/2007 21:11:09

y3t1
Moddeur newbie
Date d'inscription: 30/09/2007
Messages: 11

Re: Flasher une image en 18 étapes

Bonsoir,


Je m'étais arrêté juste avant le flashage en mode FTTH, c'est à dire requête dhcp et tftp de la nb4. Je n'avais rien mis dans /tftpboot, donc ça n'a pas été plus loin...

D'autre part, il me semble que le problème vient plus de l'extraction depuis le squashfs d'origine que de la recompression par mksquashfs.
En effet, il y a 4 fichiers qui "gagnent" un octet d'un squashfs à l'autre (avec la méthode d'extraction par le script python), mais en utilisant le module kernel (du site italien mentionné dans le wiki) et le mksquashfs, on n'a plus ce problème (le squashfs résultat est de même taille que l'original).
Le résultat est-il pour autant bootable? Je n'ose pas tenter, de peur d'être privé de net et de téléphone!

Vincent

Hors ligne

 

#19 29/10/2007 09:50:23

SGDA
Pachyderme
Lieu: 95170
Date d'inscription: 28/08/2007
Messages: 8130

Re: Flasher une image en 18 étapes

Peux-tu me rappeler les fichiers qui "gagnent" un octet ? Merci


XP Pro/Fedora 19 (Schrödinger's cat)

Hors ligne

 

#20 29/10/2007 13:40:45

y3t1
Moddeur newbie
Date d'inscription: 30/09/2007
Messages: 11

Re: Flasher une image en 18 étapes

dans /lib/modules/2.6.8.1/extra:
adsldd.ko
event.ko
leds.ko
profile.ko
l'octet en plus à l'air d'être un "0" à la fin...

Hors ligne

 

#21 29/10/2007 17:14:08

cuagn
(de nouveau out...)
Lieu: 84210 - Pernes les Fontaines
Date d'inscription: 30/08/2007
Messages: 2441
Site web

Re: Flasher une image en 18 étapes

Le gain d'un octet n'est pas systématique à chaque étape
fil dans le forum

Plus surprenant j'avais les fichiers suivants :

cuagn a écrit:

Mais plus grave, certains fichiers (toujours les mêmes) de  l’arborescence obtenue gagnent 1 octet à chaque génération !:

V0
-rwxr-xr-x 1 root root   11473 2007-10-11 10:07 event.ko
-rwxr-xr-x 1 root root   18573 2007-10-11 10:07 leds.ko
-rw-r--r-- 1 root root    9497 2007-10-11 10:07 ipt_LOG.ko
-rwxr-xr-x 1 root root   16733 2007-10-11 10:07 pure-mrtginfo
V1
-rwxr-xr-x 1 root root   11474 2007-10-11 10:48 event.ko
-rwxr-xr-x 1 root root   18574 2007-10-11 10:48 leds.ko
-rw-r--r-- 1 root root    9498 2007-10-11 10:48 ipt_LOG.ko
-rwxr-xr-x 1 root root   16734 2007-10-11 10:48 pure-mrtginfo
V2
-rwxr-xr-x 1 root root   11475 2007-10-11 11:14 event.ko
-rwxr-xr-x 1 root root   18575 2007-10-11 11:14 leds.ko
-rw-r--r-- 1 root root    9499 2007-10-11 11:14 ipt_LOG.ko
-rwxr-xr-x 1 root root   16735 2007-10-11 11:14 pure-mrtginfo
V3
-rwxr-xr-x 1 root root   11476 2007-10-11 11:15 event.ko
-rwxr-xr-x 1 root root   18575 2007-10-11 11:15 leds.ko
-rw-r--r-- 1 root root    9500 2007-10-11 11:15 ipt_LOG.ko
-rwxr-xr-x 1 root root   16735 2007-10-11 11:15 pure-mrtginfo

Est-ce le même mksquashfs ?

Dernière modification par cuagn (29/10/2007 17:16:31)


Windows 7 /Debian 8
plus un tas d'autres...

Hors ligne

 

#22 30/10/2007 16:51:10

Ptitdic
Moddeur bidouilleur
Date d'inscription: 11/09/2007
Messages: 82

Re: Flasher une image en 18 étapes

quelqu'un a réussit a utiliser la methode de cuagn avec nb4-concat?

Car moi si je fais simplement un unsquash + mksquashfs du répertoire sans rien modifier, et que je reconstruit un firm avec ca et nb4-concat et ma box plante sad(


XP pro x64 / Win 2K / Kunbuntu 7.10[Athlon 800Mhz]

Hors ligne

 

#23 30/10/2007 17:01:00

SGDA
Pachyderme
Lieu: 95170
Date d'inscription: 28/08/2007
Messages: 8130

Re: Flasher une image en 18 étapes

As-tu essayé de concatener avec
/opt/NB42/NB4/hostTools/bcmImageBuilder --output ./myfirmware --chip 6358 --board "96358VW" --blocksize 64 --cfefile /opt/NB42/NB4/targets/cfe/cfe6358.bin --rootfsfile ./rootfs.img --kernelfile kernel.lz

l'inconvénient est que le champ de version du firmware (à partir octet 142 (octect 0 =1er octect) n'est pas informé.il faut ensuite le faire à la main
1°) editer l'image avec un éditeru hexa et rajouter le nom de la version à paritr octet 142 (NB4-R1.3.12-MAIN par exemple)
2°) sauver l'image
3°) effacer à partir de l'octet 236 (CRCde controle de l'entête) jusqu'à la fin
4°) sauver dans un autre fichier
5°) calculer le CRC32 de ce nouveau fichier puis son complément à 1 (FFFFFFFF - CRC32)
6°) rouvrir le fichier image et taper à partir de l'octet 236 le CRC de contrôle calculé en 5
7) sauver l'image

Bon flashage

L'absence de ce champ n'empêche pas de flasher et de booter...mais c'est pas très jolie sur l'interface html

Dernière modification par SGDA (30/10/2007 17:16:48)


XP Pro/Fedora 19 (Schrödinger's cat)

Hors ligne

 

#24 30/10/2007 17:04:27

Ptitdic
Moddeur bidouilleur
Date d'inscription: 11/09/2007
Messages: 82

Re: Flasher une image en 18 étapes

non ca c'etait prevu pour ce soir smile

Si l'absence du champs version n'empeche pas de booter, je vais m'en passer pour le moment smile

Dernière modification par Ptitdic (30/10/2007 17:05:33)


XP pro x64 / Win 2K / Kunbuntu 7.10[Athlon 800Mhz]

Hors ligne

 

#25 30/10/2007 19:28:13

cuagn
(de nouveau out...)
Lieu: 84210 - Pernes les Fontaines
Date d'inscription: 30/08/2007
Messages: 2441
Site web

Re: Flasher une image en 18 étapes

Ptitdic a écrit:

quelqu'un a réussit a utiliser la methode de cuagn avec nb4-concat?

Car moi si je fais simplement un unsquash + mksquashfs du répertoire sans rien modifier, et que je reconstruit un firm avec ca et nb4-concat et ma box plante sad(

Le nb4-concat marche.
Je l'ai utilisé.

Au demeurant c'est assez bestial (ie trivial, simple) mais très utile pour ne pas reconstruire un header "à la mano".

Le nb4-concat n'est que la fonction inverse de nb4-extract

nb4-extract produit un rootfs et un kernel (plus un header)
nb4-concat produit une image (avec le bon header) à partir d'un rootfs et d'un kernel

Si ça plante c'est que ton aller-retour unsquash/squash altère quelque chose.
Ton fichier rootfs (avant / après) est il identique ?

Dernière modification par cuagn (30/10/2007 19:35:30)


Windows 7 /Debian 8
plus un tas d'autres...

Hors ligne

 

Pied de page des forums