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

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

10 réponses

1 2 3
Avatar
fdelente
J'ai retesté, au boot je vois :

Loading Test........ ...................................................

mais pas de loading initrd... bizarre ?

ensuite le kernel boote, à la fin j'ai les messages comme quoi les ports USB
sont reconnus, puis un message que j'ai rajouté dans init comme quoi il y a
une temporisation. Pendant la tempo, je vois apparaître

scsi 4:0:0:0: Direct Access Fujitsu MPB3064ATUE
sd 4:0:0:0: [sdc] 12672450 blocks drive
sdc: sdc1
sd 4:0:0:0: [sdc] Attached SCSI disk
sd 4:0:0:0: Attached SCSI generic sg2 type 0
ERROR: No /sbin/init found on rootdev (or not mounted). Trouble ahead.
Kernel panic - not syncing: Attempted to kill init!

donc le DD externe est vu mais pas monté ? Pourtant dans lilo.conf, j'ai bien

root=/dev/sdc1

et dans fstab j'ai

/dev/sdc1 / ext3 1 1

Alors ?

--
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
Kevin Denis
Le 2008-01-23, ecrivit:
Loading Test........ ...................................................

mais pas de loading initrd... bizarre ?

ensuite le kernel boote, à la fin j'ai les messages comme quoi les ports USB
sont reconnus, puis un message que j'ai rajouté dans init comme quoi il y a
une temporisation. Pendant la tempo, je vois apparaître

scsi 4:0:0:0: Direct Access Fujitsu MPB3064ATUE
sd 4:0:0:0: [sdc] 12672450 blocks drive
sdc: sdc1
sd 4:0:0:0: [sdc] Attached SCSI disk
sd 4:0:0:0: Attached SCSI generic sg2 type 0


c'est bon.

ERROR: No /sbin/init found on rootdev (or not mounted). Trouble ahead.
Kernel panic - not syncing: Attempted to kill init!

donc le DD externe est vu mais pas monté ? Pourtant dans lilo.conf, j'ai bien

root=/dev/sdc1

et dans fstab j'ai

/dev/sdc1 / ext3 1 1

Alors ?

Et dans /rootdev et /rootfs de l'initramfs ?

Car la derniere ligne d'init doit ressembler a
mount -t $rootfs $rootdev blablabla
--
Kevin

Avatar
fdelente
Kevin Denis wrote:
c'est bon.


C'est déjà ça :^)

Et dans /rootdev et /rootfs de l'initramfs ?
Car la derniere ligne d'init doit ressembler a
mount -t $rootfs $rootdev blablabla


Oui, donc j'ai mis "/dev/sdc1" dans /boot/initrd-tree/rootdev et "ext3" dans
/boot/initrd-tree/rootfs.

J'ai aussi recopié /etc/fstab dans /boot/initrd-tree/etc car une fois il
s'est plaint qu'il ne trouvait pas /etc/fstab.

J'ai eu aussi une fois "can't mount /dev/sdc1 on /mnt", est-ce que c'est
parce que je fais un "mount /dev/sdc1 /mnt" puis "chroot /mnt" pour
travailler sur le disque dur externe lorsque je crée l'initrd ?

À 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
wrote:
J'ai eu aussi une fois "can't mount /dev/sdc1 on /mnt", est-ce que c'est
parce que je fais un "mount /dev/sdc1 /mnt" puis "chroot /mnt" pour
travailler sur le disque dur externe lorsque je crée l'initrd ?


J'ai mis un /bin/ash dans initrd-tree/init, donc j'ai pu tester de monter
/dev/sdc1 sur /mnt à la main; malheureusement, ça ne marche pas, et je ne
sais pas pourquoi...

/dev/sdc1 apparaît bien dans le /proc/partitions de l'initrd; /mnt existe,
est en mode rxwr-xr-x, uid 0 et gid 0; /dev/sdc1 est formattée en ext3, qui
est compilé dans mon noyau...

Qu'est-ce qu'il me manque ?

