Вы находитесь на странице: 1из 4

Le systme d'exploitation GNU-Linux/Le noyau Lin...

http://fr.wikibooks.org/wiki/Le_systme_d'exploitat...

Un livre de Wikibooks. Dans certains cas, on peut tre amen recompiler un noyau Linux : support d'un priphrique (driver) activation d'une option ... Les sources du noyau Linux sont disponibles sur kernel.org (http://www.kernel.org) [archive ] dans le rpertoire /pub/linux/kernel/v2.6/ (http://www.kernel.org/pub/linux/kernel/v2.6/) [archive ]. Les sources doivent tre installes dans le rpertoire /usr/src et il faut un lien linux vers la version du noyau que l'on dsire 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 linux # cd linux

Si on dsire utiliser les mmes options de compilation du noyau actuel, on copie le fichier /boot/config-2.6.18-5-686 dans le rpertoire /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 prcdement install la librairie de dveloppement ncurses et tous les outils de compilation :
# apt-get install libncurses5-dev build-essential

On installe ensuite kernel-package qui contient les outils Debian permettant de fabriquer un packet .deb contenant le noyau Linux, les modules, le initrd et un script configurant Grub pour booter sur le nouveau noyau (cf explications ci-dessous) :
# apt-get install kernel-package

On lance ensuite la configuration du noyau via make menuconfig :

1 of 4

06/12/2012 16:15

Le systme d'exploitation GNU-Linux/Le noyau Lin...

http://fr.wikibooks.org/wiki/Le_systme_d'exploitat...

# make menuconfig

On configure le noyau, on quitte en enregistrant la configuration. Debian fournit une mthode particulire pour lancer la compilation du noyau. il faut auparavant installer le packet kernel-package . La procdure Debian consiste fabriquer un fichier .DEB contenant le noyau et les modules compils. L'avantage de cette mthode est de faciliter la mise jour du noyau. De mme, elle va automatiquement mettre jour GRUB ou LILO pour dmarrer sur le nouveau noyau. Si on veut que Debian fabrique le fichier initrd automatiquement, il suffit de l'indiquer avec l'option --initrd de make-kpkg. On lance la compilation du noyau et des modules avec la commande make-kpkg :
# make-kpkg clean # make-kpkg --initrd --rev custom.1 kernel_image ... # dpkg -i ../linux-image-2.6.23.9_custom.1_i386.deb

On peut galement fabriquer un initrd manuellement, voici la procdure :


# mkinitramfs -o /boot/initrd.img-2.6.23.9 2.6.23.9

On le rajoute dans /boot/grub/menu.lst :


title root kernel initrd savedefault Debian GNU/Linux, kernel 2.6.23.9 (hd1,0) /vmlinuz-2.6.23.9 root=/dev/hdd2 ro /initrd.img-2.6.23.9

Il ne reste plus qu' rebooter pour dmarrer sur le nouveau noyau. Si tout c'est bien pass, le systme va dmarrer sur le nouveau noyau. Sinon, le noyau va s'arrter sur un kernel panic et il faudra rebooter sur le noyau prcdent, reprendre la configuration du noyau, le recompiler (avec un numro de version diffrent, comme par exemple custom.2).
2 of 4 06/12/2012 16:15

Le systme d'exploitation GNU-Linux/Le noyau Lin...

http://fr.wikibooks.org/wiki/Le_systme_d'exploitat...

On vrifie que l'on a bien dmarr 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 (http://kernelhandbook.alioth.debian.org/index.html) [archive ].

Modules
lsmod
Cette commande permet de visualiser les modules chargs en mmoire. Syntaxe:
lsmod

modinfo
Cette commande permet de visualiser les informations du module comme le nom du crateur, et les options de chargements. Syntaxe:
modinfo chemin_du_module

insmod et modprobe
Bien que ces deux commandes permettent de charger un module, la diffrence tient du fait que certains modules ont besoins que d'autres modules soient chargs. insmod tente de charger le module demand et si celui-ci a besoin d'un autre module pour se charger et que ce dernier ne l'est pas, insmod renvoie un message d'erreur et ne charge pas le module. Syntaxe:

3 of 4

06/12/2012 16:15

Le systme d'exploitation GNU-Linux/Le noyau Lin...

http://fr.wikibooks.org/wiki/Le_systme_d'exploitat...

insmod chemin_du_module

modprobe , lui, charge les modules dpendant au modules avant de lancer celui-ci. Syntaxe:
modprobe chemin_du_module

rmmod
Cette commande dcharge le module dont le nom est indiqu. Contrairement aux autres commandes, il ne faut pas lui indiquer le chemin du module, mais son nom tel qu'il apparat list par la commande lsmod . Syntaxe:
rmmod nom_du_module

rmmod dcharge le module nom_du_module

depmod

Rcupre de http://fr.wikibooks.org /w/index.php?title=Le_systme_d%27exploitation_GNULinux/Le_noyau_Linux_et_les_modules&oldid=392585

Menu de navigation
Dernire modification de cette page le 26 octobre 2012 08:40. Les textes sont disponibles sous licence Creative Commons attribution partage lidentique ; dautres termes peuvent sappliquer. Voyez les termes dutilisation pour plus de dtails.

4 of 4

06/12/2012 16:15

Вам также может понравиться