Impossible de booter etch lorsqu'une clé usb est connectée

Le
Guy Roussin
Bonjour,

Je constate un bug (?) lorsqu'il s'agit de booter un Dell
Precision 360 (1 disque scsi) *et* qu'une clé usb est connectée.
En effet, dans ce cas, la clef usb prend le device /dev/sda
à la place du disque scsi qui devient alors /dev/sdb.

Hors grub, fstab, font référence à /dev/sda

Y a t-il une méthode (en dehors de penser à débrancher
la clef usb) pour éviter ce comportement ?

Merci.

--
Guy Roussin
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
didier gaumet
Le #9532171
On Mon, 16 Apr 2007 15:47:23 +0200, Guy Roussin wrote:

Bonjour,

Je constate un bug (?) lorsqu'il s'agit de booter un Dell
Precision 360 (1 disque scsi) *et* qu'une clé usb est connectée.
En effet, dans ce cas, la clef usb prend le device /dev/sda
à la place du disque scsi qui devient alors /dev/sdb.

Hors grub, fstab, ... font référence à /dev/sda ...




Il y a peut-être plus simple mais sinon: écrire une règle udev ?
exemple: http://www.minet.net/spip/spip.php?article147

Merci.





--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Sylvain Sauvage
Le #9532161
François Boisson, lundi 16 avril 2007, 17:48:01 CEST
[...]
Le Mon, 16 Apr 2007 15:47:23 +0200
Guy Roussin
> Bonjour,
>
> Je constate un bug (?) lorsqu'il s'agit de booter un Dell
> Precision 360 (1 disque scsi) *et* qu'une clé usb est connectà ©e.
> En effet, dans ce cas, la clef usb prend le device /dev/sda
> à la place du disque scsi qui devient alors /dev/sdb.
>
> Hors grub, fstab, ... font référence à /dev/sda ...
>
> Y a t-il une méthode (en dehors de penser à débrancher
> la clef usb) pour éviter ce comportement ?
>

Il suffirait qu'il n'y ait pas le module usb-storage sur l'initrd lors
du lancement du noyau. Il suffit de refaire l'initrd dans ce sens. Le
mieux est de faire un noyau adapté à la machine ne nécessi tant aucun
initrd sinon.

Méthode crade de manipulation de l'initrd:
[...]



Autre solution : les labels.

Mettre des labels dans les partitions (p.ex. avec 'tune2fs -L
toto /dev/xxx' pour ext2/3, il y a des commandes du même genre
pour les autres fs (y compris swap)).

Remplacer /dev/xxx par LABEL=toto dans /fstab.

Mettre root=LABEL=toto dans les lignes kernel de grub.

Et en voiture Simone.

--
Sylvain Sauvage
lolo
Le #9532151
j'ai eu un probleme "similaire" aprés l'install de etch : au 1er reboot
grub me dit "error 15".
en cherchant un peu je me rend compte que dans le bios de ma carte mere
(p4p800), dans le menu boot apres l'option "Boot Device Priority", il y
a l'option "Hard Disk Drives" avec une liste de mes disk et le 1er disk
de la liste n'est pas celui ou j'ai fait l'install de etch.
en modifiant cette option le boot ce passe sans probleme!
donc voir dans le bios du dell si cette option existe.
sinon ajouté dans grub une ligne pour le cas ou il y a la clef et
utilisé dans fstab les labels.
mais y a peut etre d'autres choses a changer, a voir.

Le lundi 16 avril 2007 à 20:02 +0200, Sylvain Sauvage a écrit :
François Boisson, lundi 16 avril 2007, 17:48:01 CEST
>[...]
> Le Mon, 16 Apr 2007 15:47:23 +0200
> Guy Roussin >
> > Bonjour,
> >
> > Je constate un bug (?) lorsqu'il s'agit de booter un Dell
> > Precision 360 (1 disque scsi) *et* qu'une clé usb est connectée.
> > En effet, dans ce cas, la clef usb prend le device /dev/sda
> > à la place du disque scsi qui devient alors /dev/sdb.
> >
> > Hors grub, fstab, ... font référence à /dev/sda ...
> >
> > Y a t-il une méthode (en dehors de penser à débrancher
> > la clef usb) pour éviter ce comportement ?
> >
>
> Il suffirait qu'il n'y ait pas le module usb-storage sur l'initrd lors
> du lancement du noyau. Il suffit de refaire l'initrd dans ce sens. Le
> mieux est de faire un noyau adapté à la machine ne nécessitant aucun
> initrd sinon.
>
> Méthode crade de manipulation de l'initrd:
>[...]

