kernel - Compiler son kernel Linux
Table des matières
Le noyau Linux (ou kernel en anglais) est un noyau de système d'exploitation de type UNIX. Le noyau Linux est un logiciel libre développé essentiellement en langage C par des milliers de bénévoles et salariés communiquant par Internet.
Le noyau est le cœur du système, c'est lui qui s'occupe de fournir aux logiciels une interface pour utiliser le matériel.
C'est lui qui amorce le système d'exploitation.
Il est possible d'avoir plusieurs noyaux et utiliser celui de votre choix. Il est même recommandé d'avoir toujours un noyau fonctionnel sur sa machine.
Pourquoi compiler son noyau ? Les noyaux fournis par défaut dans votre distribution GNU/Linux sont des noyaux capables de tourner sur un maximum de machines et de matériels. Ils sont donc souvent plus lourds, mais la différence de rapidité est en général assez faible. En fait les vraies raisons de compiler son propre noyau sont les suivantes :
Pour compiler son noyau, il est nécessaire d'avoir quelques prérequis :
Un bon processeur pour que la compilation soit rapide.
Prévoir 1Go de RAM au moins.
Avoir 10Go de place sur le disque dur (partition /usr/src)
Sur la distribution concernée, on a besoin de quelques logiciels :
Les paquets se nomment ainsi suivant les distributions:
Dans un premier temps, il est nécessaire de se connecter en root.
Toutes les commandes doivent être lancées en root.
On se positionne dans le dossier /usr/src . C'est le dossier qui contient des fichiers de code source, selon la norme FHS (File Hierarchy Standard)
On récupère ensuite le kernel depuis le site kernel.org (Je prends, en date de la rédaction de cet article le dernier noyau LTS, soit le 3.14.33 )
On décompresse ensuite l'archive compressée :
Et on se rend dans le dossier précédemment désarchivé
Introduction
Le noyau Linux (ou kernel en anglais) est un noyau de système d'exploitation de type UNIX. Le noyau Linux est un logiciel libre développé essentiellement en langage C par des milliers de bénévoles et salariés communiquant par Internet.
Le noyau est le cœur du système, c'est lui qui s'occupe de fournir aux logiciels une interface pour utiliser le matériel.
C'est lui qui amorce le système d'exploitation.
Il est possible d'avoir plusieurs noyaux et utiliser celui de votre choix. Il est même recommandé d'avoir toujours un noyau fonctionnel sur sa machine.
Pourquoi compiler son noyau ? Les noyaux fournis par défaut dans votre distribution GNU/Linux sont des noyaux capables de tourner sur un maximum de machines et de matériels. Ils sont donc souvent plus lourds, mais la différence de rapidité est en général assez faible. En fait les vraies raisons de compiler son propre noyau sont les suivantes :
- Comprendre comment fonctionne le noyau Linux.
- Faire fonctionner un matériel ou une fonctionnalité qui n'est pas pris en charge par votre noyau actuel.
- Vous voulez passer le temps.
Prérequis
Pour compiler son noyau, il est nécessaire d'avoir quelques prérequis :
Matériel
Un bon processeur pour que la compilation soit rapide.
Prévoir 1Go de RAM au moins.
Avoir 10Go de place sur le disque dur (partition /usr/src)
Logiciel
Sur la distribution concernée, on a besoin de quelques logiciels :
- wget : pour télécharger les sources du noyau (ou un navigateur Internet en graphique)
- tar : pour extraire l'archive du noyau
- xz : pour décompresser le noyau
- ncurses : pour afficher le menu de configuration
- make : pour lancer le processus de compilation
- gcc (c++) : le compilateur C
Les paquets se nomment ainsi suivant les distributions:
- Gentoo / Calculate Linux : net-misc/wget app-arch/tar app-arch/xz-utils sys-libs/ncurses sys-devel/make sys-devel/gcc
- Mageia : wget tar xz ncurses-devel make gcc-c++
Mise en œuvre
Dans un premier temps, il est nécessaire de se connecter en root.
Toutes les commandes doivent être lancées en root.
Récupération des ressources
On se positionne dans le dossier /usr/src . C'est le dossier qui contient des fichiers de code source, selon la norme FHS (File Hierarchy Standard)
Code BASH :
cd /usr/src
On récupère ensuite le kernel depuis le site kernel.org (Je prends, en date de la rédaction de cet article le dernier noyau LTS, soit le 3.14.33 )
Code BASH :
wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.14.33.tar.xz
On décompresse ensuite l'archive compressée :
Code BASH :
tar -xf linux-3.14.33.tar.xz
Et on se rend dans le dossier précédemment désarchivé
Code BASH :
cd linux-3.14.33