Voici les étapes. Cette procédure est basée sur nixCraft « s Comment: Compile Linux noyau 2.6 --mais considérablement modernisé.
Téléchargez et extrayez le code source du noyau que vous souhaitez construire.
Vous pouvez obtenir le code source du noyau en amont sur kernel.org . La version 3.16.1 (le dernier noyau stable à ce jour) sera utilisée ici. Vous devrez donc peut-être modifier ces commandes si vous utilisez une version différente.
Le code source du noyau est actuellement fourni dans. tar . archives xz , cliquez sur le lien "tar.xz" selon la version de votre choix:
Après avoir cd
accédé au répertoire dans lequel vous avez téléchargé l'archive, vous pouvez l'extraire avec tar
:
tar xf linux-3.16.1.tar.xz
Installez les outils de construction nécessaires et effectuez la configuration du noyau.
Pour obtenir la chaîne d’ outils ( gcc
, make
et ainsi de suite) d’ Ubuntu , installez le métapaquet build-essential :
sudo apt-get update
sudo apt-get install build-essential
Deux méthodes relativement simples à utiliser pour configurer ce qui se passe dans votre noyau sont fournies par les make
cibles xconfig
et menuconfig
.
xconfig
exécute un utilitaire de configuration graphique, alors qu’il menuconfig
est basé sur du texte (c’est-à-dire que son interface apparaît entièrement dans votre terminal). Chacun nécessite des logiciels supplémentaires non fournis par build-essential .
Pour configurer graphiquement , installez libqt4-dev et pkg-config et exécutezmake xconfig
:
sudo apt-get install libqt4-dev pkg-config
make xconfig
Pour configurer dans le terminal , installezlibncurses5-dev
(merci à Hannu pour cette information) et lancezmake menuconfig
:
sudo apt-get install libncurses5-dev
make menuconfig
Construisez le noyau configuré.
Commencez par ceci pour compiler le noyau et créer vmlinuz
:
make
vmlinuz
est "le noyau". Plus précisément, c'est l'image du noyau qui sera décompressée et chargée en mémoire par GRUB ou par tout autre programme d' amorçage que vous utilisez.
Ensuite, construisez les modules du noyau chargeables :
make modules
Installez votre noyau nouvellement construit.
En supposant que ces make
commandes aboutissent, il est temps d'installer le nouveau noyau. Commencez par installer les modules:
sudo make modules_install
Puis installez le noyau lui-même:
sudo make install
Cela met vmlinuz-3.16.1
(une copie de vmlinuz
), config-3.16.1
(un fichier texte contenant les paramètres de configuration du noyau) et System.map-3.16.1
(la table de recherche des symboles du noyau ) dans /boot
. Pour plus de détails, voir cet article comp.os.linux.misc de Hadron et man installkernel
.
Configuration finale, afin que le noyau puisse être démarré et initialiser le système:
Cette section est en partie basée sur les informations contenues dans Kernel / Compile .
Avec le noyau maintenant où il doit être, il a besoin de:
Générez vos initramfs avecmkinitramfs
:
cd /boot
sudo mkinitramfs -ko initrd.img-3.16.1 3.16.1
Lorsque vous mettez à jour la configuration du chargeur de démarrage GRUB2 - qui est la configuration par défaut sous Ubuntu depuis la version 9.10 - devrait automatiquement détecter le nouveau noyau et ajouter une option permettant de démarrer à partir de celui-ci.
sudo update-grub
Essayez votre noyau.
Vous pouvez maintenant redémarrer pour tester votre nouveau noyau. Vous devrez peut-être maintenir enfoncé Shiftou appuyer Escpendant le démarrage pour afficher le menu de démarrage de GRUB dans lequel vous pouvez choisir entre les différents noyaux installés.
Pour définir votre noyau (ou un autre) par défaut, reportez-vous à la section Comment modifier l'ordre de démarrage de GRUB?