[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Installation Linux sur Clef USB Flash ?



Le mercredi 7 février 2007 23:14, Laurent Besson a écrit :
> Le Mercredi 7 Février 2007 18:50, Laurent Besson a écrit :
> > > Le truc qui me gène c'est que je n'ai pas de Debian, installée pour
> > > l'instant. Mais je n'ai pas essayé avec ext2 :/
> >
> > Ca a l'air d'être passé !
> > Je X les doigts !
>
> pivot_root: Input/output error
> /sbin/init: 432: cannot open dev/console: No such file
> Kernel panic: Attempted to kill init
Je suppose que c'est le message que vous reçevez lors du boot après le 
chargement de l'initrd.

Il est parfois nécessaire au moment de la création de l'initrd 
(dpkg-reconfigure linux-image-2....) de préciser quelques informations 
complémentaires à mkinitrd et consœurs (initramfs-tools, yaird ou 
linux-initramfs-tool). Par exemple 

La raison est qu'au moment du lancement de mkinitrd, l'environnement est assez 
différent du boot final : environnement chrooté, noyau différent, OS 
sensiblement différent.

PS: Pour ce genre d'installations, je conseille la Knoppix ou Kaella et la 
mise à jours impérative du paquet (c)debootstrap avant pour être au plus 
proche du système cible.
Et avec les knoppix-like, il faut faire attention à ce que certains fichier du 
système cible ne soient pas des liens symboliques vers le CD-ROM (c'est un 
peu moins le cas depuis qu'ils sont passés à UNIONFS).

> Alors que /dev/console existe...
Il est facile de consulter le contenu d'une initrd :
file -z /boot/initrd-.... nous indique le format de fichier, par exemple comme 
j'utilise initramfs-tools --- file donne ASCII cpio archive (SVR4 with no 
CRC) gzip compressed data ---, c'est une archive cpio compressée, donc 
gunzip -c -9 /boot/initrd.img-2.6.18-1-686 | cpio -i -d -H 
newc --no-absolute-filenames en extrait le contenu.

/dev/console doit exister aussi dans l'initrd.

Pour faire simple :
 1) le grub charge le noyau et installe le système de fichier de l'initrd ; 
ensuite il démarre le noyau avec l'initrd comme /
 2) cette dernière charge quelques module essentiels (de quoi voir les disques 
et le système de fichier de root=, usb-... par exemple),
 3) monte la partition root dans un sous-répertoire et appelle « pivot_root » 
pour échanger les deux points de montage puis démonte l'initrd.
 4) le système peut continuer à démarrer normalement.

De ce fait il est essentiel que /dev/console existe dans l'initrd et dans /dev 
(le vrai, pas celui recouvert par devfs qui sera monté plus tard).

Cordialement,
-- 
Eric DÉCORNOD
Ingénieur d'Études
SCICS - Faculté des Sciences
Université Henri Poincaré



Reply to: