Personal tools
You are here: Home Ressources Documentation Compiler son kernel sous debian avec make-kpkg
Log in


Navigation
 
Document Actions

Compiler son kernel sous debian avec make-kpkg

Compiler son kernel sous debian avec make-kpkg; Philippe Marsall

DEBIAN: compiler son noyau avec MAKE-KPKG

Philippe Marsall, pmars@free.fr


Parinux - Groupe doc

rev 1.0, 23/07/2001


1. 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 :

  1. récupérer un noyau officiel sur le Net. Actuellement sur le site officiel le dernier moyau disponible est le 2.4.7.

  2. 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.

  3. Ensuite :
    $cd linux
    $make menuconfig

  4. Choisir les options, le fichier /usr/src/linux/Documentation/Configure.help est incontournable pour cela, on trouve une traduction en français ici

  5. compilation
    $make-kpkg --revision=tolkien.1.0 kernel_image
    Cette commande compile le noyau ainsi que les modules et te crée le fichier kernel-image-2.4.7_tolkien.1.0_i386.deb dans 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


  6. Il ne restes plus qu'a installer le nouveau noyau :
    $cd /usr/src/
    $ dpkg -i kernel-image-2.4.7_tolkien.1.0_i386.deb
    Répondre aux questions (si on ne comprend pas, laisser les réponses par défaut). Il va installer (xxxx) est la version du noyau) :
    • les modules dans /lib/modules/xxxx/
    • /boot/System.map-xxxx
    • /boot/config-xxxx
    • /boot/vmlinuz-xxxx

  7. 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

  8. 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).
by Philippe Marsall — last modified 15-05-07 15:30 jlaurent