Um diesen Nachteil zu umgehen wurde der modularisierte Kernel entwickelt. Hier werden die meisten Hardwaretreiber als zusätzliche Objektdateien dem Kernel zur Verfügung gestellt und bei Bedarf im laufenden Betrieb hinzugeladen. Diese Module können im laufenden Betrieb ausgetauscht werden und ermöglichen so ein komfortables Aktualisieren des Systems.
Im Normalfall wird ein Modul dynamisch in den laufenden Kernel eingebunden, wenn es geladen wird. Die meisten Aktionen im Zusammenhang mit den Modulen laufen automatisch ab. Manchmal ist es aber auch nötig Modul manuell zu bearbeiten um z. B. einen neuen Treiber in das laufende System einzubinden. Die Liste der geladenen Module liefert der Befehl lsmod (14.5.2). Module werden mit insmod (14.5.3) oder modprobe (14.5.6) in den Kernel eingebunden und durch rmmod (14.5.4) wieder entfernt. Informationen über eingebundene Module bekommen Sie über den Befehl modinfo (14.5.5).