代碼: /* hello.c */ #include <linux/module.h> #include <linux/kernel.h> /* Optional, to include printk() prototype */ #include <linux/init.h> /* Optional, to include module_init() macros */ static int __init hello_init(void) { printk("Hello, how are you?/n"); /* A non 0 return means init_module failed; module can't be loaded. */ return 0; } static void __exit hello_exit(void) { printk("I'm fine. Goodbye!/n"); } module_init(hello_init); module_exit(hello_exit); 編譯方法: 1. 準備好一個配置編譯好的內(nèi)核代碼樹 2. 把 hello.c 放置在一個單獨的目錄,,并在這個目錄中編寫一個Makefile: obj-m := hello.o 3. 編譯命令:make -C <內(nèi)核代碼樹目錄> M=`pwd` 運行方法: 1. 當前運行的內(nèi)核和要執(zhí)行的模塊是同一版本,,root 權(quán)限。 2. insmod ./hello.ko 3. 卸載:rmmod hello |
|
來自: xsx2008 > 《LINUX KERNAL》