Installing Kernel Modules

🧩 Hoofdstuk 14.2: Kernelmodules installeren in Linux

Soms is het nodig om kernelmodules handmatig toe te voegen aan het systeem, bijvoorbeeld voor specifieke hardware of aangepaste functionaliteit. Linux biedt hiervoor verschillende tools.

────────────────────────────────────────────
πŸ“¦ 1. Kernelmodules handmatig laden
────────────────────────────────────────────

Er zijn twee hoofdtools voor het laden van modules:

πŸ”Ή **insmod** – Direct laden van een modulebestand:

- Deze tool laadt één module rechtstreeks in de kernel.
- Je moet het volledige pad naar het .ko-bestand opgeven.
- Geschikt voor eenvoudige modules zonder afhankelijkheden.

πŸ“ Voorbeeld:
Laad een module in vanuit `/lib/modules/`:
β†’ De bestandsnaam is bijvoorbeeld `example.ko`.

Gebruik dit alleen als je zeker weet dat de module geen afhankelijkheden heeft.

πŸ”Ή **modprobe** – Aanbevolen manier om modules te laden:

- Laadt modules op basis van hun naam (zonder .ko-extensie).
- Zoekt automatisch de juiste module en laadt eventuele afhankelijkheden.
- Gebruikt `/lib/modules/modules.dep` om te bepalen welke modules bij elkaar horen.
- Kan gedetailleerde uitvoer geven met de `-v` (verbose) optie.

πŸ“ Voorbeeld:
Gebruik de naam van de module zoals geregistreerd in het systeem, bijv. `example_module`.

modprobe is veiliger en geschikter dan insmod voor de meeste situaties.

────────────────────────────────────────────
πŸ” 2. Afhankelijkheden beheren met depmod
────────────────────────────────────────────

πŸ”Ή **depmod** – Moduleafhankelijkheden analyseren:

- Scant alle beschikbare modules in `/lib/modules/` voor de actieve kernel.
- Genereert of vernieuwt het bestand `modules.dep`, waarin afhankelijkheden zijn gedefinieerd.
- Nuttig na het toevoegen van nieuwe modules of bij systeemupdates.

πŸ“ Voorbeeld:
Voer depmod uit na het plaatsen van een nieuwe module in het systeem.

Gebruik `depmod -a` om afhankelijkheden opnieuw te laten indexeren.

────────────────────────────────────────────
βœ… Samenvatting
────────────────────────────────────────────

| Tool | Functie |
|------------|----------------------------------------------|
| insmod | Laadt een enkele module met volledig pad |
| modprobe | Laadt modules op naam, met afhankelijksbeheer |
| depmod | Herbouwt afhankelijkheidsstructuur van modules |

Voor regulier gebruik wordt **modprobe** aanbevolen vanwege zijn gebruiksgemak en automatische beheer van afhankelijkheden. Na het toevoegen van nieuwe modules is het goed om **depmod** te draaien zodat het systeem weet hoe modules onderling verbonden zijn.