Noyau Debian
Comment compiler et installer un noyau 2.6 sur une distribution Linux Debian
disposant déjà d'un noyau 2.4...
J'ai récemment installer la dernière distribution GNU/Linux
Debian, la Sarge 3.1, sur ma machine. Le noyau Linux était le 2.4.27-2-686.
Ce petit guide montre très simplement comment j'ai installé un nouveau noyau
sur cette machine, un noyau 2.6.
1. Prérequis
- Les sources du noyau et des modules à compiler en *.tar.gz ou *.tar.bz2
(voir plus bas comment les récupérer),
- Un environnement de développement complet (avec GCC...),
- La librairie ncurses si vous souhaitez configurer votre
noyau en mode graphique dans un terminal (paquet libncurses-dev
sous Debian.),
- La librairie qt si vous désirez configurer votre noyau
sous X (interface graphique) (paquet libqt3-dev sous Debian.).
Personnellement, je ne disposais ni de la librairie ncurses,
ni de la librairie qt. Ce n'est pas très pratique... mais c'est
possible.
2. Configuration
La première chose à faire est de récupérer les sources du noyau
que l'on veut installer. Pour avoir les sources du dernier noyau, on peut aller
sur
www.kernel.org. Il faut récupérer les
sources en *.tar.gz ou en *.tar.bz2. Nous prendrons, pour l'installation, le
fichier
linux-2.6.11.11.tar.bz2. Attention : pour installer
le nouveau noyau, nous devons être en
root.
On commence par recopier l'archive dans le répertoire /usr/src
:
# cp linux-2.6.11.11.tar.bz2 /usr/src/ (ou linux-2.6.11.11.tar.gz si l'archive est au format gz)
On décompresse l'archive :
# cd /usr/src
# tar xjvf linux-2.6.11.11.tar.bz2 (# tar zxvf linux-2.6.11.11.tar.gz si format *.tar.gz)
Enfin, il est nécessaire que les sources du nouveau noyau pointent
vers /usr/src/linux :
# rm /usr/src/linux
# ln -s /usr/src/linux-2.6.11.11 /usr/src/linux
Si nous disposons de la librairie qt, configurons
le noyau par un belle interface graphique :
# cd /usr/src/linux
# make xconfig
Sinon, si nous disposons de la librairie ncurses,
configurons le noyau ainsi :
# make menuconfig
Sinon (comme moi), faîtes-le en "mode texte" :
# make config
La phase suivante consiste à répondre à toutes les questions
qui ont été générées par l'exécution de la dernière commande. C'est la phase
de configuration du noyau. Si vous ne savez pas quoi répondre, laissez les réponses
par défaut.
3. Compilation et installation
On compile :
# make dep clean bzImage modules modules_install
On installe :
# cd /usr/src/linux/
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.11.11
# cp System.map /boot/System.map-2.6.11.11
# cd /boot/
# mv System.map System.map.old
# mv vmlinuz vmlinuz.old
# ln -s vmlinuz-2.6.11.11 vmlinuz
# ln -s System.map-2.6.11.11 System.map
Si la distribution utilise un disque ram initial (initial ramdisk
= initrd) pour démarrer, alors on exécute la commande suivante :
# mkinitrd -o /boot/initrd-2.6.11.11 2.6.11.11
4. Modifications au niveau de GRUB
Le fichier de configuration de GRUB est /boot/grub/menu.lst.
Editons-le :
title Debian GNU/Linux, kernel 2.4.27-2-686
root (hd0,0)
kernel /boot/vmlinuz-2.4.27-2-686 root=/dev/hda1 ro
initrd /boot/initrd.img-2.4.27-2-686
savedefault
boot
title Debian GNU/Linux, kernel 2.4.27-2-686 (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.4.27-2-686 root=/dev/hda1 ro single
initrd /boot/initrd.img-2.4.27-2-686
savedefault
boot
Rajoutons les lignes suivantes à ce fichier :
title Debian GNU/Linux, kernel 2.6.11.11
root (hd0,0)
kernel /boot/vmlinuz-2.6.11.11 root=/dev/hda1 ro
initrd /boot/initrd.img-2.6.11.11
savedefault
boot
C'est terminé! On redémarre, puis, au choix des noyaux Linux
on prend bien sûr le noyau 2.6.11. Dans un terminal, une fois logguer, on tape
:
# uname -rs
Linux 2.6.11.11
5. Quelques liens
MAJ le 20/08/2005