Android kernel添加菜单选项

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日


版权声明:本文为onj123原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。