Une situation critique pendant ma migration NAS → Debian : le boot syslinux échoue, le NAS tombe en mode Tech Support qui me donne un shell BusyBox sur la console série. C’est mon seul accès au système.
J’ai besoin de modifier syslinux.cfg du flash interne et d’y ajouter chain.c32 (un module syslinux). Le fichier chain.c32 est sur mon laptop. Il faut le transférer au NAS.
# wget http://192.168.1.177:9999/chain.c32 -O /mnt/chain.c32
wget: cannot connect to remote host (192.168.1.177): Network is unreachable
Pas de réseau. ifconfig eth0 :
eth0: error fetching interface information: Device not found
Le BusyBox de récupération n’a pas chargé les drivers Ethernet. /sys/class/net/ ne contient que lo, bond0, tunl0. Pas d’interface physique.
Le kernel recovery est un Linux 2.6.31 (2009) compilé avec un set minimal de drivers, sans le NIC du NAS. Pas de modprobe r8169 possible non plus (modules pas dispos sur le flash).
Le détour par la clé USB intermédiaire
Solution : transférer chain.c32 via la clé USB recovery elle-même.
- Le NAS booté en recovery a la clé USB recovery branchée (pour le boot)
- La clé est en FAT32, lisible par BusyBox 2.6
- Une fois bootée, la clé est éjectée logiquement mais physiquement encore là
- Je la débranche du NAS, la branche sur le PC
- Je copie
chain.c32dessus - Je rebranche la clé sur un autre port USB du NAS (port arrière, le frontal reste pour la clé recovery au prochain boot)
- Le shell BusyBox détecte le hot-plug, mais le device node n’est pas créé automatiquement (pas d’udev)
mknod /dev/sdd b 8 48pour créer le node manuellementmount /dev/sdd /mnt2(la clé est en filesystem direct, pas de partition)cp /mnt2/chain.c32 /mnt/chain.c32→ fichier sur le flash interne ✓
Lessons learned
- Vérifier les drivers NIC du kernel de recovery avant de compter sur un transfert réseau. Sur les firmwares embedded vieux, le réseau est parfois absent.
- Le hot-plug USB ne crée pas toujours le device node sur des BusyBox sans mdev/udev.
mknod /dev/sdX b 8 <N*16>est ton ami. - Une clé USB FAT32 vide dans la trousse à outils du sysadmin est plus utile qu’une clé Linux ext4 — les vieux kernels ne lisent pas toujours ext4 64bit.
/proc/partitionsmontre les devices détectés par le kernel, même si/dev/ne les a pas encore. Usage : créer manuellement les nodes en se basant sur les majors/minors.- Garder une clé USB de boot recovery préparée pour chaque vieux NAS / appliance — utilisable comme bridge de transfert de fichiers en mode dégradé.