Sur un BIOS PC standard, on entre dans le Setup, on définit « Boot Device Priority : 1st = SATA disk », on save, et le BIOS boote sur le SATA. Logique, simple, fonctionne partout.
Sur le ReadyNAS Ultra 2 que je migre vers Debian, j’ai pu accéder au BIOS Setup via console série (un AMIBIOS 8.00.16 standard). J’ai configuré soigneusement :
- Hard Disk Drives : 1st Drive = SATA:PM-WDC WD20EA (mon disque Debian)
- Boot Device Priority : 1st Boot Device = SATA:PM-WDC WD20EA
- Save Changes and Exit → confirmé OK
Reboot. La date est conservée (pile CMOS OK). Mais à la place du GRUB Debian attendu, je vois…
SYSLINUX 3.31 v1.07 Tue Feb 15 11:31:02 PST 2011
Le NAS a booté le flash interne (un mini USB 122 Mo soudé sur la carte mère qui contient le bootloader Netgear), exactement comme avant ma config. Plusieurs cycles power, vérification dans le BIOS que la config est bien sauvegardée → oui, 1st = SATA:PM, et pourtant le boot suit le flash interne.
Après recherche dans les forums :
Le ReadyNAS Ultra 2 boote toujours son flash interne en premier, peu importe les Boot Device Priority settings. C’est du firmware-level, pas du BIOS. Le constructeur a câblé cette priorité directement.
Solution officielle : modifier syslinux.cfg sur le flash interne pour faire un LOCALBOOT 0x80 qui rend la main au BIOS, qui charge alors le 2e boot device = SATA. Une chaîne flash → syslinux → LOCALBOOT → BIOS → SATA → GRUB → Debian.
Lessons learned
- Le BIOS Setup ne contrôle pas tout. Les NAS embedded peuvent avoir un firmware-level boot priority qui override le BIOS.
- « USB:SMI USB DISK » dans la liste des disques = c’est probablement un module flash interne, pas une clé USB amovible. Ne pas le retirer du Boot Device Priority sans plan de chainload.
LOCALBOOT 0x80est le sésame syslinux pour redonner la main au BIOS et chainloader vers le disque physique suivant.- Toujours sauvegarder le firmware d’origine avant de toucher à un flash interne — on peut le brancher sur un PC pour modifier
syslinux.cfgsi nécessaire.