Il existe beaucoup de documentation sur la façon de compiler un noyau Ubuntu / Linux Mint à partir des sources, mais il s’avère que la plupart sont incomplètes et/ou obsolètes. L’utilisation d’une méthode inadaptée n’est décelable qu’après plusieurs heures de compilation, découvrir la bonne méthode par tâtonnement peut s’avérer particulièrement frustrant.
Voici la bonne méthode (source en anglais), éditée par mes soins pour éviter de dérouler toute la procédure en super-utilisateur (root), car cela n’est pas nécessaire.
1. Activer les dépôts de sources.
Depuis le menu Mint, lancer le logiciel « Sources de logiciels », et activer « Dépôts de code source ».
Cliquer ensuite sur « Valider » pour mettre a jour le cache.
2. Installer les outils de compilation
Exécuter en console les commandes suivantes :
sudo apt update
sudo apt build-dep linux linux-image-$(uname -r)
sudo apt install libncurses-dev gawk flex bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf llvm build-essential libncurses5-dev gcc bc dwarves
3. Récupérer le code source du noyau
Le code source du noyau Linux est disponible sur le site http://kernel.org, mais ce qui nous intéresse ici est le noyau patché par Ubuntu, qui est utilisé par Linux Mint. Téléchargeons les sources dans un dossier créé à cette fin :
mkdir linux-src
cd linux-src
apt source linux-image-unsigned-$(uname -r)
Plaçons-nous dans le dossier téléchargé, et donnons les permissions d’exécutions au scripts :
cd linux-hwe-6.2-6.2.0 # A mettre à jour avec le nom de votre noyau
chmod a+x debian/scripts/*
chmod a+x -R ./scripts
4. Appliquer vos patches
En exécutant, pour chaque patch, la commande suivante
patch -p1 <CHEMIN_DU_FICHIER_PATCH>.patch
5. Copier la configuration
cp /boot/config-$(uname -r) ./.config
# update config for new kernel
make oldconfig
6. Lancer la compilation
En exécutant la commande suivante :
make -j16 deb-pkg LOCALVERSION=-custom
L’argument « -j16 » permet de sélectionner le nombre de tâches exécutées en parallèle, une valeur plus élevée nécessitant plus de ressources matérielles (RAM notamment). La valeur idéal correspond généralement au nombre de thread exécutables en parallèle sur le système (par exemple 4 dans le cas d’un processeur 2 core / 4 threads).
7. Installer le nouveau noyau
# change to parent dir
cd ..
dpkg -i *.deb
update-grub
8. Démarrer sur le nouveau noyau
Le nouveau noyau est maintenant disponible au démarrage, dans le menu du chargeur d’amorçage Grub. Attention, ce n’est pas forcément le choix par défaut ! Il est reconnaissable a son préfixe « custom ».
Commentaires récents