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: