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

booter sur un disque dur externe USB

16 réponses
Avatar
Julien Nizzoli
bonjour,

j'écris ce message car depuis quelque temps, j'essaye de mettre mon
linux sur une disque externe.
Malheureusement, je n'ai jamais réussi a booter dessus.
Les plus loin que je suis allé c'est après lilo un kernel panic.

J'ai testé plusieurs possibilité:
1. je met /boot sur mon disque interne et je met le reste sur mon disque
externe (/ swap /home)
2. je recompile le noyau pour mettre en dur dans celui ci l'option
"usb-storage"
3. je fait un mkinitrd pour rajouter rajouter "--preload=ehci-hcd
--preload=usb-storage --preload=scsi_mod --preload=sd_mod"

J'ai essayer ces méthodes séparément puis ensemble, bref j'ai tous
essayé (même changer lilo et mettre grub.
Évidemment à chaque fois je modifié lilo ou grub.


J'espère que vous pouvez m'aider.
Je sais que c'est possible car mandrake a fait une distribution "Disque
externe-Live" qui ce nom globe trotter.
Merci d'avance.


PS: j'ai mandrake 2005, mon ordinateur date de l'année dernière donc ma
carte mère prend en charge le boot sur usb.

10 réponses

1 2
Avatar
Nicolas George
Julien Nizzoli wrote in message
<429735e6$0$3147$:
j'écris ce message car depuis quelque temps, j'essaye de mettre mon
linux sur une disque externe.
Malheureusement, je n'ai jamais réussi a booter dessus.
Les plus loin que je suis allé c'est après lilo un kernel panic.

J'ai testé plusieurs possibilité:
1. je met /boot sur mon disque interne et je met le reste sur mon disque
externe (/ swap /home)


Bon.

2. je recompile le noyau pour mettre en dur dans celui ci l'option
"usb-storage"


Pas très utile.

3. je fait un mkinitrd pour rajouter rajouter "--preload=ehci-hcd
--preload=usb-storage --preload=scsi_mod --preload=sd_mod"


Il faut de toutes façons un initrd. J'explique :

La détection des périphériques USB est asynchrone : il faut quelques
fractions de seconde, voir même quelques secondes depuis les noyaux récents
qui ajoutent exprès un timeout pour la stabilisation, avant le moment où le
noyau voit le disque USB. Largement assez, en tout cas, pour que le noyau
constate que sa racine manque et qu'il panique.

La solution est donc de faire un initrd, et dans les scripts de boot, après
l'installation des modules USB, ajouter une temporisation pour attendre que
les disques soient effectivement détectés. Quelque chose comme :

echo -n "Waiting for USB disk"
while [ ! -e /sys/block/sda ]; do
print -n .
sleep 1
done
echo " Got it."

devrait faire l'affaire (attention à ce que /sys soit monté ; d'autres
critères sont possibles).

Avatar
Clint Clint
salut, la seul que je peux te conseiller est si ton pc peut booter sur le
disque usb, cest de tout mettre dessus parceque la a mon avis tu
complique un peu trop la vie

,Internet a écrit:
bonjour,

j'écris ce message car depuis quelque temps, j'essaye de mettre mon
linux sur une disque externe.
Malheureusement, je n'ai jamais réussi a booter dessus.
Les plus loin que je suis allé c'est après lilo un kernel panic.

J'ai testé plusieurs possibilité:
1. je met /boot sur mon disque interne et je met le reste sur mon disque
externe (/ swap /home)
2. je recompile le noyau pour mettre en dur dans celui ci l'option
"usb-storage"
3. je fait un mkinitrd pour rajouter rajouter "--preload=ehci-hcd
--preload=usb-storage --preload=scsi_mod --preload=sd_mod"

