29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
17-02-2012 : Pétition pour une protection de l’apiculture et des consommateurs face au lobby des OGM
Logo de mon site
Logo de mon site
Faire un don

Luxpopuli / Système / Debian / How to compile kernel Debian : compiler et installer un noyau Linux sous Debian / Linux Debian kernel + Grub 2 : configuration manuelle des options d'un noyau Linux





Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox
zero papier grâce aux catalogues et promos en ligne de bonial

How to compile kernel Debian : compiler et installer un noyau Linux sous Debian

Table des matières

  1. Linux Debian kernel + Grub 2 : installation des sources du noyau Linux
  2. qconf : Configuration graphique des options du noyau Linux
  3. Linux Debian kernel + Grub 2 : compiler le noyau Linux à la main
  4. Linux Debian kernel + Grub 2 : installation du package contenant le nouveau noyau Linux
  5. Linux Debian kernel + driver nvidia : compilation du driver nvidia pour le nouveau noyau Linux
  6. Debian noyau 2.6.37: «make xconfig» et erreur «scripts/kconfig/qconf.moc error»

Linux Debian kernel + Grub 2 : configuration manuelle des options d'un noyau Linux

Date de publication: le vendredi 26 août 2011 à 14h47
Dernière modification: par Pascal BOYER le mercredi 29 février 2012 à 13h43

Le noyau Linux - The Linux kernel

Pour procéder à la configuration des options d'un noyau Linux, on commence par se placer à la racine du répertoires des sources du noyau:

cd /usr/src/linux-3.0.3

ou bien on utilisera indifféremment le lien symbolique:

cd /usr/src/linux

Puis on lance l'interface graphique qconf de configuration des options du kernel:

make xconfig

  HOSTCC  scripts/basic/fixdep
  CHECK   qt
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/kconfig_load.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/lex.zconf.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
/usr/bin/moc -i scripts/kconfig/qconf.h -o scripts/kconfig/qconf.moc
  HOSTCXX scripts/kconfig/qconf.o
  HOSTLD  scripts/kconfig/qconf
scripts/kconfig/qconf Kconfig
#
# using defaults found in /boot/config-3.0.0-1-amd64
#

Par défaut, le répertoire des sources du noyau ne possède pas de fichier .config et utilise donc, comme l'indique clairement la dernière ligne ci-dessus, le fichier de configuration du noyau en cours d'exécution placé dans le répertoire /boot/

Ce fichier de configuration est généré et modifié par l'application graphique qconf. Il est cependant tout à fait possible, lorsque l'on maîtrise parfaitement ce que l'on fait, de l'éditer (avec Vi par exemple) pour le modifier à la main.

:
Il est fort possible que la commande make xconfig se solde par un échec. La raison la plus fréquente à ceci est l'absence sur le système de packages de développement que les messages d'erreurs retournés vous aideront à identifier.

Lorsque toutes les dépendances sont présentes sur le système, l'application qconf apparaît:

Fig. 1: qconf ou l'application graphique de configuration des options du noyau

Choix des options de compilation

Comme vous le constaterez rapidement, le nombre des options de compilation est assez important, leur descriptif en anglais et les termes techniques usités bien souvent abscons pour les non initiés.

Tout d'abord, il existe pour chaque option, trois états possibles:

  • Y ou Case cochée: la fonctionnalité ou le pilote/driver est compilé et implanté en dur dans l'image du noyau
  • M ou Case pointée: la fonctionnalité ou le pilote/driver est compilé en tant que module (on peut donc par exemple, grâce à des commandes en ligne, charger ou décharger le module à volonté)
  • N ou Case vide: la fonctionnalité ou le pilote/driver est ignoré

Je n'ai trouvé qu'un seul lien (est encore est-il obsolète) présentant en français les options du noyau:

Une bonne connaissance du matériel présent sur sa propre machine est indispensable pour choisir ou rejeter une option du noyau.

Outils graphiques de détection du matériel:

  • lshw-gtk
  • kinfocenter (sous KDE)

Commandes affichant des infos sur le matériel:

  • lshal |more (tout sur la carte mère)
  • nm-tool -V (cartes réseaux)
  • nm-tool eth0 (cartes réseaux)
  • ifconfig -a (cartes réseaux)
  • netstat -ie (cartes réseaux)
  • cat /proc/cpuinfo (tout sur le CPU)
  • lsusb -v |more (tout sur les ports et matériels usb)
  • lspci -kmm (tout sur tous les bus de la carte mère)
  • lspci -kmmv (tout sur tous les bus de la carte mère)
  • lspci -vv (tout sur tout)
  • fdisk -l (tous les disques durs - en root uniquement)
  • hdparm -I /dev/sdc (tout sur le disque dur - en root uniquement)
  • free (quantité de mémoire)

Quelques options du noyau

La première option ci-dessous est incontournable et absolument nécessaire pour que le noyau soit en mesure de démarrer correctement. Pour autant, elle n'est bien évidemment pas suffisante pour assurer à elle seule la phase de démarrage et d'autres problèmes liés aux choix des options peuvent parfaitement rendre un noyau inopérant.

Il est tout à fait possible que la compilation puis l'installation d'un noyau se déroule sans encombre mais qu'il s'avère néanmoins incapable de démarrer votre machine. Il ne faut surtout pas s'inquiéter d'une telle situation pour autant que l'on conserve en permanence au moins un deuxième noyau en parfaitement état de fonctionnement (par exemple, le noyau installé par défaut lors de l'installation de Debian). Si le nouveau noyau fraichement compilé venait à planter au démarrage de la machine, Grub sera alors en mesure de vous proposer de démarrer votre PC sur ce deuxième noyau.

1°/ CONFIG_BLK_DEV_INITRD:

Fig. 2: option Initial RAM filesystem and RAM disk (initramfs/initrd) support du menu General setup (cadre à gauche)

2°/ CONFIG_KERNEL_LZMA:

Fig. 3: option Kernel compression mode du menu General setup (cadre à gauche)

3°/ CONFIG_PARTITION_ADVANCED:

qconf : configuration graphique des options du kernel/noyau Linux

Fig. 4: option Advanced partition selection du menu File systems->Partition Types (cadre à gauche)

4°/ CONFIG_INOTIFY_USER:

Cette option permet d'éviter ce message d'erreur au boot:

udevd[518]: inotify_init failed: Function not implemented
udevd[518]: error initializing inotify

Fig. 5: option Inotify support for userspace du menu File systems (cadre à gauche)

Sauvegarder la configuration des options

Avant de poursuivre vers la phase de compilation, il est important de sauvegarder la configuration du noyau dans un fichier .config. Pour cela on utilise le menu File -> Save as de l'application qconf et on contrôle que le fichier .config soit bien placé à la racine du répertoire des sources du noyau (/usr/src/linux-3.0.3/.config dans notre exemple).



Table des matières

  1. Linux Debian kernel + Grub 2 : installation des sources du noyau Linux
  2. qconf : Configuration graphique des options du noyau Linux
  3. Linux Debian kernel + Grub 2 : compiler le noyau Linux à la main
  4. Linux Debian kernel + Grub 2 : installation du package contenant le nouveau noyau Linux
  5. Linux Debian kernel + driver nvidia : compilation du driver nvidia pour le nouveau noyau Linux
  6. Debian noyau 2.6.37: «make xconfig» et erreur «scripts/kconfig/qconf.moc error»

Commentaires