Autre solution : les labels.

Mettre des labels dans les partitions (p.ex. avec 'tune2fs -L
toto /dev/xxx' pour ext2/3, il y a des commandes du même genre
pour les autres fs (y compris swap)).

Remplacer /dev/xxx par LABEL=toto dans /fstab.

Mettre root=LABEL=toto dans les lignes kernel de grub.

Et en voiture Simone.





--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
giggz
Le #9532141
Guy Roussin a écrit :
Bonjour,



slt,


Je constate un bug (?) lorsqu'il s'agit de booter un Dell
Precision 360 (1 disque scsi) *et* qu'une clé usb est connectée.
En effet, dans ce cas, la clef usb prend le device /dev/sda
à la place du disque scsi qui devient alors /dev/sdb.

Hors grub, fstab, ... font référence à /dev/sda ...

Y a t-il une méthode (en dehors de penser à débrancher
la clef usb) pour éviter ce comportement ?




Je ne sais pas quelle distrib tu utilises mais maintenant dans sid le
/etc/fstab peut utiliser les uuid relatifs aux partitions, dc plus de pb
en ce qui concerne le montage des partitions (car plus de reférence aux
devices).
pour grub c'est plus délicat. Il sait gérer les uuid mais le noyau ne le
sait pas. Si tu utilises le noyau de la debian avec un initrd je crois
que ça marche car le logiciel gérant l'initrd sait le faire...

je sens que j'ai pas été très clair...désolé il est tard...pour plus de
renseignements tu tapes uuid dans google...

Merci.




de rien
Guillaume


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
François Boisson
Le #9532091
Le Mon, 16 Apr 2007 15:47:23 +0200
Guy Roussin
Bonjour,

Je constate un bug (?) lorsqu'il s'agit de booter un Dell
Precision 360 (1 disque scsi) *et* qu'une clé usb est connectée.
En effet, dans ce cas, la clef usb prend le device /dev/sda
à la place du disque scsi qui devient alors /dev/sdb.

Hors grub, fstab, ... font référence à /dev/sda ...

Y a t-il une méthode (en dehors de penser à débrancher
la clef usb) pour éviter ce comportement ?




Il suffirait qu'il n'y ait pas le module usb-storage sur l'initrd lors
du lancement du noyau. Il suffit de refaire l'initrd dans ce sens. Le
mieux est de faire un noyau adapté à la machine ne nécessitant aucun
initrd sinon.

Méthode crade de manipulation de l'initrd:

# cd /tmp
# mkdir blop
# cd blop
# zcat /boot/initrd<blablaperso> | cpio -i
# # mv /boot/initrd<blablaperso> /boot/initrd.onsaitjamais
# find . | cpio --quiet -o -H newc | gzip -9 > /boot/initrd<blablaperso>




François Boisson


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
didier gaumet
Le #9532071
On Mon, 16 Apr 2007 17:28:01 +0200, Guy Roussin wrote:

Peux t-on écrire une règle générique du genre : je veux mes
disques scsi ou sas en premier puis les usb.
NB: j'ai pour l'instant une bonne 20ène de machines différentes
sous etch équipées de controleurs scsi ou sas différents et je
ne maîtrise pas du tout les modèles de clefs usb dont disposent
les utilisateurs.

J'ai en plus l'impression que le problème surgit très tôt dans la
phase de boot, sans doute lié à :
kernel /boot/vmlinuz-2.6.18-4-686 root=/dev/sda2 ro single
qui se trouve dans /boot/grub/menu.lst
Je me retrouve avec une simple busybox ...

Il faudrait sans doute que le initrd prenne en compte les règles udev ?

Merci.

Guy



Après réflexion, oui on peut écrire des règles udev assez sélectives, mais
non je ne pense pas que ce soit la solution au problème que tu soulèves.
Comme tu le soulignes, ce problème intervient très tôt, lors du démarrage.
Après avoir failli te conseiller de modifier l'ordre de boot dans le BIOS
pour supprimer les périphériques USB, je me suis dit que ça ne servirait
finalement à rien.
La solution qui t'est préconisée par François Boisson me paraît beaucoup
plus pertinente : elle pourrait non seulement te permettre de démarrer tes
machines avec disque SCSI et clé USB connectés simultanément, mais aussi
de fixer l'ordre disques SCSI d'abord puis disques USB ensuite, lorsque
udev prend la main au niveau d'exécution 3.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Guy Roussin
Le #9532061
Peux t-on écrire une règle générique du genre : je ve ux mes
disques scsi ou sas en premier puis les usb.
NB: j'ai pour l'instant une bonne 20ène de machines différentes
sous etch équipées de controleurs scsi ou sas différents e t je
ne maîtrise pas du tout les modèles de clefs usb dont disposent
les utilisateurs.

