kernel_module_learn/README.md
2025-02-08 17:33:19 +01:00

923 B

Setup env

On NixOS:

  • Ensure Linux Kernel is the same as you configuration. Otherwise, change linux_dev variable with you kernel variant and change flake.lock nixpkgs with your version.
  • Use direnv allow or nix develop to setup shell.

On other distros:

  • You need to setup LINUX_MODULES_FOLDER to linux modules folder of your distro (ex: /lib/modules/$(uname -r)/build) in flake.nix

make : targets list

  • all : Compiling kernel
  • clean : Cleaning build folder

All subfolder is configured to use LINUX_MODULES_FOLDER env variable set by flake develop

How test module

Step 1: Load module

sudo insmod [module_name].ko

Warning: Can fail if secure boot is enabled

Step 2: Check logs

sudo dmesg | tail

Step 3: Unload module

sudo rmmod [module_name].ko