OVH Cloud OVH Cloud

Booter une slackware 12 sur un disque dur USB externe

27 réponses
Avatar
fdelente
Bonjour.

J'ai installé une slamd64 sur un disque dur IDE 3.5" monté dans un boîtier
USB externe.

L'install s'est bien passée, si je boote avec le CD n°1 de la slamd64 et que
je monte le disque dur, puis que je fais un chroot dessus tout est
accessible.

Par contre, lorsque je veux booter avec ce DD, j'ai un kernel panic car il
est impossible de monter la racine.

J'ai trouvé sur le réseau diverses pages qui préconisent d'utiliser mkinitrd
avec les drivers USB en module, et un sleep de 10 secondes permettant aux
drivers de reconnaître le disque.

Mais ça ne marche toujours pas ! Encore un kernel panic, avec comme message
que quelque chose essaye de tuer /sbin/init.

Les étapes que j'ai suivies :

1°) install de la slamd64 sur le DD USB, pas de problèmes
2°) definir /dev/sdb1 comme root, et /dev/sdb comme disque de boot dans
lilo.conf puis /sbin/lilo
3°) boot sur /dev/sdb -> kernel panic
4°) boot sur le CD de la slamd64, puis monter /dev/sdb1 sur /mnt, puis
chroot /mnt -> j'ai accès au DD externe
5°) je vais dans /boot, je fais

mkinitrd -c

pour partir proprement
6°) je vais dans initrd-tree/, j'édite init pour avoir

sleep 10

après avoir inséré les modules dans le noyau.

7°) toujours dans /boot, je fais

mkinitrd -k 2.6.22.8 -m ehci-hcd:uhci-hcd:ohci-hcd:usb-storage

et un nouveau /boot/initrd.gz est créé.

8°) j'édite lilo.conf, root=/dev/sdb1 et initrd=/boot/initrd.gz, puis
/sbin/lilo

9°) je reboote sur le DD, et encore un kernel panic ! Pourtant après un
petit temps dans la tempo de 10 secondes, je vois apparaître un message qui
me dit que /dev/sdb est bien là.

Une idée ? Merci.

À bientôt.

--
Fabrice DELENTE

SVP, ne m'envoyez pas de pièces jointes aux formats Word, PowerPoint, RTF
(formats propriétaires). Utilisez des formats libres comme txt, html,
OpenOffice.Org ou PDF. Merci. Voir
http://www.gnu.org/philosophy/no-word-attachments.fr.html

7 réponses

1 2 3
Avatar
fdelente
Kevin Denis wrote:
Curieux.

Chez moi, j'ai bien :
:~$ ls /boot/initrd-tree/dev/
console hda1 hdb hdb2 null systty tty2 tty4
hda hda2 hdb1 hdb3 ram tty1 tty3

et le script /sbin/mkinitrd effectue:

SLOPPY_DEV_LIST=$(cat /proc/partitions)
for device in $SLOPPY_DEV_LIST ; do
if [ ! -r $SOURCE_TREE/dev/$device -a -b /dev/$device ]; then
cp -a /dev/$device $SOURCE_TREE/dev
fi
Donc, lorsque tu tapais le chroot /mnt, est ce que tu avais
le /proc/partitions ?


Oui, j'avais bien /proc/partitions avec toutes les partitions de tous mes
disques visibles. Par contre /dev ne contenait que des tty, console,... mais
pas de hd* ou sd*... donc impossible de monter quoi que ce soit !

Je n'ai plus le script de mkinitrd sous les yeux... je regarderai si il crée
quoi que ce soit dans /dev.

À bientôt.

--
Fabrice DELENTE

SVP, ne m'envoyez pas de pièces jointes aux formats Word, PowerPoint, RTF
(formats propriétaires). Utilisez des formats libres comme txt, html,
OpenOffice.Org ou PDF. Merci. Voir
http://www.gnu.org/philosophy/no-word-attachments.fr.html

Avatar
fdelente
SLOPPY_DEV_LIST=$(cat /proc/partitions)
for device in $SLOPPY_DEV_LIST ; do
if [ ! -r $SOURCE_TREE/dev/$device -a -b /dev/$device ]; then
cp -a /dev/$device $SOURCE_TREE/dev
fi


Pour moi cat /proc/partitions donne

major minor #blocks name

8 0 156290904 sda
8 1 1004031 sda1
8 2 6008310 sda2
8 3 149275980 sda3

donc il faudrait un peu de tr, de cut et de sed pour obtenir le nom des
partitions...

À bientôt.

--
Fabrice DELENTE

SVP, ne m'envoyez pas de pièces jointes aux formats Word, PowerPoint, RTF
(formats propriétaires). Utilisez des formats libres comme txt, html,
OpenOffice.Org ou PDF. Merci. Voir
http://www.gnu.org/philosophy/no-word-attachments.fr.html

Avatar
guy
Le Tue, 22 Jan 2008 20:21:37 +0000, fdelente a écrit :
Une idée ? Merci.


http://www.ibm.com/developerworks/linux/library/l-fireboot.html?ca=dgr-
lnxw09FireBoot
cette methode ?

Avatar
fdelente
guy wrote:
http://www.ibm.com/developerworks/linux/library/l-fireboot.html?ca=dgr-lnxw09FireBoot


