π§© 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.