J'ai essayer ces méthodes séparément puis ensemble, bref j'ai tous
essayé (même changer lilo et mettre grub.
Évidemment à chaque fois je modifié lilo ou grub.


J'espère que vous pouvez m'aider.
Je sais que c'est possible car mandrake a fait une distribution "Disque
externe-Live" qui ce nom globe trotter.
Merci d'avance.


PS: j'ai mandrake 2005, mon ordinateur date de l'année dernière donc ma
carte mère prend en charge le boot sur usb.



Avatar
TiChou
Dans le message <news:429735e6$0$3147$,
*Julien Nizzoli* tapota sur f.c.o.l.configuration :

bonjour,


Bonsoir,

j'écris ce message car depuis quelque temps, j'essaye de mettre mon linux
sur une disque externe.
Malheureusement, je n'ai jamais réussi a booter dessus.
Les plus loin que je suis allé c'est après lilo un kernel panic.


[...]

Cela nous dit pas quel est le problème ou plus exactement où se situe le
problème. Un kernel panic, c'est vague. Faudrait nous dire à quel moment
exactement se produit le kernel panic. Même s'il y a fort à parier pour que
le problème évoqué par Nicolas George soit votre problème, il aurait été
judicieux de nous préciser, si tel est le cas, que le kernel panic se
produit au moment de détecter le disque.

Merci d'avance.


Pas de quoi.

--
TiChou

Avatar
Julien Nizzoli

Dans le message <news:429735e6$0$3147$,
*Julien Nizzoli* tapota sur f.c.o.l.configuration :

bonjour,



Bonsoir,

j'écris ce message car depuis quelque temps, j'essaye de mettre mon
linux sur une disque externe.
Malheureusement, je n'ai jamais réussi a booter dessus.
Les plus loin que je suis allé c'est après lilo un kernel panic.



[...]

Cela nous dit pas quel est le problème ou plus exactement où se situe
le problème. Un kernel panic, c'est vague. Faudrait nous dire à quel
moment exactement se produit le kernel panic. Même s'il y a fort à
parier pour que le problème évoqué par Nicolas George soit votre
problème, il aurait été judicieux de nous préciser, si tel est le cas,
que le kernel panic se produit au moment de détecter le disque.

Merci d'avance.



Pas de quoi.

Bonsoir,


Effectivement Nicolas George a cerné le problème (merci, un début
d'espoir ;) ), il y a un kernel panic car le noyau n'arrive pas à
détecter ma partition racine qui est sur le disque externe.

Il faut de toutes façons un initrd. J'explique :

La détection des périphériques USB est asynchrone : il faut quelques
fractions de seconde, voir même quelques secondes depuis les noyaux récents
qui ajoutent exprès un timeout pour la stabilisation, avant le moment où le
noyau voit le disque USB. Largement assez, en tout cas, pour que le noyau
constate que sa racine manque et qu'il panique.

La solution est donc de faire un initrd, et dans les scripts de boot, après
l'installation des modules USB, ajouter une temporisation pour attendre que
les disques soient effectivement détectés. Quelque chose comme :

echo -n "Waiting for USB disk"
while [ ! -e /sys/block/sda ]; do
print -n .
sleep 1
done
echo " Got it."

devrait faire l'affaire (attention à ce que /sys soit monté ; d'autres
critères sont possibles).


J'aimerai savoir comment faire exactement comment on fais car je suis
début sous linux, je m'y intéresse et j'essaye d'apprendre.

devrait faire l'affaire (attention à ce que /sys soit monté ; d'autres
critères sont possibles).


mon /sys est aussi sur le disque externe. Je ne peux pas le mettre
ailleurs car le /sys ne peut pas etre séparer de /.

Merci a vous tous.
Bonne nuit


Avatar
Nicolas George
Julien Nizzoli wrote in message
<4297acd7$0$1227$:
J'aimerai savoir comment faire exactement comment on fais car je suis
début sous linux, je m'y intéresse et j'essaye d'apprendre.


Personnaliser un initrd n'est pas une opération très difficile, mais ce
n'est pa complètement évident non plus. Il vaut mieux être bien familier du
shell et du processus de boot pour se lancer.

En attendant, une solution nettement plus simple serait de mettre une tout
petite partition / sur le disque local. En faisant attention mais sans se
casser la tête, on doit pouvoir se débrouiller pour n'occuper qu'une
vingtaine ou une trentaine de méga-octets avec ça. Tous les gros répertoires
seraient ensuite montés depuis le disque amovible.

Ceci dit, ce serait une bonne idée si les distributions prévoyaient le coup
dans leurs scripts d'initrd.

Avatar
TiChou
Dans le message <news:d78c2u$b8q$,
*Nicolas George* tapota sur f.c.o.l.configuration :

Ceci dit, ce serait une bonne idée si les distributions prévoyaient le
coup dans leurs scripts d'initrd.


Aucune ne le prévoit ? Des retours d'expérience chez certains ?

--
TiChou

Avatar
Julien Nizzoli

Julien Nizzoli wrote in message
<4297acd7$0$1227$:


J'aimerai savoir comment faire exactement comment on fais car je suis
début sous linux, je m'y intéresse et j'essaye d'apprendre.




Personnaliser un initrd n'est pas une opération très difficile, mais ce
n'est pa complètement évident non plus. Il vaut mieux être bien familier du
shell et du processus de boot pour se lancer.

En attendant, une solution nettement plus simple serait de mettre une tout
petite partition / sur le disque local. En faisant attention mais sans se
casser la tête, on doit pouvoir se débrouiller pour n'occuper qu'une
vingtaine ou une trentaine de méga-octets avec ça. Tous les gros répertoires
seraient ensuite montés depuis le disque amovible.

Ceci dit, ce serait une bonne idée si les distributions prévoyaient le coup
dans leurs scripts d'initrd.


C'est ce que j'ai fait j'ai mis sur mon DD interne la partition / (je

lui ai mis 4,5 Go comme ça je ne suis pas embêté) et j'ai mis sur mon DD
usb swap, /tmp /usr /home et /var.
Mais j'aimerai y mettre le maximum et ne laisser que /boot sur le DD
interne.


Merci


Avatar
Emmanuel Florac
Le Sat, 28 May 2005 01:27:25 +0200, Julien Nizzoli a écrit :


devrait faire l'affaire (attention à ce que /sys soit monté ; d'autres
critères sont possibles).


J'aimerai savoir comment faire exactement comment on fais car je suis
début sous linux, je m'y intéresse et j'essaye d'apprendre.


Dans les tests que j'ai fait il faut entre 10 et 20 secondes pour
détecter les disques USB.

--
Si non confectus non reficiat.


Avatar
Emmanuel Florac
Le Sat, 28 May 2005 02:21:08 +0200, TiChou a écrit :


Aucune ne le prévoit ? Des retours d'expérience chez certains ?


La distrib que j'ai tricoté pour mon boulot le fait. Le script linuxrc de
l'initrd permet de booter sur l'usb si on ajoute usb à la ligne de
commande (ou "append usb" dans le lilo.conf), c'est une (grosse)
adaptation du linuxrc de la Knoppix...

Si vous voulez essayer téléchargez le paquet deb sur www.intellique.com
ou ftp.intellique.com (paquet debian qui devrait aller pour sarge ou sid).

--
L'Algérie était au bord du gouffre, aujourd'hui elle a fait un grand pas
en avant.
Aït Ahmed.

Avatar
Nicolas S.

2. je recompile le noyau pour mettre en dur dans celui ci l'option
"usb-storage"



Pas très utile.

3. je fait un mkinitrd pour rajouter rajouter "--preload=ehci-hcd
--preload=usb-storage --preload=scsi_mod --preload=sd_mod"



Il faut de toutes façons un initrd. J'explique :

La détection des périphériques USB est asynchrone : il faut quelques
fractions de seconde, voir même quelques secondes depuis les noyaux récents
qui ajoutent exprès un timeout pour la stabilisation, avant le moment où le
noyau voit le disque USB. Largement assez, en tout cas, pour que le noyau
constate que sa racine manque et qu'il panique.

La solution est donc de faire un initrd, et dans les scripts de boot, après
l'installation des modules USB, ajouter une temporisation pour attendre que
les disques soient effectivement détectés.


*OU* appliquer directement un patch au noyau. Il en existe comme sur ce site:
http://www.lammerts.org/software/kernelpatches/

devrait faire l'affaire (attention à ce que /sys soit monté ; d'autres
critères sont possibles).


L'avantage du patch kernel est que l'on s'affranchi du montage de /sys. Du coup
on met sans problème tout le système sur le disque externe.

Cordialement,
Nicolas S.

--
Il est toujours sympa de laisser un petit message pour expliquer
comment on a réussi à se sortir d'une difficulté.
Cela aide les autres qui pourraient avoir rencontré les mêmes problèmes,
mais aussi les contributeurs. ;-)

E-mail: enlever "-heh" pour m'écrire.


1 2