Linux模块(Module)是一种动态加载到内核中的代码,它允许在不重启系统的情况下扩展内核的功能。模块通常用于实现硬件驱动、文件系统或其他内核服务。
Linux模块主要分为以下几类:
#include <linux/module.h>
#include <linux/kernel.h>
static int __init hello_init(void) {
printk(KERN_INFO "Hello, World!\n");
return 0;
}
static void __exit hello_exit(void) {
printk(KERN_INFO "Goodbye, World!\n");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Your Name");
MODULE_DESCRIPTION("A simple Hello World module");
MODULE_VERSION("0.1");
编译模块的命令:
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
insmod
命令加载模块:sudo insmod hello.ko
lsmod
命令查看已加载的模块:lsmod | grep hello
rmmod
命令卸载模块:sudo rmmod hello
dmesg
)获取更多错误信息。modprobe
命令自动解决依赖问题:sudo modprobe hello
sudo
命令执行加载和卸载操作。通过以上步骤和信息,你应该能够成功地在Linux系统中添加和管理模块。
领取专属 10元无门槛券
手把手带您无忧上云