Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ceci est une ancienne révision du document !
Voir aussi le tuto : * compiler un noyau
Compiler un kernel (plus réçent) est utile pour plusieurs choses :
Il y a sûrement d'autres raisons de le faire mais ce sont celles que j'ai retenues.
Testé sous stretch, future Debian Stable :
Je rappelle pour les personnes non-habituées et les habitués tête en l'air, qu'il faut bien tout lire.
Installer les paquets :
apt install build-essential fakeroot libncurses5-dev dpkg-dev libssl-dev bc gnupg
C'est-à-dire :
Ce qui normalement :
Pour avoir un menu graphique de configuration des options:
apt install apt install libqt4-dev
et à l'étape :
make xconfig
apt install libgtk2.0-dev libglade2-dev
et à l'étape :
make gconfig
On va télécharger dans son dossier personnel, dans un sous-dossier kernel.
On crée le dossier :
mkdir ~/kernel
On se déplace dedans :
cd ~/kernel
Une fois ce tuto fini, vous aurez: * dans ~/kernel : le kernel téléchargé et les paquets compilés et les nouvelles sources générés * dans ~/kernel/linux-X.X-X : les sources décompressées
On repasse en user dans le terminal, ensuite on décompresse le kernel téléchargé avec cette commande :
tar xvf linux-X.X-X.tar.xz
mkdir nomdufichier
pour qu'après la compilation vous ne cherchiez pas vos .deb
etc)
Puis on se rend dans l'archive décompressée :
cd linux-X.X-X/
Maintenant, dans cette étape, on va s'occuper de la configuration du kernel :
Il est conseillé de restaurer la configuration actuelle, pour ce faire, on peut faire au choix les commandes de type make oldconfig suivantes :
votreKernelActuellementActifOuPrecedant
et crée le .config.cp /boot/config-votreKernelActuellementActifOuPrecedant .config
Puis faire une des trois commandes suivantes au choix :
make olddefconfig
Cette commande s'exécutera en choisissant les valeurs par defaut en une fois2).
Ou :
make oldnoconfig
Cette comande répond N
à tout les nouveaux arguments, c'est utile surtout si vous avez un serveur parfaitement stable et que vous voulez mettre un kernel LTS Long Term Support
à la place d'un kernel en fin de support.
Ou encore :
make oldconfig
Cette commande vous demandera de valider les nouvelles options (ajoutées dans le nouveau kernel) par Y
ou par N
ou ou/et d'autres options encore.
entrée
.
Pour les plus avisés et/ou les bidouilleurs-fous, vous pouvez gratter à la main dans la configuration du kernel par cette interface semi-graphique de configuration :
make menuconfig
ATTENTION ! j'ai dû commenter deux lignes du .config après avoir configuré les kernel avec les commandes précédentes et celle de l'annexe optionnelle) :
CONFIG_MODULE_SIG_KEY=""
et :
CONFIG_SYSTEM_TRUSTED_KEYS="debian/certs/XXXX@debian.org.cert.pem"
avec les kernel 4.9 et 4.10-rc1 et rc2, sinon on obtient :
une erreur de compilation
Voir : Cette discussion bas post #27 et piste dans le post #2 de la discussion liée à ce tutoriel dans l'entête.
Il semble donc que, soi par commande, soi par configuration (par make menuconfig
ou par édition du fichier .config), qu'il faille désactiver les trusted_keys
(ce que j'ai dû désactiver) ; c'est sûrement valable pour d'autres versions du kernel.
Nous allons maintenant pouvoir nous mettre à compiler !
Selon la manière que je vais vous présenter :
fakeroot make deb-pkg -jX LOCALVERSION=-nomanecdotique KDEB_PKGVERSION=$(make kernelversion)-1
root
Makefile
qui va donner les instructions au compilateur.-jX
ici, le X est à remplacer par le nombre de threads
pour en savoir le nombre, utiliser htop du paquet du même nom et c'est le nombre au dessus de Mem
vers les cores
que vous avez dans le processeur de votre machine (ce n'est pas obligatoire, mais cela permet d'augmenter la vitesse de compilation, le processeur travaillant en entier sur tout ces cores avec tout ses threads avec cette option.nomanecdotique
par le nom que vous voulez, mais pas de lettres majuscules car sinon vers la fin de la compilation cela feras une erreur caractère non autorisé = la(les) lettres en majuscule
.
Maintenant, suivant la puissance de votre processeur, cela va prendre un peu de temps (20 min si vous avez un processeur très puissant genre intel core i7 overclocké et une semaine pour un pIImmx, en tout cas dans la plupart des cas des machines actuelles, c'est environ entre 2 et 4h de compilation).
Vous avez donc le temps de boire un thé ou un café, manger des Chocos-DF et d'écouter du hard-rock
Maintenant il va falloir sortir de l'archive :
cd ..
Puis, passez en root et listez le contenu du répertoire :
ls
Vous devriez avoir obtenu les fichiers :
linux-X.X-X-nomanecdotique_X.X-X-1_amd64.changes linux-X.X-Xnomanecdotique_X.X-X-1.debian.tar.gz linux-X.X-X-nomanecdotique_X.X-X-1.dsc linux-X.X-X-nomanecdotique_X.X-X-nomanecdotique.orig.tar.gz linux-firmware-image-X.X-X-nomanecdotique_X.X-X-1_amd64.deb linux-headers-X.X-X-nomanecdotique_X.X-X-1_amd64.deb linux-image-X.X-X-nomanecdotique_X.X-X-1_amd64.deb linux-image-X.X-X-nomanecdotique-dbg_X.X-X-1_amd64.deb linux-libc-dev_X.X-X-1_amd64.deb
Sans compter les fichiers qui étaient présents avant.
Les fichiers se terminant par .deb
sont les paquets installables directement, les autres sont les nouvelles sources, les modifications apportées enregistrées dans le .change
et la signature des clefs.
Il faut donc installer les .deb avec:
dpkg -i ''lesPaquets.deb''
(nous avons donc, pour nous, seulement besoin d'installer les .deb
, et accessoirement garder les autres fichiers)
On reboot la machine et cela devrait fonctionner.
Bravo! vous avez une machine avec le kernel de votre choix!
Source: ce lien en section 8.10.4 , Toute la page est intéressante pour tous les Fous-faciles!
Excusez mon Français approximatif au niveau des tournures de phrases, je tente de corriger mais je ne suis pas très bon de ce côté là, c'est d'ailleurs un des domaines pour lesquels vous pouvez contribuer tant que cela reste cohérent avec le tutoriel.