Erklärung von verschiedenen Optionen zur Feineinstellung des Linux-Kernels

Loadable module support

Enable loadable module support (CONFIG_MODULES)

Kernelmodule sind eine Art Bauteile des Linuxkernel, die im laufenden Betrieb dynamisch hinzugeladen werden können. Sie sind ein Teil des Kernel und wurden ungefähr ab der Linuxversion 1.2 eingeführt. Falls du ein sicherheitskritisches System hast und hierfür den Kernel baust, empfiehlt es sich, diesen ohne Unterstützung für Kernelmodule zu bauen. Denn diese bieten mehr theoretische Angriffspunkte. In vielen Fällen kann es jedoch sehr sinnvoll und nützlich sein, einen Kernel mit Modulen zu bauen. Wenn du mehr zu Modulen wissen möchtest, schau dir das Module-HOWTO an.

Zur Benutzung (Laden, Entladen etc.) brauchst du die module-init-tools (ehemals modutils.

Falls du diesen Punkt auswählst, wirst du später bei einigen Optionen neben "Y" und "N" auch "M" für Modul auswählen können. Weiterhin musst du beim Kompilieren neben dem make-Lauf auch make modules_install ausführen. Dies installiert die Module nach /lib/modules/.

Module unloading (CONFIG_MODULE_UNLOAD)
Diese Option (de-)aktiviert die Möglichkeit, Module wieder zu entladen.
Forced module unloading (CONFIG_MODULE_FORCE_UNLOAD)
Hiermit kann man auch ein Modul entladen, wenn der Kernel meint, dies wäre unsicher. Generell ist diese Option eher für Entwickler oder experimentierfreudige Nutzer gedacht. Im Normalfall kann man das ausschalten.
Module versioning support (CONFIG_MODVERSIONS)
Diese Option ermöglicht die Nutzung von Kernelmodulen, die für eine andere Kernelversion gebaut wurden.
Source checksum for all modules (CONFIG_MODULE_SRCVERSION_ALL)
Mit dieser Option wird für alle Module ein Feld namens srcversion in den Modinfo-Abschnitt eingefügt.
Automatic kernel module loading (CONFIG_KMOD)
Falls diese Option aktiviert ist, wird der Kernel Module, die er benötigt, von allein nachladen. Diese Option sollte i.d.R. aktiviert sein.
Vorwort Vorbereitung Code maturity level General setup Loadable module support