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

Re: Compilation de kernel



Selon pmenier <patrick@pmenier.dynalias.net>:
 
> "GanGan" <gangan@zalteam.dyndns.org> a écrit dans le message de
> [🔎] 37478.192.168.100.1.1141597972.squirrel@www.zalteam.dyndns.org">news:[🔎] 37478.192.168.100.1.1141597972.squirrel@www.zalteam.dyndns.org...
> Bonsoir à tous,
> 
> Je me suis mis a la compilation mais j'ai quelques problemes
> apres avoir lu quelques tuto sur le sujet je procede comme suit:
> 
> dl du nouveau kernel sur kernel.org
> decompression dans /usr/src
> cat /boot/config-2.6.XX > .conf
> make oldconfig
> make menuconfig (petit changement)
> make bzImage modules modules-install
> cp /arch/i386/boot/bzImage /boot/vmlinuz-2.6.xx
> cp /System.map /boot/System.map-2.6.xx
> modif du menu.lst de grub
> 
> questions comment fait on le initrd.img ? a quoi sert il ? est il essenciel
> ?
> 
> mais j'obtiens l'erreur suivante en bootant sur le kernel fabriqué maison :
> 
> boot
> Uncompressing Linux... Ok, booting the kernel.
> [17179571.788000] wistron_btns: System unknown
> [17179571.828000] Kernel panic - not syncing: VFS: Unable to mount root fs
> on unknown-block(0,0)
> [17179571.828000]
> 
> pourriez vous eclairer mes lanternes ?
> 
> merci d'avance

Bonjour,

En espérant pas dire trop de bétises :
Certaines fonctions du kernel sont nécessaires pour pouvoir monter le système de
fichier racine (accès aux disques durs IDE ou autres, support du type de système
de fichier ...). Si tu les compiles en modules le noyau ne peut y accéder car
les modules sont stockés sur disque, d'où l'erreur que tu as rencontré. initrd
permet de contourner ce problème en créant un ramdisk initial accessible pour
le noyau avant le montage du système de fichiers racine.

Donc tu as deux options :
compiler en dur dans le noyau tout ce dont tu as besoin pour monter le /
compiler en modules et utiliser initrd

Pour utiliser initrd il faut le paquet initrd-tools
Puis une fois le noyau et les modules installés :
mkinitrd /boot/initrd-<VER>.img <VER> (syntaxe à vérifier)
où <VER> est la version du noyau
et indiquer à grub dans son menu.lst l'utilisation de initrd en rajoutant après
la ligne renseignant le kernel :
initrd /boot/initrd-<VER>.img

David



Reply to: