Android kernel添加菜单选项
添加kernel模块
1. 添加hello.c
#include <linux/init.h>
#include <linux/module.h>
static int __init hello_init(void) /*模块加载函数,通过insmod命令加载模块时,被自动执行*/
{
printk(KERN_INFO " Hello World enter\n");
return 0;
}
static void __exit hello_exit(void) /*模块卸载函数,当通过rmmod命令卸载时,会被自动执行*/
{
printk(KERN_INFO " Hello World exit\n ");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_AUTHOR("dengwei"); /*模块作者,可选*/
MODULE_LICENSE("Dual BSD/GPL"); /*模块许可证明,描述内核模块的许可权限,必须*/
MODULE_DESCRIPTION("A simple Hello World Module");
2. 添加Makefile
obj-$(CONFIG_HELLO) += hello.o
3. 添加Kconfig
config HELLO
tristate "hello world support"
default m
---help---
This is hello.
4. 在上层的Kconfig中添加内核菜单选项
menu "my hello"
source "drivers/mydrivers/hello/Kconfig"
endmenu
5. 在上层的Makefile中添加hello的Makefile
obj-$(CONFIG_HELLO) +=hello/
备注
作者 [@lhgcs]
2020 年 07月 28日