Pourquoi une option du kernel en dur plutôt qu'en module ?

Bonjour à tous

Je me demandais quel était l’avantage de mettre une option du noyau en dur plutôt qu’en module lorsque l’on souhaite recompiler son kernel ?

Je sais que par exemple certains drivers utilisés pour amorcer le système doivent être en dur pour être disponibles lors du chargement du noyau, mais pour le reste ?

Merci à vous

La fonction est disponible sans devoir charger un module. Cela peut être intéressant quand

  • on compile un noyau tout en dur sans module pour des questions de simplicité (pas besoin de module-init-tools) ou de sécurité (les modules s’exécutant en espace noyau, ils peuvent constituer un risque)
  • on démarre sans initrd/initramfs, il faut alors que les pilotes nécessaires au montage du système de fichiers racine soient en dur.

Ce n’est pas vrai si on démarre avec un initd/initramfs qui contient les modules nécessaires. Les noyaux génériques fournis par Debian sont dans ce cas. L’avantage est que la taille du noyau en mémoire est minimale puisqu’on ne s’encombre pas avec des pilotes inutiles en dur.

Pour ma part les seuls modules que je compile en dur sont ceux des pilotes disque et des systèmes de fichiers racines de mes machines pour ne pas utiliser d’initramfs. Tout le reste est en module.

Re,

Sans avoir les connaissances de Pascal, je dirais:

En dur les modules servant en permanence
En modules comme les services qui ne sont lancés qu’occasionnellement.

Pour un module compilé en dur il n’y a pas de translation d’adresse (gain de temps) et si ce module est appelé très souvent tu vas finir par gagner plusieurs millisecondes dans ta journée :laughing:

Super, merci pour vos réponses, ça répond tout à fait à ma question :smiley: