Tuto Rapido

De neufbox 4

Tuto Rapido : Petit tutoriel en 6 étapes permettant d'avoir l'accès au shell de la neufbox 4 à partir d'un firmware officiel (récupéré sur les serveurs de sfr ou recompilé par vos soins à partir des sources dev.efixo.net).


Par Vincent Alex


Important : à lire avant toute modification

  • Ne modifiez seulement une neufbox dont vous êtes propriétaire. Il est possible d'en acheter une neuve pour 50 € dans les grandes surfaces (Auchan, Fnac, Boulanger, ...) ou une d'occasion pour moins cher encore.
  • N'appelez la hotline que si vous constatez des dysfonctionnements avec une neufbox d'origine (c'est-à-dire non modifiée et surtout avec un firmware officiel).

Si vous modifiez une neufbox, prenez vos responsabilités. Si vous pensez qu'il y a des problèmes avec votre ligne ADSL, remettez une neufbox d'origine avant d'appeler la hotline.

Merci


Prérequis

Avant de vous lancer dans l'aventure :

  • Une machine Linux ou Mac OS X avec les outils de compilation installés (pour Mac OS X, il suffit d'installer X-Code disponible gratuitement sur le site Apple),
  • Éventuellement un serveur TFTP actif (pour Mac OS X, installez TftpServer),
  • Windows avec Machine Virtuelle + Ubuntu (e.g. WMVare player, WM->Setting->Network adapter :[x] bridged [x] Replicate physical network),
  • Bonnes connaissances Linux car tout n'est pas détaillé à 100%

Limitations et Compatibilité

La procédure indiquée ne marche pas avec le FW 3.2.9 de la NB4. nb4-unsquash est incompatible

./nb4-unsquash -d root-fs NB4-ROOTFS
Filesystem on NB4-ROOTFS is (4:0), which is a later filesystem version than I support!

Il sera nécessaire de l'adapter avec une autre version unsqash d'openwrt

Etape 1 : Préparation outils nécessaires

/!\ gna! est fermé depuis 2017!

Récupération depuis le dépot de FHO Corp :

mkdir openbox4
cd openbox4
git clone https://git.fhocorp.com/Openbox4/openbox4-tools .
...

Récupération source des outils depuis le dépot gna.

mkdir openbox4
cd openbox4
svn co svn://svn.gna.org/openbox4/trunk/ .
...

Nous allons compiler les outils compatibles avec les firmwares 2.x.
Compilation :

cd firmware_2.x/tools/nb4-extract
make
cd ../nb4-squashfs
make
cd ../nb4-concat
make

Pour le firmware 3.x, les outils squash sont dans l'archive http://downloads.openwrt.org/backfire/10.03.1/brcm63xx/OpenWrt-SDK-brcm63xx-for-Linux-i686-gcc-4.3.3+cs_uClibc-0.9.30.1.tar.bz2 (tout prêt en i686 :-). Pour ceux qui sont en x86_64, il faudra se le recompiler (cf Tuto_Rapido_NB6.

Nous avons maintenant les 4 outils qui seront utilisés par la suite :

  • nb4-extract : openbox4/firmware_2.x/tools/nb4-extract/nb4-extract
  • nb4-unsquash : openbox4/firmware_2.x/tools/nb4-squashfs/nb4-unsquash
  • nb4-mksquash : openbox4/firmware_2.x/tools/nb4-squashfs/nb4-mksquash
  • nb4-concat : openbox4/firmware_2.x/tools/nb4-concat/nb4-concat

ou

  • nb4-extract : openbox4/firmware_3.x/tools/nb46-extract/nb4-extract
  • nb4-concat : openbox4/firmware_3.x/tools/nb46-concat/nb4-concat
  • unsquashfs4
  • mksquashfs4

Il est possible qu'une erreur survienne lors de la compilation ou du build de squashfs. Vous trouverez des informations sur la page Zlib

Etape 2 : Récupération firmware

Récupération des firmwares sur les serveurs SFR.

Depuis le 5 juin 2012, SFR déploie sur ses neufbox4 la version 3.2.5.

EDIT: SFR on effectué une mise à jour de leur serveur donc les liens sont inaccessibles. On utilisera donc le mirroir de fhocorp.


Historique :

  • 05 juin 2012, version 3.2.5
  • 15 novembre 2011, version 3.1.10
  • juillet 2011, version 3.1.7
  • mai 2010, version 2.1.6


Version 2.1.4

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%202.1.4/nb4-2.1.4-R14414.sha256sum

$ curl "http://nb4download.neufbox.neuf.fr/nb4dsl_Version%202.1.4/NB4-MAIN-R2.1.4-R14414" -o NB4-MAIN
$ curl "http://nb4download.neufbox.neuf.fr/nb4dsl_Version%202.1.4/NB4-A2pB024k2" -o NB4-A2pB024k2
$ curl "http://nb4download.neufbox.neuf.fr/nb4dsl_Version%202.1.4/NB4-RESCUE-R2.0.14" -o NB4-RESCUE

Version 2.1.5

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%202.1.5/nb4-2.1.5-R14414.sha256sum

$ curl "http://nb4download.neufbox.neuf.fr/nb4dsl_Version%202.1.5/NB4-MAIN-R2.1.5-R14414" -o NB4-MAIN
$ curl "http://nb4download.neufbox.neuf.fr/nb4dsl_Version%202.1.5/NB4-RESCUE-R2.0.14" -o NB4-RESCUE
$ curl "http://nb4download.neufbox.neuf.fr/nb4dsl_Version%202.1.5/NB4-A2pB024k2" -o NB4-A2pB024k2

Le firmwares de cette version peut être recompilés par vos soins d'après les sources de la neufbox4 mis à disposition par SFR sur le site d'Efixo.

Version 2.1.6

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%202.1.6/nb4-2.1.6-R15488.sha256sum

$ curl "http://nb4download.neufbox.neuf.fr/nb4dsl_Version%202.1.6/NB4-A2pB024k2" -o NB4-A2pB024k2
$ curl "http://nb4download.neufbox.neuf.fr/nb4dsl_Version%202.1.6/NB4-RESCUE-R2.0.14" -o NB4-RESCUE
$ curl "http://nb4download.neufbox.neuf.fr/nb4dsl_Version%202.1.6/NB4-MAIN-R2.1.6-R15488" -o NB4-MAIN

Version 3.1.7

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.1.7/nb4-3.1.7.sha256sum

curl "http://nb4download.neufbox.neuf.fr/nb4dsl_Version%203.1.7/NB4-MAIN-R3.1.7" -o NB4-MAIN-R3.1.7
curl "http://nb4download.neufbox.neuf.fr/nb4dsl_Version%203.1.7/NB4-A2pB024k2" -o NB4-A2pB024k2
curl "http://nb4download.neufbox.neuf.fr/nb4dsl_Version%203.1.7/NB4-RESCUE-R3.1.7" -o NB4-RESCUE-R3.1.7

Version 3.1.7_bis

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Vers%203.1.7_bis/nb4-3.1.7.sha256sum

curl "http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Vers%203.1.7_bis/NB4-MAIN-R3.1.7" -o NB4-MAIN-R3.1.7
curl "http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Vers%203.1.7_bis/NB4-A2pB024k2" -o NB4-A2pB024k2
curl "http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Vers%203.1.7_bis/NB4-RESCUE-R3.1.8" -o NB4-RESCUE-R3.1.8

Version 3.1.10

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.1.10/nb4.3.1.10.sha256sum

8135c86cedead19ba24128030a4010d17e2b5b7244bd1a6ff5514214b75a1d07  NB4-A2pB024k2
f34fcd9f8661034cf27076af9b33e816205bf99c36205a5dcf09e34cfb8dae70  NB4-BOOTLOADER-05
a96d682dd1e3f9fd286a8adcde3991d282e68419cf999182808732d3f8c12db2  NB4-CONFIG-R96.0
9d4de764ad22aa3589fef5cdb608d16d7724ec6c481970edecb5fd99230a17f2  NB4-MAIN-R3.1.10
03ab5a90212b09afc5c10e0104773916ecd121ebd0973a91dd07d4e6c0d981ae  NB4-RESCUE-R3.1.7
4b3bfa455ab74c2637aa447660bc39a18b52ce847a4bccbcbf088e8e562b6aaa  NB4-SEED-R3.1.7

Version 3.1.10_bis

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.1.10_bis/nb4.3.1.10.sha256sum

8135c86cedead19ba24128030a4010d17e2b5b7244bd1a6ff5514214b75a1d07  NB4-A2pB024k2
f34fcd9f8661034cf27076af9b33e816205bf99c36205a5dcf09e34cfb8dae70  NB4-BOOTLOADER-05
f97c28c199707ee026afa5e60d8473308e1a960be95155b809f84a64ab38df53  NB4-CONFIG-R97.0
9d4de764ad22aa3589fef5cdb608d16d7724ec6c481970edecb5fd99230a17f2  NB4-MAIN-R3.1.10
36f427d84db8c2d18d0721cb1824fd8ab2855959c0ed288444346da69ce36f66  NB4-RESCUE-R3.1.8
4b3bfa455ab74c2637aa447660bc39a18b52ce847a4bccbcbf088e8e562b6aaa  NB4-SEED-R3.1.7

Version 3.2.4

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.2.4/nb4-3.2.4.sha256sum

#
# UUID: ca60b262-1f4d-4afa-98ae-b21e7438646c
#
# NB4 3.2.4 sha256sum
#
832d85e30f59893dbc5f5db318dc930c89b5f4596f4666b14b2d58b57bfbe79e  NB4-BOOTLOADER-R1.5.10
926c373ef444c627a2ff18af2d3f56e99895bbcf59b55283b9482c639d110368  NB4-MAIN-R3.2.4
79e3b5f60487b3fae96c5e251c55d3b592f496fdca90d553311581a57345786f  NB4-CONFIG-R101.0
4b3bfa455ab74c2637aa447660bc39a18b52ce847a4bccbcbf088e8e562b6aaa  NB4-SEED-R3.2.4
36f427d84db8c2d18d0721cb1824fd8ab2855959c0ed288444346da69ce36f66  NB4-RESCUE-R3.1.8
8135c86cedead19ba24128030a4010d17e2b5b7244bd1a6ff5514214b75a1d07  NB4-A2pB024k2

Version 3.2.5

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.2.5/nb4-3.2.5.sha256sum

#
# UUID: a5ce4a87-6a4b-4f94-aa3b-4bd264039b26
#
# NB4 3.2.5 sha256sum
#
832d85e30f59893dbc5f5db318dc930c89b5f4596f4666b14b2d58b57bfbe79e  NB4-BOOTLOADER-R1.5.10
69c9886b7587b8ec01f32841ec460ec3cd0768ff3facb01f55dcdb3f6ada5c07  NB4-MAIN-R3.2.5
752011a4b0bf79f81d973a8eb01426d0e7641fc88c01852314f6a3192064bf5b  NB4-CONFIG-R102.0
4b3bfa455ab74c2637aa447660bc39a18b52ce847a4bccbcbf088e8e562b6aaa  NB4-SEED-R3.2.5
357660ba34612758142ad3a4cfd03492172fb1d234a7a4d0ee33622ab3199902  NB4-RESCUE-R3.1.12
8135c86cedead19ba24128030a4010d17e2b5b7244bd1a6ff5514214b75a1d07  NB4-A2pB024k2

Version 3.2.6

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.2.6/nb4-3.2.6.sha256sum

#
# UUID: 8cebb4e7-2d80-44b0-aa23-ae460a08398c
#
# NB4 3.2.6 sha256sum
#
832d85e30f59893dbc5f5db318dc930c89b5f4596f4666b14b2d58b57bfbe79e  NB4-BOOTLOADER-R1.5.10
b4f572d9d6fb5cc7d546c3772cf441420cd19d215b49ad6989de203c4eff0dbe  NB4-MAIN-R3.2.6
752011a4b0bf79f81d973a8eb01426d0e7641fc88c01852314f6a3192064bf5b  NB4-CONFIG-R102.0
4b3bfa455ab74c2637aa447660bc39a18b52ce847a4bccbcbf088e8e562b6aaa  NB4-SEED-R3.2.6
36f427d84db8c2d18d0721cb1824fd8ab2855959c0ed288444346da69ce36f66  NB4-RESCUE-R3.1.8
8135c86cedead19ba24128030a4010d17e2b5b7244bd1a6ff5514214b75a1d07  NB4-A2pB024k2

Version 3.2.7

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.2.7/nb4-3.2.7.sha256sum

#
# UUID: c418cbe8-760c-48f2-8da5-7d38dbadd85f
#
# NB4 3.2.7 sha256sum
#
832d85e30f59893dbc5f5db318dc930c89b5f4596f4666b14b2d58b57bfbe79e  NB4-BOOTLOADER-R1.5.10
46ad1c87f49bef19c8d6e9fc0a83ebd484a500416f82a133ba5e18e64fc040a3  NB4-MAIN-R3.2.7
752011a4b0bf79f81d973a8eb01426d0e7641fc88c01852314f6a3192064bf5b  NB4-CONFIG-R102.0
4b3bfa455ab74c2637aa447660bc39a18b52ce847a4bccbcbf088e8e562b6aaa  NB4-SEED-R3.2.7
357660ba34612758142ad3a4cfd03492172fb1d234a7a4d0ee33622ab3199902  NB4-RESCUE-R3.1.12
8135c86cedead19ba24128030a4010d17e2b5b7244bd1a6ff5514214b75a1d07  NB4-A2pB024k2

Version 3.2.8

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.2.8/nb4-3.2.8.sha256sum

#
# UUID: c418cbe8-760c-48f2-8da5-7d38dbadd85f
#
# NB4 3.2.7 sha256sum
#
752011a4b0bf79f81d973a8eb01426d0e7641fc88c01852314f6a3192064bf5b  NB4-CONFIG-R102.0
56708a101761ce14e34d02138e6833556b9fbfb33ba9db9a75eb7653464992af  NB4-MAIN-R3.2.8
832d85e30f59893dbc5f5db318dc930c89b5f4596f4666b14b2d58b57bfbe79e  NB4-BOOTLOADER-R1.5.10
4b3bfa455ab74c2637aa447660bc39a18b52ce847a4bccbcbf088e8e562b6aaa  NB4-SEED-R3.2.8
357660ba34612758142ad3a4cfd03492172fb1d234a7a4d0ee33622ab3199902  NB4-RESCUE-R3.1.12
8135c86cedead19ba24128030a4010d17e2b5b7244bd1a6ff5514214b75a1d07  NB4-A2pB024k2

Version 3.2.9

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.2.9/nb4-3.2.9.sha256sum

#
# UUID: 54cbda8b-e370-4cfd-ba34-c19d67255438
#
# NB4 3.2.9 sha256sum
#
832d85e30f59893dbc5f5db318dc930c89b5f4596f4666b14b2d58b57bfbe79e  NB4-BOOTLOADER-R1.5.10
8b9ea0201ca0d7612ceec3b6f3e879c6c5c1e46899aceb743b469812a4b7155b  NB4-MAIN-R3.2.9
752011a4b0bf79f81d973a8eb01426d0e7641fc88c01852314f6a3192064bf5b  NB4-CONFIG-R102.0
4b3bfa455ab74c2637aa447660bc39a18b52ce847a4bccbcbf088e8e562b6aaa  NB4-SEED-R3.2.9
357660ba34612758142ad3a4cfd03492172fb1d234a7a4d0ee33622ab3199902  NB4-RESCUE-R3.1.12
8135c86cedead19ba24128030a4010d17e2b5b7244bd1a6ff5514214b75a1d07  NB4-A2pB024k2

Version 3.2.10

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.2.10/nb4-3.2.10.sha256sum

#
# UUID: cac79020-d0d3-4cf2-85c8-561ae1b3970f
#
# NB4 3.2.10 sha256sum
#
832d85e30f59893dbc5f5db318dc930c89b5f4596f4666b14b2d58b57bfbe79e  NB4-BOOTLOADER-R1.5.10
f80b7cec3d76bcd69e89701bd8f2af58d01ad46dc09c8b0e4fc82e0df8371f2f  NB4-MAIN-R3.2.10
5ddb4ebfc5af1c86104bc259bfccac89b91b2033b2cfec53e31e2d32473ac149  NB4-CONFIG-R103.0
4b3bfa455ab74c2637aa447660bc39a18b52ce847a4bccbcbf088e8e562b6aaa  NB4-SEED-R3.2.10
357660ba34612758142ad3a4cfd03492172fb1d234a7a4d0ee33622ab3199902  NB4-RESCUE-R3.1.12
8135c86cedead19ba24128030a4010d17e2b5b7244bd1a6ff5514214b75a1d07  NB4-A2pB024k2

Version 3.2.12

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.2.12/nb4-3.2.12.sha256sum

#
# UUID: ea572820-ab51-4337-a164-21bc470d3f07
#
# NB4 3.2.12 sha256sum
#
491f6ab040910b204f9673e84a12ee886628a1ab2d73c1dd1e77841c663526e1  NB4-ADSL-A2pB024k2
832d85e30f59893dbc5f5db318dc930c89b5f4596f4666b14b2d58b57bfbe79e  NB4-BOOTLOADER-R1.5.10
5ddb4ebfc5af1c86104bc259bfccac89b91b2033b2cfec53e31e2d32473ac149  NB4-CONFIG-R103.0
29a793a418bd5c75fceb3b14415763435718929072d45dd21cd5c1149e205eff  NB4-MAIN-R3.2.12
357660ba34612758142ad3a4cfd03492172fb1d234a7a4d0ee33622ab3199902  NB4-RESCUE-R3.1.12
4b3bfa455ab74c2637aa447660bc39a18b52ce847a4bccbcbf088e8e562b6aaa  NB4-SEED-R3.2.9

Version 3.3.4

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.3.4/nb4-3.3.4.sha256sum

#
# UUID: c8186b48-c0bc-4f60-a845-a058a1b6508b
#
# NB4 3.3.4 sha256sum
#
832d85e30f59893dbc5f5db318dc930c89b5f4596f4666b14b2d58b57bfbe79e  NB4-BOOTLOADER-R1.5.10
ccb9bdbb55d7ef26f960e9f18984382e23303a3cafce14fb587f2d07bdf77de0  NB4-MAIN-R3.3.4
68aacf633dca0535273c8aee17ebe84acb455dec239ec04a21cb37b9b525b7d7  NB4-CONFIG-R3.3.4.0
4b3bfa455ab74c2637aa447660bc39a18b52ce847a4bccbcbf088e8e562b6aaa  NB4-SEED-R3.3.4
705c09b0ca9976658ead5dcae40ad968b8887dab9461820f27754ddd938fafa4  NB4-RESCUE-R3.1.15
d2a3189faceea1d193522bdb327c90da97d0d589e1d0e929c4f36a5f22b1b717  NB4-ADSL-A2pB024k2a

Version 3.3.6

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.3.6/nb4-3.3.6.sha256sum

#
# UUID: 1cdc715c-ab29-4a75-a396-e30455822dbd
#
# NB4 3.3.6 sha256sum
#
832d85e30f59893dbc5f5db318dc930c89b5f4596f4666b14b2d58b57bfbe79e  NB4-BOOTLOADER-R1.5.10
99747f6822d43c25757ead75ed4bd29277a17f856378092c3867c72ff0bbea24  NB4-MAIN-R3.3.6
d184712852490e903783acf098ae3a208dd37ae547def8f8b12a8aa709045ee7  NB4-CONFIG-R3.3.6.0
4b3bfa455ab74c2637aa447660bc39a18b52ce847a4bccbcbf088e8e562b6aaa  NB4-SEED-R3.3.6
705c09b0ca9976658ead5dcae40ad968b8887dab9461820f27754ddd938fafa4  NB4-RESCUE-R3.1.15
d2a3189faceea1d193522bdb327c90da97d0d589e1d0e929c4f36a5f22b1b717  NB4-ADSL-A2pB024k2a

Version 3.3.8

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.3.8/nb4-3.3.8.sha256sum

#
# UUID: e49c66fc-8569-4f12-ad3e-247d326000a8
#
# NB4 3.3.8 sha256sum
#
832d85e30f59893dbc5f5db318dc930c89b5f4596f4666b14b2d58b57bfbe79e  NB4-BOOTLOADER-R1.5.10
8264631575adc92e506fbebccfef73b5a2bdb81d94a6a315ef0de327dbe3ff0a  NB4-MAIN-R3.3.8
2f2f5058a8a7c5e758ce2c839b1da3e62cbc50eeb6fc52e79c041c77315e0fa8  NB4-CONFIG-R3.3.8.0
4b3bfa455ab74c2637aa447660bc39a18b52ce847a4bccbcbf088e8e562b6aaa  NB4-SEED-R3.3.8
705c09b0ca9976658ead5dcae40ad968b8887dab9461820f27754ddd938fafa4  NB4-RESCUE-R3.1.15
d2a3189faceea1d193522bdb327c90da97d0d589e1d0e929c4f36a5f22b1b717  NB4-ADSL-A2pB024k2a

Version 3.3.10

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.3.10/nb4-3.3.10.sha256sum

#
# UUID: 017b381f-d645-4c0d-b421-01ac6d3953d8
#
# NB4 3.3.10 sha256sum
#
832d85e30f59893dbc5f5db318dc930c89b5f4596f4666b14b2d58b57bfbe79e  NB4-BOOTLOADER-R1.5.10
2eb8000c2f51792576b5f07ac9965bd1373e00f4d00f130f6f8c348e67a129e2  NB4-MAIN-R3.3.10
f87ca26c970a02e8626b616dce40e98519eb87b921de23dfc722447cae558c96  NB4-CONFIG-R3.3.10.0
4b3bfa455ab74c2637aa447660bc39a18b52ce847a4bccbcbf088e8e562b6aaa  NB4-SEED-R3.3.10
705c09b0ca9976658ead5dcae40ad968b8887dab9461820f27754ddd938fafa4  NB4-RESCUE-R3.1.15
d2a3189faceea1d193522bdb327c90da97d0d589e1d0e929c4f36a5f22b1b717  NB4-ADSL-A2pB024k2a


soit en accès direct par wget

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.2.9/NB4-BOOTLOADER-R1.5.10

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.2.9/NB4-MAIN-R3.2.9

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.2.9/NB4-CONFIG-R102.0

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.2.9/NB4-RESCUE-R3.1.12

http://nb4ncdn.neufbox.neuf.fr/nb4dsl_Version%203.2.9/NB4-A2pB024k2

Attention: il faut utiliser les outils firmware 3.x pour cette version. Se reporter au Tuto Rapido NB6.

Trois fichiers :

  • NB4-MAIN-Rx.y.z : Firmware principal, celui qui va être modifié
  • NB4-A2pB024k2 : Pilote ADSL (ne sera pas modifié)
  • NB4-RESCUE-Rx.y.z : Firmware de secours (ne sera pas modifié)

Etape 3 : Extraction et décompactage du RootFs

Le RootFs est extrait du firmware principal par nb4-extract. Ensuite, le RootFs est décompacté par l'outil nb4-unsquash.

Extraction

Commandes :

$ nb4-extract NB4-MAIN-R2.1.4-R14414
Taille du firmware 'NB4-MAIN-R2.1.4-R14414' : 5150962 octets
L'ordre des bits n'est pas le même que sur la Neuf Box 4

Signature de l'entête trouvée
----------------------------------------------------------------
[0x00] Signature entête		: 6
[0x04] Infos société		: Broadcom Corporatio
[0x18] Infos supplémentaires	: ver. 2.0
[0x26] ID de la puce		: 6358
[0x2C] ID de la carte		: 96358VW
[0x3C] Ordre des bits		: big endian
[0x3E] Taille de l'image	: 5150706 octets
[0x5E] Adresse du rootfs	: 0xBFD148F2
[0x6A] Taille du rootfs		: 4083712 octets
[0x74] Adresse du kernel	: 0xBFC10100
[0x80] Taille du kernel		: 1066994 octets
[0x8E] Espace réservé		: NB4-MAIN-R2.1.4-R14414
[0xD8] Checksum de l'image	: 0xDCF9191D
[0xDC] Checksum du rootfs	: 0x00000000
[0xE0] Checksum du kernel	: 0x00000000
[0xEC] Checksum de l'entête	: 0xE240B482
----------------------------------------------------------------


Vérification des sommes de contrôle
----------------------------------------------------------------
Checksum de l'image		: 0xDCF9191D [OK]
Checksum du rootfs		: 0xB8E1B14E [non testable]
Checksum du kernel		: 0x6533AE7E [non testable]
Checksum de l'entête		: 0xE240B482 [OK]
----------------------------------------------------------------


Signature SquashFS-LZMA (big endian) trouvée à l'adresse 0x001048F2
----------------------------------------------------------------
Signature 			: 0x71736873
Version SquashFS		: 3.1
Octets utilisés			: 4081997 octets
Date de création		: Wed Jan 20 18:23:48 2010
----------------------------------------------------------------


Informations sur le noyau
----------------------------------------------------------------
Adresse de chargement		: 0x80010000
Adresse d'exécution		: 0x80010000
Taille du noyau compressé	: 1066982 octets [OK]
----------------------------------------------------------------

Fichier NB4-HEADER créé avec succès
Fichier NB4-ROOTFS créé avec succès
Fichier NB4-KERNEL créé avec succès
$

Vérifier que les checksum sont corrects, trois fichiers obtenus :

  • NB4-ROOTFS : Système de fichier au format SquashFS compressé en lzma,
  • NB4-KERNEL : Noyau linux
  • NB4-HEADER : Entête firmware

Décompactage

L'outil nb4-unsquash est utilisé pour décompacter le RootFs.

Commandes : (attention il faut être root ou utiliser un outil du genre fakeroot)

$ ulimit -n 1024
$ nb4-unsquash -d root-fs NB4-ROOTFS 

Le RootFs est extrait dans le répertoire root-fs. Il regroupe toute l'arborescence des fichiers nécessaires au fonctionnement de la neufbox4.

La commande ulimit n'est pas nécessaire sur tous les systèmes, même parfois inexistante. Sur MacOs, elle est nécessaire, afin que nb4-unsquash puisse aller jusqu'au bout (afin de pouvoir ouvrir assez de fichier simultanément).

Etape 4 : Modification RootFs

Modifs fichier etc/passwd et etc/shadow afin d'ajouter un utilisateur avec droits super-utilisateur. Libre à vous de mettre un mot de passe où pas. Mais je conseille vivement d'en mettre un afin d'éviter un grave trou de sécurité dans votre installation.


Important : Afin de ne pas entraver les procédures de diagnostique de SFR en cas d'appel à la hotline (par exemple en cas de problème de synschonisation ADSL avec votre installation), il est demandé de ne pas supprimer, ni modifier, les comptes existants (root, diag, admin, ...). Merci de bien vouloir respecter cette règle.


Recette pour créer un mot de passe chiffré : les mots de passe de la neufbox sont chiffrés avec l'algorithme md5.

Commande (à compléter) :

En utilisant openssl :

$ openssl passwd -1 -salt t._Qdjp8 mot_de_passe

L'option -1 permet de chiffrer le mot de passe avec l'algorithme md5, l'option -salt permet d'ajouter une chaine aléatoire de 8 caractères qui permet d'augmenter la sécurité du chiffrement

En utilisant mkpasswd :

$ mkpasswd -m md5 mode_de_passe wvifumPz


Nota : avec la version 3.x,busybox inclut l'option

CONFIG_BUSYBOX_CONFIG_FEATURE_SECURETTY=y

ce qui interdit à l'utilisateur root (0,0) de se connecter par telnet. Donc l'accès à la neufbox ne sera possible que par ssh. Ssh n'admettant pas d'utilisateur sans mot de passe, l'ajout d'un mot de passe dans /etc/shadow devient donc obligatoire avec la commande (remplacer user par le nom du compte introduit dans /etc/passwd)

ssh neufbox -l user -p 1288


On peut aussi en profiter pour modifier le fichier banner afin d'identifier immédiatement le firmware modifié lors qu'on se connectera dessus en telnet. ( Conseillé afin que SFR sache si c'est un firmawre modifié en cas d'intervention par leurs équipes.) Exemple :

 $ more etc/banner 
   ____                   ____  ____ _  _ __   
  / __ \____  ___  ____  / __ )/ __ \ |/ / /   
 / / / / __ \/ _ \/ __ )/ __  / / / /   / /___ 
/ /_/ / /_/ /  __/ / / / /_/ / /_/ /   |__  _/  
\____/ ____/\___/_/ /_/_____/\____/_/|_| /_/ 
    / / 
   /_/        OpenBox4 Project By NeufBox4.org

 KAMIKAZE (bleeding edge, 15916) -------------------
  * Powered by Efixo (NB4-MAIN-R2.1.6-R15488, 15488)
                   (http://www.efixo.net/gpl/)
  * OpenWrt Base Firmware (http://openwrt.org)
 ---------------------------------------------------
 $

Il est vivement déconseillé de modifier les mots de passe des comptes initiaux. SFR tolérant la présence de neufbox modifiées sur son réseau, on peut, par courtoisie, lui laisser ses accès ouverts

Etape 5 : Compactage RootFs et assemblage firmware

Il s'agit de compacter le RootFs modifié à l'étape 4 et l'assembler avec le kernel, obtenu à l'étape 3, pour constituer un firmware.

Commandes :

$ nb4-mksquash root-fs NB4-ROOTFS-OPEN -be -noappend -all-root -b 65536

$ nb4-concat -r NB4-ROOTFS-OPEN -k ../NB4-KERNEL -a ../NB4-A2pB024k2 -s ../NB4-RESCUE-R2.0.14 -v NB4-MAIN-R2.1.6-R15488 -o NB4-MAIN -e 0x01

Il faut utiliser nb6-concat en 3.1.x

Deux fichiers obtenu :

  • NB4-MAIN : à utiliser avec méthodes CFE ou telnet,
  • NB4-MAIN-FULL : image de 8Mo à utiliser directement avec l'outil nb4-flashimage.py

Remarques :

  • Afin d'éviter que la téléphonie SIP ne fonctionne plus, ou encore éviter une mise à jour automatique du firmware la neufbox (et dans se car l'é"tape 7 est facultative), le nom de la version (option -v de la commande nb4-concat ou nb6-concat) doit être le même que celui déjà installé sur votre neufbox.

Etape 6 : Flashage neufbox4

Différentes méthodes pour flasher votre neufbox4 :

  • Par nb4-flashimage.py (Méthode conseillée) : en utilisant l'image de 8Mo NB4-MAIN-FULL obtenue à l'étape 6.
    root # .flashimage.py eth0 NB4-MAIN-FULL 
  • Par CFE : Nécessite accès CFE par liaison série soudée sur la carte mère de la neubox4 et un serveur tftp actif permettant de télécharger NB4-MAIN
    flashimage 192.168.3.100:NB4-MAIN
    Ou pour les nouvelles versions du CFE
    fm 192.168.3.100:NB4-MAIN
  • Par telnet : avec un accès au shell de la neufbox4 et un serveur tftp actif permettant de télécharger NB4-MAIN
    $ cd /var/tmp && tftp -g -r NB4-MAIN  192.168.3.100 && flashcp -v NB4-MAIN /dev/mtd-main
    Avec les partitions suivantes :
    • /dev/mtd-main --> Pour le MAIN
    • /dev/mtd-rescue --> Pour le RESCUE
    • /dev/mtd-dsldriver --> Pour le driver ADSL
  • Par telnet : avec un accès au shell de la neufbox et l'image copier (via samba ou autre) sur une clef usb connectée
    $ flashcp -v /mnt/sda/sda2/NB4-MAIN /dev/mtd-main
  • Par telnet : avec un accès au shell de la neufbox4 et un serveur HTTP actif permettant de télécharger NB4-MAIN
    $ cd /var/tmp && wget http://ipduserveur/NB4-MAIN && flashcp -v NB4-MAIN /dev/mtd-main

Etape 7 : Inhibition maj automatique (facultatif)

Afin d'éviter la mise à jour automatique du firmware en cas d'update SFR, notamment si vous avez changé le nom du firmware à l'étape 5, il faut saisir les commandes suivantes :

$ nvram set mode debug
$ nvram commit user
$

Pour autoriser de nouveau les mise à jour, il faut faire "nvram set mode" puis "nvram commit user"

Et voila !