À 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
Kevin Denis
Le 2008-01-24, ecrivit:
J'ai eu aussi une fois "can't mount /dev/sdc1 on /mnt", est-ce que c'est
parce que je fais un "mount /dev/sdc1 /mnt" puis "chroot /mnt" pour
travailler sur le disque dur externe lorsque je crée l'initrd ?


J'ai mis un /bin/ash dans initrd-tree/init, donc j'ai pu tester de monter
/dev/sdc1 sur /mnt à la main; malheureusement, ça ne marche pas, et je ne
sais pas pourquoi...

Ce qui explique pourquoi ca ne fonctionne pas de maniere automatique.


/dev/sdc1 apparaît bien dans le /proc/partitions de l'initrd; /mnt existe,
est en mode rxwr-xr-x, uid 0 et gid 0; /dev/sdc1 est formattée en ext3, qui
est compilé dans mon noyau...

quel est le message d'erreur?

--
Kevin


Avatar
fdelente
Kevin Denis wrote:
Ce qui explique pourquoi ca ne fonctionne pas de maniere automatique.


Oui, bien sûr :^)

quel est le message d'erreur?


Malheureusement rien de très explicite :

mount: mounting /dev/sdc1 on /mnt failed
ERROR: No /sbin/init found on rootdev (or not mounted). Trouble ahead.

Lorsque je suis dans /bin/ash et que je fais le mount à la main, j'obtiens

GFS2: path_lookup on /dev/sdc1 returned error
GFS2: gfs2 mount does not exist

À 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
wrote:
Lorsque je suis dans /bin/ash et que je fais le mount à la main, j'obtiens

GFS2: path_lookup on /dev/sdc1 returned error
GFS2: gfs2 mount does not exist


Ça c'était avec le noyau de base de la SlAMD64; j'ai recompilé le noyau en
mettant tout dedans (USB, ext3, initramfs) et j'ai retesté. Dans /bin/ash,
je ne peux rien monter du tout : ni /dev/sdc1, ni /dev/sda1, ni /dev/hda1,
que ce soit sur /mnt ou un autre mount-point !

À 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
Kevin Denis
Le 2008-01-24, ecrivit:
Ce qui explique pourquoi ca ne fonctionne pas de maniere automatique.


Oui, bien sûr :^)

quel est le message d'erreur?


Malheureusement rien de très explicite :

mount: mounting /dev/sdc1 on /mnt failed
ERROR: No /sbin/init found on rootdev (or not mounted). Trouble ahead.

Lorsque je suis dans /bin/ash et que je fais le mount à la main, j'obtiens

GFS2: path_lookup on /dev/sdc1 returned error
GFS2: gfs2 mount does not exist

GFS2??

quelle ligne de commande tapes tu?
mount -t ext3 /dev/scd1 /mnt
--
Kevin


Avatar
fdelente
Kevin Denis wrote:
GFS2??
quelle ligne de commande tapes tu?
mount -t ext3 /dev/scd1 /mnt


Oui, c'est cette ligne que je tape, je ne sais pas d'où vient ce GFS2...

Sinon, j'ai résolu mon problème ! :^)

Dans initrd-tree/dev, il fallait que je crée les nodes pour sdc et sdc1...
je n'ai vu ça mentionné nulle part ou presque.

Le mkinitrd -c de la slackware fournit un dev/ vide !

Merci beaucoup de ton aide !

À 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
Kevin Denis
Le 2008-01-24, ecrivit:
GFS2??
quelle ligne de commande tapes tu?
mount -t ext3 /dev/scd1 /mnt


Oui, c'est cette ligne que je tape, je ne sais pas d'où vient ce GFS2...

Sinon, j'ai résolu mon problème ! :^)

Dans initrd-tree/dev, il fallait que je crée les nodes pour sdc et sdc1...
je n'ai vu ça mentionné nulle part ou presque.

Le mkinitrd -c de la slackware fournit un dev/ vide !

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 ?
--
Kevin


1 2 3