La construction d'un noyau adapté à ses besoins passe par plusieurs étapes.
Création d'une nouvelle arborescence de sources que l'on pourra modifier à volonté en préservant les sources «originaux».
Configuration du noyau en choisissant le matériel et les fonctions utiles.
Dans l'arborescence usuelle du système GNU/Linux, le répertoire de
stockage des sources est : /usr/src. Ce répertoire est accessible en
écriture aux membres du groupe src. C'est donc à partir d'un compte
utilisateur appartenant à ce groupe que l'on exécute la liste suivante des
commandes «rituelles» après le télechargement des sources du
noyau. Dans cet exemple, les caractères xx sont à remplacer
par la version courante du noyau.
$ mv linux-2.6.xx.tar.bz2 /usr/src$ cd /usr/src $ tar xf linux-2.6.xx.tar.bz2
$ ln -sf linux-2.6.xx linux
$ cd linux
|
Copie du fichier tarball dans le
répertoire usuel de dépôt des sources de noyau : |
|
|
Extraction de l'arborescence des sources du noyau. |
|
|
Il est possible de conserver plusieurs arborescences de sources de
noyaux LINUX. On utilise alors un lien symbolique
|
On dispose de trois interfaces utilisateur différentes pour configurer un noyau : mode texte, mode texte avec menus et mode graphique.
Comme lors des manipulations présentées ci-dessus, on suppose que le
compte utilisateur normal fait partie du groupe systèmes src et qu'il dispose des droits d'écriture sur
l'aborescence /usr/src/.
Le mode texte est réservé aux configurations matérielles minimales et aux nostalgiques des consoles VT100. Il n'est pas très commode à utiliser.
$ pwd /usr/src/linux $ make config
Le mode texte avec menus est très pratique pour les manipulations à distance sur des serveurs sans interface graphique ni écran ni clavier. Généralement, les opérations de configuration se font via une console sécurisée avec l'outil ssh.
Il est nécessaire que le paquet des bibliothèques de développement ncurses soit installé sur le système sur lequel on réalise la configuration. On s'assure de l'installation du paquet avec une commande du type : dpkg -l libncurses*-dev |grep ^ii.
$ pwd /usr/src/linux $ make menuconfig
Le mode graphique n'est pas forcément le plus pratique. Il est nécessaire d'avoir une interface graphique en état de marche ainsi que le paquet des bibliothèques de développement de cette interface. Comme dans le cas précédent, on s'assure de l'installation du paquet avec une commande du type : dpkg -l libqt3*-dev |grep ^ii.
$ pwd /usr/src/linux $ make xconfig
Une fois la commande make menuconfig lancée, on accède à la liste principale des options de configuration du noyau LINUX. On s'intéresse plus particulièrement aux options réseau :
Les fonctions réseau du noyau LINUX.
Les pilotes de périphériques.
Voir la Section 6, « Fonctions réseau du noyau LINUX » pour obtenir les informations nécessaires à l'utilisation des nombreuses options de configuration réseau.
La répartition des fonctions entre les espaces mémoire «noyau» (kernelspace) et «utilisateur» (userspace) une question très importante.
Avec les toutes premières version du noyau LINUX, ajouter de nouvelles fonctionnalités impliquait d'étendre le noyau lui-même. Il fallait, recompiler l'ensemble du noyau à chaque ajout d'un nouveau pilote de matériel. Si ce mode de conception monolithique convient toujours aux systèmes spécialisés avec une faible puissance de calcul, il est de moins en moins utilisé.
La notion de module est apparue avec la série 2.x
et cette fonctionnalité permet de corriger ce défaut. Ces modules
correspondent à des pilotes que l'on peut charger et décharger dynamiquement
en mémoire. Pour pouvoir bénéficier des modules, les fonctions du noyau
doivent être compilées avec l'option «module» notée M dans
les menus de configuration.
Une fois compilés, les modules sont placés dans un répertoire /lib/modules/2.6.xx. D'autres sous-répertoires sont
créés en fonction du choix des catégories. Par exemple, le chemin complet du
module de pilotage de la carte RNIS est :
/lib/modules/2.6.xx/kernel/drivers/isdn/hisax/hisax.ko.
Une fois la phase de configuration terminée, on passe à la compilation
proprement dite. Voici une nouvelle liste de commandes
«rituelles» qui permettent de construire un paquet de noyau Linux à partir
d'un compte utilisateur normal appartenant au groupe système src puis d'installer le paquet créé.
$ pwd /usr/src/linux $ fakeroot make-kpkg --initrd kernel_image $ cd .. :/usr/src/linux$ su Mot de passe : :/usr/src/linux# :/usr/src/linux# dpkg -i linux-image-2.6.xx_2.6.xx-10.00.Custom_amd64.deb
Les caractères 'xx' correspondent à la version courante du noyau LINUX.
Vous êtes ici :