Oui, j'avais déjà lu cette page, mais elle ne me donnait pas le truc qui m'a
dépanné : dans initrd-tree/dev, créer les nodes pour les disques (/dev/sd*)...

À bientôt.

--
Fabrice DELENTE

SVP, ne m'envoyez pas de pièces jointes aux formats Word, PowerPoint, RTF
(formats propriétaires). Utilisez des formats libres comme txt, html,
OpenOffice.Org ou PDF. Merci. Voir
http://www.gnu.org/philosophy/no-word-attachments.fr.html

Avatar
Hugolino
Le 24 Jan 2008 18:27:07 GMT, a écrit:
guy wrote:
http://www.ibm.com/developerworks/linux/library/l-fireboot.html?ca=dgr-lnxw09FireBoot


Oui, j'avais déjà lu cette page, mais elle ne me donnait pas le truc qui m'a
dépanné : dans initrd-tree/dev, créer les nodes pour les disques (/dev/sd*)...

À bientôt.


Salut,

Est-ce que tu pourrais faire un résumé de ta manip pour avoir un DD
externe USB bootable ?
Ici ou sur un blog quelconque.

J'avais essayé de faire ça il y a plus de deux ans déjà et j'avais les
même problèmes que toi (boot OK, donc à priori le bootloader voit le
disque puisqu'il charge le noyau, puis kernel panic "unable to mount
root fs")

Merci.

--
Quelqu'un ici a dit qu'il y avait une patch pour fider les bugs de RedHat5
sur leur page ( www.redhat.com ) mais j'ai ps trouver ou qqun pourrias me
shooter l'adresse svp?
-+- Psionic in Guide du Linuxien pervers, "Tous drogués !!" -+-


Avatar
fdelente
Hugolino wrote:
Est-ce que tu pourrais faire un résumé de ta manip pour avoir un DD
externe USB bootable ?


Les étapes que j'ai suivies :

1°) booter un CD d'installation d'une distribution, partitionner/formater la
clé, installer la distribution dessus; configurer LILO pour qu'il boote sur
la clé (j'ai installé une slackware, tout ça se fait dans le setup)

2°) une fois sorti du setup, j'étais sous bash; j'ai monté la clé sur /mnt

mount /dev/sdc1 /mnt

puis j'y suis allé

chroot /mnt

3°) d'abord j'ai recompilé le noyau pour que tout (ext3, USB surtout, mais
aussi initramfs et le support d'initrd) soit dedans; j'ai installé ce noyau
à la racine de la clé; cela permet de ne pas avoir à se préoccuper des
modules à installer sur l'initrd. Pour moi l'USB et l'ext3 servent tout le
temps, donc je ne vois pas l'intérêt de les avoir en modules.

4°) ensuite je suis allé dans /boot; j'ai réinitialisé l'initrd

mkinitrd -c -k 2.6.22.8

5°) j'ai édité /boot/initrd-tree/init pour qu'il y ait une temporisation de
10 secondes avant de monter la racine;

6°) dans initrd-tree/rootdev et rootfs, j'ai mis "/dev/sdc1" et "ext3"
(/dev/sdc1 car ma clé est reconnue comme le 3ème disque SATA sur ma machine)

7°) dans initrd-tree/dev, j'ai créé les nodes correspondant aux disques SATA

mknod sda b 8 0
mknod sda1 b 8 1
mknod sda2 b 8 2
mknod sda3 b 8 3
mknod sdb b 8 16
mknod sdb1 b 8 17
mknod sdb2 b 8 18
mknod sdb3 b 8 19
mknod sdc b 8 32
mknod sdc1 b 8 33
mknod sdc2 b 8 34
mknod sdc3 b 8 35

8°) j'ai créé l'initrd

mkinitrd

9°) j'ai modifié lilo.conf pour installer les info de boot sur la clé USB,
et lui indiquer quelle partition est la racine, et quel initrd il faut
utiliser

boot=/dev/sdc
image=/linux
root=/dev/sdc1
label=Linux
initrd=/boot/initrd.gz
read-only

10°) et ça a marché (ouf !)

Une remarque importante à mon goût : le script mkinitrd n'est pas le même
sur la slackware que sur les autres distrib, donc les info trouvées sur le
réseau sont à regarder à 2 fois...

À bientôt.

--
Fabrice DELENTE

SVP, ne m'envoyez pas de pièces jointes aux formats Word, PowerPoint, RTF
(formats propriétaires). Utilisez des formats libres comme txt, html,
OpenOffice.Org ou PDF. Merci. Voir
http://www.gnu.org/philosophy/no-word-attachments.fr.html

Avatar
Hugolino
Le 25 Jan 2008 16:00:38 GMT, a écrit:
Hugolino wrote:
Est-ce que tu pourrais faire un résumé de ta manip pour avoir un DD
externe USB bootable ?


Les étapes que j'ai suivies :

[...]


OK, merci à toi.

Je vais donc retenté l'installation sur dd externe que j'avais foiré il
y a de ça quelques années, et j'écrirais un article sur un blog
quelconque. (en postant son adresse ici)

--
Y'aurait-il un moyen de transformer ma 600CBR en roadster regardable ?
Prends-toi une gamelle dans un rond-point, d'abord à l'entrée, puis

dans le rond-point, tu vires les bouts de carénage, et c'est fait.
Hugo (né il y a 1 380 667 520 secondes)


1 2 3