marp | paginate | color | backgroundColor | header | footer | author |
---|---|---|---|---|---|---|
true |
true |
![width:100px height:100px](./img/logo.png) |
**01/01/1970 - Author** |
AnthonyF |
- Modules Kernel
- Principales commandes
- Notre premier Hello-Bye World module
- Code compile faisant partie du noyau Linux (souvant des drivers)
- Acces au controle total de la machine
- Acces aux appels systemes (Syscall : open, read, brk=>malloc)
==> Kernel space != User space
- Peut etre charge ou decharge (loaded/unloaded) au noyau
- Pas besoin de redemarrer le systeme ni de recompiler le noyau
- Systeme de fichier, protocoles reseaux, etc.
- Carte son, video, reseaux, etc.
- Carte video non-libre (Nvidia), Wi-fi, etc.
Command | Description |
---|---|
lsmod |
Show all loaded kernel modules |
modinfo module_name |
Show information about a kernel module |
modprobe --show-depends module_name |
Show dependencies of a module |
- les modules sont localises dans
/usr/lib/modules/$(uname -r)/
Pour les charger : sudo modprobe module_name
Si le module n'est dans le repertoire : sudo insmod /path/module_name
sudo modprobe -rf module_name
-r remove
-f force
ou :
sudo rmmod module_name
- fichier de conf :
/etc/module-load.d/name_of_file.conf
Exemple :
cat /etc/modules-load.d/modules.conf
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
module_name1
module_name1
- Eviter le chargement d'un module
- Ajout de l'option
blacklist
dans/etc/modprobe.d/
Exemple :
cat /etc/modules-load.d/blacklist.conf
# Not loaded modules
blacklist module_name1
blacklist module_name1
Les packets a installer :
- gcc
- make
- your kernel headers
- build-essential
Pour build-essential :
sudo apt install gcc build-essential make linux-headers-`uname -r`