Linux内核包含非常多个组件,但不同的应用场景下需要打包的组件也不尽相同,更何况我们常常因为一些iot设备本身硬件资源有限,为了物尽其用要对内核组件进行裁剪。例如,对于路由器设备来说,我们再在打包Linux 内核时并不需要打包BT等驱动模块。Linux提供了一种称之为模块-Module的机制,可以让我们在编译内核的时候可以最小形式的编译必须的模块,从而控制内核大小。
一、hello_world模块示例
1.1 代码示例
在demo目录下,创建hello_world.c文件,其内容如下:
#include <linux/init.h>
#include <linux/module.h>
static int __init hello_init(void)
{
    printk(KERN_INFO "Hello, my world!\n");
    return 0;
}
static void __exit hello_exit(void)
{
    printk(KERN_INFO "See you, my world!\n");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL V2");
MODULE_AUTHOR("BILL"); 
1.2 运行效果
 













![[附源码]计算机毕业设计网文论坛管理系统Springboot程序](https://img-blog.csdnimg.cn/f40b3388bc1542079325c03e68756602.png)


![[激光原理与应用-36]:《光电检测技术-3》- 光学测量基础 - 光电效应与光电探测器的基本原理](https://img-blog.csdnimg.cn/img_convert/63d6386c1c98fff925a7eebf28dabdee.jpeg)


![[附源码]计算机毕业设计校园订餐系统Springboot程序](https://img-blog.csdnimg.cn/fd76442984d245a3a2ca19999fa8bcb9.png)