Compiler son kernel sous debian avec make-kpkg
DEBIAN: compiler son noyau avec MAKE-KPKG
Philippe Marsall, pmars@free.fr
Parinux - Groupe doc
rev 1.0, 23/07/20011. Prérequis
Les packages suivants sont nécessaires :
- kernel-package
- bin86
- libncurses5-dev
- kernel-package :
contient le programme make-kpkg
- bin86 :
assembleur 80x86, insipensable pour recompiler
- libncurses5-dev :
nécessaire pour make menuconfig
2. Marche à suivre
Méthode :
- récupérer un noyau officiel sur le Net. Actuellement sur le
site officiel le dernier moyau disponible est le
2.4.7. - décompresser l'archive dans /usr/src. Une bonne méthode consiste
à d'abord créer un répertoire avec le numéro du noyau et de
créer un lien symbolique qui pointe dessus.
# pwd
/usr/src
# tar xzvf linux-2.4.7.tar.gz
# mv linux linux-2.4.7
# ln -s linux-2.4.7 linux
- explication :
le tarball se décompresse dans linux, qu'on renomme en linux-2.4.7, et on fait ensuite un lien symbolique "linux" qui pointe vers ce répertoire. Comme ça, en procédant de même pour les prochains noyaux, on conservera les sources bien répertoriées avec leur numéros correspondants, et on se contentera de faire pointer le lien symbolique vers la version que l'on souhaite compiler.
- Ensuite :
$cd linux
$make menuconfig - Choisir les options, le fichier
/usr/src/linux/Documentation/Configure.helpest incontournable pour cela, on trouve une traduction en français ici - compilation
Cette commande compile le noyau ainsi que les modules et te crée le fichier$make-kpkg --revision=tolkien.1.0 kernel_image
kernel-image-2.4.7_tolkien.1.0_i386.debdans le rep./usr/src/Si on installe une version différente de celle qui est installée, rien a faire. Sinon suivre ces quelques manip de précaution:$cd /lib/modules
$mv 2.4.7 2.4.7_orig
$cd /boot/
$mv System.map-2.4.7 System.map-2.4.7_orig
$mv config-2.4.7 config-2.4.7_orig
$mv vmlinuz-2.4.7 vmlinuz-2.4.7_orig
- Il ne restes plus qu'a installer le nouveau noyau :
Répondre aux questions (si on ne comprend pas, laisser les réponses par défaut). Il va installer ($cd /usr/src/
$ dpkg -i kernel-image-2.4.7_tolkien.1.0_i386.debxxxx) est la version du noyau) :- les modules dans
/lib/modules/xxxx/ /boot/System.map-xxxx/boot/config-xxxx/boot/vmlinuz-xxxx
- les modules dans
- pour les portables :
# Config modules pcmcia (pour les portables)Comment
prérequis :pcmcia-cs + pcmcia-sources/usr/src : décompresser les sources pcmcia dans le repertoire modules après install du noyau (ci-dessus)
cd /usr/src/modules/pcmcia-cs#make clean
#make config
#cd /usr/src/linux
#make-kpkg --revision=custom.1.0 modules_image
#cd /usr/src/
#dpkg -i pcmcia-modules*.*.deb - booter sur le nouveau noyau
Enfin, il reste lilo. Debian crée un lien symbolique de la racine vers /boot/vmlinuz-xxxx et renommé l'ancienne entrée en old. taper 'lilo -v' (trés important, cette commande ne sert pas seulement à modifier les entrées, elle sert surtout à installer dans le boot secteur le bon noyau. Autrement dit, meme si on ne change rien dans lilo.conf mais que l'on compile un nouveau noyau, il *faut* lancer la commande lilo).
Passage de Troll2 en Etch
Medintux et les logiciels libres pour le secteur médical
Hébergement de sites web : une comparaison
debutant.odt