Compilation noyau

Introduction

Dans, certaines situations, vous pouvez vouloir compiler votre propre kernel Linux qui correspond mieux à vos besoins que le kernel fourni par la distribution qui-va-bien. C'est par exemple nécessaire lorsque le kernel fourni est trop vieux pour faire fonctionner un périphérique récent, ou bien lorsqu'on veut optimiser les performances de sa machine. Il est également notable qu'une compilation réussie de votre kernel augmentera de manière exponentielle vos performances au lit.

Compiler son propre kernel n'est pas une opération particulièrement difficile, mais nécessite une très bonne connaissance de son matériel.

Récupération des sources du noyau

Les sources du noyau sont disponible sur le site kernel.org. Il est recommandé d'utiliser la dernière version stable; on peut également prendre la branche -mm qui contient des patchs expérimentaux, ou bien le dernier snapshot (version de développement).

Les distributions fournissent généralement des sources contenant des patchs spécifiques, ces sources sont accessibles via votre gestionnaires de paquet habituel (sous Debian, apt-get install linux-source-2.6.xx, sous Gentoo emerge gentoo-sources)

Après avoir récupéré l'archive, il faut la décompresser : pour une archive xxx.tar.bz2, on utilise la commande tar -xjpf xxx.tar.bz2, pour une archive xxx.tar.gz, tar -xzpf xxx.tar.bz.

FIXME En construction 😉

Configuration du noyau

Il va à présent falloir configurer votre noyau. Pour cela, on va utiliser une interface en console, make menuconfig qui permettra de configurer le noyau en fonction de vos besoins et de votre matériel.

Par exemple, vous pourrez choisir quels systèmes de fichiers vous voulez utiliser, quels drivers vous voulez (pour votre carte réseau Ethernet ou votre carte Wi-Fi, pour votre carte son, etc.), et plein d'autres choses. Pour pouvoir choisir correctement quels drivers vous voulez utiliser dans le noyau, vous pouvez vous aider de la commande lspci qui vous permettra de lister le matériel présent sur votre ordinateur.

Pour compiler votre noyau, il va falloir se rendre dans le dossier des sources (sous Gentoo c'est /usr/src/linux).

Exécutez ensuite la commande make menuconfig. Vous vous retrouverez alors devant un menu du type:

Comme vous le voyez, ce menu comprend plusieurs sections.

Pour pouvoir choisir les options correctes, n'oubliez pas de vous aider de la commande lspci.

Processor type and features

Dans cette section, vous préciserez le modèle de votre processeur, vous pourrez aussi activer des options telles que Symmetric multi-processing.

Power management support

Pour régler tout ce qui concerne la gestion de l'énergie: ACPI, etc. Très utile sur les ordinateurs portables, pour plus d'économies d'énergie. C'est là aussi qu'il faut voir pour que les CPU puissent diminuer leur fréquence automatiquement si leur puissance n'est pas utilisée (CPU Frequency scaling).

Device drivers

C'est la foire aux drivers, son, réseau, tout ce qu'on veut.

Filesystems

C'est dans cette section que vous pourrez choisir quels systèmes de fichiers seront supportés. Par exemple, si vous utilisez GNU/Linux sur votre Macbook et que vous voulez avoir accès à la partition de Mac OS X, n'oubliez pas d'ajouter le support du HFS+. Ajoutez les systèmes de fichiers qui vous conviendront, naturellement, si vous utilisez du ext3 pour vos partitions, n'oubliez pas de l'activer.

FIXME A compléter