Forum Linux.général Boot sur clef USB - Détection de clef USB

Posté par  .
Étiquettes : aucune
0
21
août
2007
Bonjour a tous !
Nous sommes en possession d'un adaptateur Multicard USB nous permettant de connecter une carte Compact Flash sur le port USB.
Le BIOS de notre carte mère reconnait cet adaptateur de sorte que nous pouvons booter dessus, au meme titre qu'une clef usb standard (la compact flash est reconnue comme une clef USB : /dev/sdb).
Nous avons également un adpatateur Compact Flash -> IDE nous permettant de faire reconnaitre la carte compact flash comme un disque dur IDE.
Nous avons installé une distribution Red Hat 7.1 sur la compact Flash à l'aide de l'adaptateur IDE (/dev/hda) et nous avons utilisé un noyau 2.4.30 complet (AUCUN MODULE : support USB-EHCI, USB Storage, SCSI, ... COMPILES DIRECTEMENT DANS LE NOYAU).
Notre noyau a été patché avec le patch classique USBboot-2422.patch (dont nous n'avons normalement pas besoin puisque sont but est de laisser le temps au systeme de charger les modules USB lorsqu'il essaie de monter le systeme de fichier root). Ce patch joue le même role que le initrd qui est recommandé sur beaucoup de sites web pour charger les modules necessaires à la reconnaissance des clefs usb au boot.
Nous avons configuré lilo pour qu'il présente la possibilité de démarrer un noyau sur /dev/sdb1 (boot via l'adaptateur USB) ou sur /dev/hda1 (boot via l'adaptateur IDE).

Le problème que nous rencontrons est le suivant :
Si l'on démarre le système avec une clef usb connectée sur un port USB, elle n'est pas reconnue (/dev/sdb n'existe pas). Il faut la débrancher puis la rebrancher pour que le noyau la détecte (trace dans dmesg).
Du coup, lorsqu'on boote via l'adaptateur USB, il faut débrancher la clef lorsque le kernel affiche en boucle le message "VFS : cannot open root device ..., retrying in 1 second." (message du au patch, sans ce patch USB-boot, on obtient un beau kernel panic !). On rebranche alors la clef, le noyau la reconnait, lui affecte le device /dev/sdb et le démarrage du système se poursuit sans erreurs.

Ma question est la suivante : y a-t-il moyen de forcer le noyau a rescanner le bus scsi pour forcer l'énumération des péréphiques USB déjà connectés lors du boot du système ? Ainsi, cela supprimerait le débranchement/rebranchement de la clef que nous sommes obligés d'effectuer aujourd'hui lors du boot.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.