本文共 1801 字,大约阅读时间需要 6 分钟。
guang@arm-vexpress:/ # ls
bin lib mnt sys usr dev linuxrc proc test var etc lost+found sbin tmp guang@arm-vexpress:/ # cd test/ guang@arm-vexpress:/test # insmod qemu.ko qemu: loading out-of-tree module taints kernel. guang@arm-vexpress:/test # lsmod qemu 16384 0 - Live 0x7f000000 (O) guang@arm-vexpress:/test # insmod qemu.ko insmod: can’t insert ‘qemu.ko’: File existsguang@arm-vexpress:/test # rmmod qemu.ko
[Info]Hello! Enter QEMU. guang@arm-vexpress:/test # insmod qemu.ko [Info]Hello! Exit QEMU. guang@arm-vexpress:/test # lsmod qemu 16384 0 - Live 0x7f010000 (O) guang@arm-vexpress:/test # rmmod qemu.ko [Info]Hello! Enter QEMU. guang@arm-vexpress:/test # lsmod guang@arm-vexpress:/test #guang@arm-vexpress:/test # lsmod
guang@arm-vexpress:/test # insmod qemu.ko [Info]Hello! Exit QEMU. guang@arm-vexpress:/test # rmmod qemu.ko [Info]Hello! Enter QEMU. guang@arm-vexpress:/test #// qemu.c#include#include static int __init qemu_init (void){ printk (KERN_INFO"[Info]Hello! Enter QEMU."); return 0;}module_init (qemu_init);static void __exit qemu_exit (void){ printk (KERN_INFO"[Info]Hello! Exit QEMU.");}module_exit (qemu_exit);MODULE_AUTHOR ("Guang-kylin");MODULE_LICENSE ("GPL v2");MODULE_DESCRIPTION ("A simple qume test module");MODULE_ALIAS ("QEMU module");
// makefileKDIR=/home/guang/Develop/linux-stablePWD=$(shell pwd)# Kernel modulesobj-m += qemu.omodule-objs = qemu.oARCH=armCROSS_COMPILE=arm-linux-gnueabi-CC := $(CROSS_COMPILE)gccLD := $(CROSS_COMPILE)ld#EXTRA_CFLAGS=-g -O0default: make -C $(KDIR) M=$(PWD) modulesclean: rm -f *.ko *.o *.mod.c *.symvers *.order