编译简单的linux
内核模块
hello.c
1 | /* |
- 编译
insmod ./hello.ko
加载rmmod hello
卸载lsmod
显示加载的模块
在QEMU
中运行编译的Linux
内核
内核编译脚本 build.sh
1 | export ARCH=arm |
-
默认的内核配置文件为
LDDD3_vexpress_defconfig
.上述脚本会将自动编译好的zImage,dtbs
复制到extra
目录中 -
extra
目录下的vexpress是一张虚拟的SD卡,作为根文件系统的存放介质。它能以loop
形式被挂载mount
sudo mount -o loop,offset=$((2048*512)) extra/vexpress.img extra/img
编译模块的脚本 module.sh
1 | make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules |
- 它会自动编译内核模块并安装到
vexprees.img