Aller au contenu

« Le système d'exploitation GNU-Linux/Le noyau Linux et les modules » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
première version
 
m rajout du lien vers le "Debian Linux Kernel Handbook"
Ligne 48 : Ligne 48 :
# uname -r
# uname -r
2.6.23.9
2.6.23.9

Pour plus d'informations sur la compilation d'un noyau selon Debian, on peut consulter le [http://kernel-handbook.alioth.debian.org/index.html Debian Linux Kernel Handbook].

Version du 7 décembre 2007 à 14:17

Dans certains cas, on peut être amené à recompiler un noyau Linux :

  • support d'un périphérique (driver)
  • activation d'une option
  • ...

Les sources du noyau Linux sont disponibles sur kernel.org dans le répertoire /pub/linux/kernel/v2.6/.

Les sources doivent être installées dans le répertoire /usr/src et il faut un lien linux vers la version du noyau que l'on désire compiler :

 # cd /usr/src
 # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.9.tar.bz2
 ...
 # tar xjf linux-2.6.23.9.tar.bz2
 # ln -s linux-2.6.23.9.tar.bz2 linux
 # cd linux

Si on désire utiliser les mêmes options de compilation du noyau actuel, on copie le fichier /boot/config-2.6.18-5-686 dans le répertoire /usr/src/linux sous le nom .config :

 # cp /boot/config-2.6.18-5-686 .config

Pour lancer la configuration (en mode texte) du noyau, on tape ensuite make menuconfig. il faut avoir précédement installé la librairie de développement ncurses :

 # apt-get install libncurses5-dev
 ...
 # make menuconfig

On configure le noyau, on quitte en enregistrant la configuration.

Debian fournit une méthode particulière pour lancer la compilation du noyau. il faut auparavant installer les packet kernel-package. Il faut aussi disposer du compilateur gcc et de la commande make :

 # apt-get install kernel-package gcc make
 ...

La procédure Debian consiste à fabriquer un fichier .DEB contenant le noyau et les modules compilés. L'avantage de cette méthode est de faciliter la mise à jour du noyau. De même, elle va automatiquement mettre à jour GRUB ou LILO pour démarrer sur le nouveau noyau.

 # make-kpkg clean
 # make-kpkg -rev custom.1 kernel_image
 ...
 # dpkg -i ../linux-image-2.6.23.9_custom.1_i386.deb

Il ne reste plus qu'à rebooter pour démarrer sur le nouveau noyau.

Si tout c'est bien passé, le système va démarrer sur le nouveau noyau. Sinon, le noyau va s'arrêter sur un kernel panic et il faudra rebooter sur le noyau précédent, reprendre la configuration du noyau, le recompiler (avec un numéro de version différent, comme par exemple custom.2).

On vérifie que l'on a bien démarré sur notre nouveau noyau avec la commande uname :

 # uname -r
 2.6.23.9

Pour plus d'informations sur la compilation d'un noyau selon Debian, on peut consulter le Debian Linux Kernel Handbook.