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

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: