要測試Linux內核模塊的module_param
功能,你需要按照以下步驟進行操作:
module_param
宏來定義一個或多個模塊參數。例如,創建一個名為hello_module.c
的文件,其中包含以下內容:#include<linux/init.h>
#include<linux/module.h>
#include<linux/kernel.h>
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Your Name");
MODULE_DESCRIPTION("A simple module to test module_param functionality");
static int my_param = 0;
module_param(my_param, int, S_IRUGO);
MODULE_PARM_DESC(my_param, "A sample integer parameter");
static int __init hello_module_init(void) {
printk(KERN_INFO "Hello, World! my_param=%d\n", my_param);
return 0;
}
static void __exit hello_module_exit(void) {
printk(KERN_INFO "Goodbye, World!\n");
}
module_init(hello_module_init);
module_exit(hello_module_exit);
Makefile
的文件,其中包含以下內容:obj-m += hello_module.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
運行make
命令來編譯內核模塊。
將編譯好的內核模塊加載到內核中。運行以下命令:
sudo insmod hello_module.ko
此時,你應該在系統日志中看到類似于Hello, World! my_param=0
的輸出。
sudo rmmod hello_module
sudo insmod hello_module.ko my_param=42
此時,你應該在系統日志中看到類似于Hello, World! my_param=42
的輸出,表明module_param
功能正常工作。
sudo rmmod hello_module
make clean
通過以上步驟,你已經成功地測試了Linux內核模塊的module_param
功能。