Comment construire un kernel Linux monolithique sans se fouler

Tous les vrais geeks vous le diront : il faut avoir (re)compilé un noyau au moins une fois dans sa vie.

Le problème, c'est que c'est compliqué. En fait non, le problème, c'est qu'il y a tellement de modules et d'options auxquelles on ne comprend rien, même avec l'aide, qu'en fait la compilation maison ne sert à rien.

En effet, le but de (re)compiler son noyau, c'est d'alléger au maximum son noyau en ne gardant que les drivers nécessaires à notre usage. C'est un noble but pour deux raisons :

  • Un noyau plus léger se charge plus rapidement et accélère donc le démarrage
  • Un noyau correctement customisé contient normalement moins de risques de bugs ou de trous de sécurité.

Donc la (re)compilation, c'est bien. Mais c'est compliqué.

C'est alors qu'apparaissent deux commandes magiques :

make localmodconfig

qui va créer une configuration avec tous les drivers (et rien qu'eux) normalement nécessaires pour faire fonctionner l'ordinateur sur lequel on effectue la (re)compilation en tant que modules.

make localyesconfig

Cette commande a le même but que la précédente sauf qu'elle intègre directement les drivers dans le noyau.

Attention, ces deux commandes n'assurent pas d'avoir un noyau qui fonctionnera sur votre ordinateur mais qui devrait fonctionner, mais bon, je pense qu'il y a plus de chances d'obtenir un noyau réduit mais fonctionnel qu'en y allant à la main. Et de toute façon, rien ne vous empêche d'aller vérifier après !

Source : https://lwn.net/Articles/347713/ et M.Lucas Nussbaum