compiler le 2.4.20
Bonjour, et bonne année.
Dans le but de pouvoir installer une carte nvidia, je voudrais apprendre
à compiler un noyau. J'ai un portable asus L8400L, pentium III, qui
tourne actuellement avec une image officielle debian 2.4.18-686, woody.
J'ai procédé de la manière suivante :
dans /usr/local/src,
# tar -xvjf linux-2.4.20.tar.bz2
# ln -s linux-2.4.20 linux
# cd linux
# cp /boot/config-2.4.18-386 .config
# make menuconfig (j'ai aussi essayé make oldconfig)
# make-kpkg clean
# make-kpkg kernel-image
# cd /usr/local/src
# dpkg -i kernel-image-2.4.20_10.00.Custom_i386.deb
Dans /boot, j'obtiens notamment :
System.map-2.4.20
config-2.4.20
vmlinuz-2.4.20
J'édite ensuite /boot/boot/grub/menu.lst (j'ai une partiton /boot
séparée)
J'ai notamment :
title Debian GNU/Linux, kernel 2.4.18-686
root (hd0,1)
kernel /vmlinuz-2.4.18-686 root=/dev/hda3 ro
initrd /initrd.img-2.4.18-686
savedefault
#
title Debian GNU/Linux, kernel 2.2.22
root (hd0,1)
kernel /vmlinuz-2.2.22 root=/dev/hda3 ro
savedefault
#
title Debian GNU/Linux, kernel 2.4.20
root (hd0,1)
kernel /vmlinuz-2.4.20 root=/dev/hda3 ro
savedefault
La première séquence fonctionne avec le 2.4.18 que j'ai installé en
utilisant
kernel-image-2.4.18-686_2.4.18-5.deb
La deuxième fonctionne avec le 2.2.22 que j'ai compilé et installé
d'après les sources :
kernel-source-2.2.22_2.2.22-1_all.deb
Par contre, avec le 2.4.18 que j'ai essayé de recompiler et avec le
2.4.20, la machine ne boote pas ; j'obtiens :
Starting kswapd
VFS: Diskquotas version dquot_6.4.0 initialized
...
TCP: Hash tables configured (established 16384 bind 16384)
kmod: failed to exec /sbin/modprobe -s -k block-major-3, errno = 2
VFS: Cannot open root device "hda3" or 03:03
Please append a correct "root=" boot option
Kernel panic: VFS: unable to mount root fs on 03:03
J'ai aussi essayé de compiler avec l'option --initrd :
# make-kpkg --initrd kernel-image
puis :
mkinitrd -k -o /boot/initrd.img-2.4.20 /lib/modules/2.4.20/
et j'ai ajouté la ligne
initrd /initrd.img-2.4.20
dans /boot/boot/grub/menu.lst
Rien à faire, j'obtiens toujours le même genre de message.
Où ai-je fait une (des) erreur(s) ?
Peut-on compiler un 2.4.x sans utiliser initrd ?
Merci d'avance pour vos lumières.
--
Pierre Meurisse
Reply to: