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.

6 réponses

1 2
Avatar
TiChou
Dans le message <news:4297cbec$0$1247$,
*Julien Nizzoli* tapota sur f.c.o.l.configuration :


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.


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.


Il faut savoir que si on a un système avec plusieurs partitions (/tmp, /usr,
/var, /opt et /home) alors une taille de 100 à 200Mo pour la partition
racine / suffit amplement !
Sur tous mes systèmes, la partition racine / fait 150Mo et a un taux
d'occupation d'environ 50%.

Merci


Pad de quoi.

--
TiChou


Avatar
Julien Nizzoli

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.









Bonjour, en mettant tous dessus, j'ai justement un kernel panic car le

noyau n'arrive pas a monter ma racine


Avatar
Julien Nizzoli


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.

Merci, je vais essayer




Avatar
Julien Nizzoli

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


Comment faire pour appliquer le patch? je ne suis pas sûr.
Dois-je faire :
cat usb-storage-root.patch | patch -p0

Avatar
l'indien
On Fri, 27 May 2005 15:05:22 +0000, Nicolas George wrote:

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.

[...]



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."


Beaucoup plus propre et indépendant de la version du noyau (ie marche
aussi avec les 2.4): faire un petit script de hotplug qui réagit à
l'évènement de détection du disque.
C'est _exactement_ fait pour celà (agir lors de la détection de
matériel), le support hotplug du noyau....
Faire du polling sur /sys est beaucoup plus crade, peut ne pas marcher
(s'il y a deux disques USB branchés, par exemple, ça marchera au mieux
aléatoirement) et ne fonctionne pas avec un noyau 2.4.


Avatar
Julien Nizzoli

Beaucoup plus propre et indépendant de la version du noyau (ie
marcheaussi avec les 2.4): faire un petit script de hotplug qui réagit
àl'évènement de détection du disque.C'est _exactement_ fait pour celà
(agir lors de la détection dematériel), le support hotplug du
noyau....Faire du polling sur /sys est beaucoup plus crade, peut ne
pas marcher(s'il y a deux disques USB branchés, par exemple, ça
marchera au mieuxaléatoirement) et ne fonctionne pas avec un noyau 2.4.


bonsoir,

En ce qui me concerne, j'ai un noyau 2.6 et je n'ai qu'un disque USB.
Mais si votre méthode marche, je suis interéssé et si possible je
souhaiterai que vous me la décrivez plus amplement.

Merci de votre aide à TOUS

1 2