Comment personnaliser votre noyau Ubuntu
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 appliquer des correctifs à votre noyau pour prendre en charge du matériel qui n'est actuellement pas pris en charge par 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 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 paquet-noyau 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
(coupé)
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 y a d'autres façons de faire cela, mais je préfère cette façon.
sudo / bin / bash
Maintenant changez de 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 situé 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
faire menuconfig
Commencez par charger un autre fichier de configuration, puis chargez le fichier .config. (appuyez simplement sur Entrée)
Maintenant que nous sommes dans l’utilitaire, nous pouvons définir les options de notre noyau personnalisé. La navigation est assez simple, il y a une légende au sommet si vous vous perdez. J'ai décidé de sélectionner la mise en réseau et appuyez sur la touche Entrée pour descendre dans cette catégorie.
Support radioamateur? Qu'est-ce que c'est installé pour quoi? Vous remarquerez par le * qu'il est intégré au noyau.
En appuyant sur le? clé, nous pouvons voir l'aide pour cet article particulier. Voici l'explication:
Eh bien, je vais désactiver cela immédiatement. Pourquoi diable est-ce que cela est installé dans mon noyau de toute façon? J'appuie sur Echap pour quitter l'écran d'aide, puis sur N pour l'exclure de mon noyau.
Lorsque vous avez fini de faire les choix que vous voulez, 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 du 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
J'ai l'intention 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 didacticiels très avancés sur linux. Vous remarquerez que la plupart des étapes décrites dans cet article sont similaires, bien que j'aie essayé de rendre cet article plus «Ubuntu»..