Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

9 réponses
Avatar
Guy Roussin
Bonjour,

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

Hors grub, fstab, ... font r=E9f=E9rence =E0 /dev/sda ...

Y a t-il une m=E9thode (en dehors de penser =E0 d=E9brancher
la clef usb) pour =E9viter ce comportement ?

Merci.

--=20
Guy Roussin

9 réponses

Avatar
didier gaumet
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
Avatar
Sylvain Sauvage
François Boisson, lundi 16 avril 2007, 17:48:01 CEST
[...]
Le Mon, 16 Apr 2007 15:47:23 +0200
Guy Roussin a écrit:

> 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
Avatar
lolo
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 a écrit:
>
> > 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
Avatar
giggz
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
Avatar
François Boisson
Le Mon, 16 Apr 2007 15:47:23 +0200
Guy Roussin a écrit:

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
# <recherche de usbstorage.ko et suppression sauvage>
# 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
Avatar
didier gaumet
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
Avatar
Guy Roussin
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.







Avatar
Guy Roussin
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 ?


Avatar
Guy Roussin
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