No description
01_basic_module | ||
02_character_device | ||
03_process_monitor | ||
.envrc | ||
.gitignore | ||
flake.lock | ||
flake.nix | ||
README.md |
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