GitHub - sjas/linux-kernel-module-cheat at workqueue-mod · GitHub
Skip to content

sjas/linux-kernel-module-cheat

 
 

Repository files navigation

Linux Kernel Module Cheat

Run one command, get into QEMU Buildroot BusyBox with several minimal Linux kernel module example tutorials. Tested in Ubuntu 14.04.

Usage:

./run

First build will take a while (GCC, Linux kernel).

QEMU opens up, and you can run:

insmod /hello.ko
insmod /hello2.ko
rmmod hello
rmmod hello2

Each module comes from a C file under kernel_module/. head *.c for module usage.

The Linux kernel version can be found with:

grep BR2_LINUX_KERNEL_VERSION buildroot/.config

We use printk a lot, and it shows on the QEMU terminal by default. If that annoys you (e.g. you want to see stdout separately), do:

dmesg -n 1

See also: https://superuser.com/questions/351387/how-to-stop-kernel-messages-from-flooding-my-console

  1. Introduction
  2. Build
  3. kmod
  4. Bibliography
  5. Examples
    1. Host
    2. Buildroot
      1. hello
      2. hello2
      3. debugfs
      4. fops
      5. workqueue

About

Run one command, get a QEMU or gem5 Buildroot BusyBox virtual machine built from source with several minimal Linux kernel 4.16 module development example tutorials with GDB and KGDB step debugging and minimal educational hardware models. "Tested" in x86, ARM and MIPS guests, Ubuntu 17.10 host.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

Contributors

Languages

  • C 68.5%
  • Shell 26.5%
  • Makefile 4.2%
  • C++ 0.8%