La personnalisation du noyau n'est pas pour tout le monde. Veuillez noter avant d'essayer que cela peut endommager votre système.
Il existe de nombreuses raisons pour lesquelles vous souhaitez personnaliser votre noyau. Vous voudrez peut-être réduire votre noyau aux seuls services nécessaires, en particulier si vous utilisez un serveur ou un périphérique dédié ne nécessitant que l'essentiel. Vous devrez peut-être aussi corriger votre noyau pour prendre en charge du matériel qui n’est pas actuellement pris en charge avec le noyau sur lequel vous travaillez.
Cet article n’expliquera pas comment patcher votre noyau, mais comment personnaliser votre noyau actuel. J’aurai un autre article de suivi qui explique comment patcher votre noyau et explique pourquoi vous souhaitez le faire.
Pour commencer, nous devons déterminer quelle version du noyau nous exécutons actuellement. Nous allons utiliser la commande uname pour cela
$ uname -r
2.6.17-10-generic
Nous devons maintenant installer le code source Linux pour votre noyau. Notez que j’exécute le noyau 2.6.17-10. La ligne du programme d’installation en tient compte. Pour les besoins de cet article, vous pouvez remplacer le numéro de noyau par tout ce que vous exécutez. Nous devons également installer la bibliothèque curses et quelques autres outils pour nous aider à compiler.
sudo apt-get install linux-source-2.6.17 kernel-package libncurses5-dev fakeroot
Si vous êtes curieux de savoir où la source Linux est installée, vous pouvez utiliser la commande dpkg pour vous dire les fichiers d’un paquet. Voici la sortie sur mon système:
$ dpkg -L linux-source-2.6.17 /. /usr /usr/src /usr/src/linux-source-2.6.17.tar.bz2 /usr/share /usr/share/doc /usr/share/doc/linux-source-2.6.17 (trimmed)
Nous pouvons voir que la source a été installée dans le répertoire / usr / src dans un fichier zippé.
Pour faciliter les choses, nous nous mettrons en mode racine en utilisant sudo pour ouvrir un nouveau shell. Il existe d’autres moyens de le faire, mais je préfère cela.
sudo /bin/bash
Maintenant changez le répertoire dans l’emplacement source pour que nous puissions l’installer. Notez que vous devrez peut-être installer l’utilitaire bunzip s’il n’est pas installé. (c'était sur le mien)
cd /usr/src
bunzip2 linux-source-2.6.17.tar.bz2
tar xvf linux-source-2.6.17.tar
ln -s linux-source-2.6.17 linux
Faites une copie de votre configuration de noyau existante à utiliser pour le processus de compilation personnalisé. Notez que le caractère `est celui en dessous du tilde ~
cp /boot/config-`uname -r` /usr/src/linux/.config
Nous allons maintenant lancer l'utilitaire qui nous permettra de personnaliser le noyau:
cd /usr/src/linux
make menuconfig
Commencez par charger un autre fichier de configuration, puis chargez le fichier.config. (appuyez simplement sur Entrée)
Lorsque vous avez terminé vos choix, cliquez sur Quitter et enregistrez la configuration lorsque vous y êtes invité.
Nous avons maintenant une configuration prête pour la compilation. Nous allons d’abord effectuer un nettoyage, juste pour nous assurer que tout est prêt pour la compilation.
make-kpkg clean
Ensuite, nous compilerons le noyau. Cela prendra beaucoup de temps, alors allez chercher quelque chose d'intéressant à faire.
fakeroot make-kpkg –initrd –append-to-version=-custom kernel_image kernel_headers
Ce processus créera deux fichiers.deb dans / usr / src contenant le noyau. Le fichier linux-image **** est l’image réelle du noyau et l’autre fichier contient le fichier Vous pouvez installer les deux avec dpkg. Les noms de fichiers seront probablement différents sur votre système.
Veuillez noter que lorsque vous exécuterez ces prochaines commandes, le nouveau noyau sera défini comme nouveau noyau par défaut. Cela pourrait casser des choses! Si votre ordinateur ne démarre pas, vous pouvez appuyer sur Echap dans le menu de chargement de GRUB et sélectionner votre ancien noyau. Vous pouvez ensuite désactiver le noyau dans /boot/grub/menu.lst ou essayer de compiler à nouveau.
dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
Maintenant, redémarrez votre machine. Si tout fonctionne, vous devriez exécuter votre nouveau noyau personnalisé. Vous pouvez vérifier cela en utilisant uname. Notez que le nombre exact sera différent sur votre machine.
uname -r
2.6.17.14-ubuntu1-custom
Je prévois d’écrire une série d’articles sur la personnalisation du noyau, alors abonnez-vous au flux RSS pour les mises à jour.
De plus, dans l’intérêt d’une divulgation complète, j’ai appris à le faire grâce à l’article de HowtoForge, un excellent site Web pour des tutoriels très avancés sur Linux. Vous remarquerez que la plupart des étapes décrites dans cet article sont similaires, bien que j’ai essayé de rendre cet article plus «Ubuntu».