J'ai en plus l'impression que le problème surgit très tôt dans la
phase de boot, sans doute lié à :
kernel /boot/vmlinuz-2.6.18-4-686 root=/dev/sda2 ro single
qui se trouve dans /boot/grub/menu.lst
Je me retrouve avec une simple busybox ...

Il faudrait sans doute que le initrd prenne en compte les règles ude v ?

Merci.

Guy

didier gaumet a écrit :
On Mon, 16 Apr 2007 15:47:23 +0200, Guy Roussin wrote:

Bonjour,

Je constate un bug (?) lorsqu'il s'agit de booter un Dell
Precision 360 (1 disque scsi) *et* qu'une clé usb est connecté e.
En effet, dans ce cas, la clef usb prend le device /dev/sda
à la place du disque scsi qui devient alors /dev/sdb.

Hors grub, fstab, ... font référence à /dev/sda ...




Il y a peut-être plus simple mais sinon: écrire une règl e udev ?
exemple: http://www.minet.net/spip/spip.php?article147

Merci.







Guy Roussin
Le #9532011
Bonjour ...
et merci pour toutes les excellentes pistes !

Je répond un peu à tous :
- Le bios des Dell gère effectivement une liste de prise en
compte des disques durs. Le disque SCSI figure bien en 1er
(avant les disques USB).

- L'utilisation de LABEL: j'ai testé et cela marche parfaitement
pour les partitions ext, le swap et grub. Malheureusement, j'ai
sur chacun de mes disques SCSI (ou SAS) une partition NTFS que
je monte en lecture seule et une partition FAT32 que je monte en
lecture/écriture. Et je n'ai pas trouvé la technique pour les
labelliser.

- L'utilisation de l'UUID : j'ai pas encore testé mais ça
semble prometteur (j'ai etch sur les postes). Le fait de
fonctionner avec des images disques pour les install, ne
risque t-il pas de créer des effets de bords (tous les
disques auront le même UUID) ?

- L'utilisation d'un initrd "tuné" en enlevant usb-storage.ko
marche parfaitement ... je crois que je vais adopter cette
technique. J'ai même fait un petit script pour me faciliter
les choses (pas encore trop testé) sur les postes déjà installés.
On peut même imaginer faire cette manip automatiquement après
chaque reconstruction de l'initrd ?

#!/bin/bash
KRELEASE=`uname -r`
pushd /tmp
mkdir blop
if [ ! -f /boot/initrd.img-${KRELEASE}.avant ]; then
cp /boot/initrd.img-${KRELEASE} /boot/initrd.img-${KRELEASE}.avant
fi
zcat /boot/initrd.img-${KRELEASE}.avant | cpio -i
rm ./lib/modules/${KRELEASE}/kernel/drivers/usb/storage/usb-storage.ko
find . | cpio --quiet -o -H newc | gzip -9 > /boot/initrd.img-${KRELEASE}
cd ..
#rm -rf blop
popd

Merci encore.

Guy


Je constate un bug (?) lorsqu'il s'agit de booter un Dell
Precision 360 (1 disque scsi) *et* qu'une clé usb est connectée.
En effet, dans ce cas, la clef usb prend le device /dev/sda
à la place du disque scsi qui devient alors /dev/sdb.

Hors grub, fstab, ... font référence à /dev/sda ...

Y a t-il une méthode (en dehors de penser à débrancher
la clef usb) pour éviter ce comportement ?


Guy Roussin
Le #9531991
Désolé pour l'oubli d'une ligne dans le script ...

#!/bin/bash
KRELEASE=`uname -r`
pushd /tmp
mkdir blop


cd blop
if [ ! -f /boot/initrd.img-${KRELEASE}.avant ]; then
cp /boot/initrd.img-${KRELEASE} /boot/initrd.img-${KRELEASE}.avant
fi
zcat /boot/initrd.img-${KRELEASE}.avant | cpio -i
rm ./lib/modules/${KRELEASE}/kernel/drivers/usb/storage/usb-storage.ko
find . | cpio --quiet -o -H newc | gzip -9 > /boot/initrd.img-${KRELEAS E}
cd ..
#rm -rf blop
popd


Publicité
Poster une réponse
Anonyme