如何将自己的模块添加到Linux 2.6内核的配置系统中
2011-05-03 09:31
645 查看
要将自己开发的内核代码加入到 Linux 内核中,需要有三个步骤:
Ø 首先确定把自己开发代码放入到内核源代码结构中;
Ø 其次,通过Kconfig文件把自己开发的功能增加到 Linux 内核的配置选项中,使用户能够选择此功能;
Ø 最后,构建子目录 Makefile,根据用户的选择,将相应的代码编译到最终生成的 Linux 内核中去。
本例将添加一个test_char的字符设备驱动。按三个步骤来:
ü 放置驱动代码:在目录drivers/char/中新建驱动对应文件test_char.c(读者在实践时可先用touch test_char.c 生成一个空的测试文件)。
ü 编辑配置文件:编辑drivers/char/Kconfig文件,在文件末尾添加如下的配置脚本:
config TEST_CHAR
bool “My Test Character driver”
help
This is my help content.
ü 编辑Makefile:编辑drivers/char/Makefile,在文件末尾添加如下脚本:
obj-$(CONFIG_TEST_CHAR) += test_char.o
做完以上工作,就可以用make menuconfig查看并修改配置了。
在配置菜单 Device drivers à Character devices里的最后应该可以看到如下界面:
发现我们所定义的“My Test Character driver”已经出现在配置选择菜单里了。
这时可以移动到此菜单实体,然后通过空格选定此项。
最后退出并保存配置。
这时再打开根目录下的.config文件可以发现如下代码:
CONFIG_TEST_CHAR = y
这说明在编译时CONFIG_TEST_CHAR=y,也就是编译时会编译test_char.o (根据Makefile)。
至此,我们已经完成了将自己的模块添加到Linux内核中,并且可以通过界面进行配置。当然,由于篇幅所限,这里只说明了Linux 2.6内核配置系统的基本内容,更多内容读者可参见其他资料。
Ø 首先确定把自己开发代码放入到内核源代码结构中;
Ø 其次,通过Kconfig文件把自己开发的功能增加到 Linux 内核的配置选项中,使用户能够选择此功能;
Ø 最后,构建子目录 Makefile,根据用户的选择,将相应的代码编译到最终生成的 Linux 内核中去。
本例将添加一个test_char的字符设备驱动。按三个步骤来:
ü 放置驱动代码:在目录drivers/char/中新建驱动对应文件test_char.c(读者在实践时可先用touch test_char.c 生成一个空的测试文件)。
ü 编辑配置文件:编辑drivers/char/Kconfig文件,在文件末尾添加如下的配置脚本:
config TEST_CHAR
bool “My Test Character driver”
help
This is my help content.
ü 编辑Makefile:编辑drivers/char/Makefile,在文件末尾添加如下脚本:
obj-$(CONFIG_TEST_CHAR) += test_char.o
做完以上工作,就可以用make menuconfig查看并修改配置了。
在配置菜单 Device drivers à Character devices里的最后应该可以看到如下界面:
发现我们所定义的“My Test Character driver”已经出现在配置选择菜单里了。
这时可以移动到此菜单实体,然后通过空格选定此项。
最后退出并保存配置。
这时再打开根目录下的.config文件可以发现如下代码:
CONFIG_TEST_CHAR = y
这说明在编译时CONFIG_TEST_CHAR=y,也就是编译时会编译test_char.o (根据Makefile)。
至此,我们已经完成了将自己的模块添加到Linux内核中,并且可以通过界面进行配置。当然,由于篇幅所限,这里只说明了Linux 2.6内核配置系统的基本内容,更多内容读者可参见其他资料。
相关文章推荐
- linux2.6内核中如何添加新的文件系统
- Linux系统中如何添加自己的库文件路径
- Linux系统调用的内核命令 : 探究SCI并添加自己的调用
- 【ZYNQ_LINUX】如何把自己的驱动编译进内核或模块(Kconfig和Makefile
- Linux系统中如何添加自己的库文件路径
- Linux系统中如何添加自己的库文件路径
- Linux系统中如何添加自己的库文件路径
- 如何把一个自己写的外部驱动模块编译添加到内核中 来自网络
- Linux系统中如何添加自己的库文件路径 [转]
- 如何在Linux 4.12内核添加系统调用
- Linux系统中如何添加自己的库文件路径(转)
- Linux如何在系统启动时自动加载内核模块
- Linux 2.6内核配置说明(3----Loadable module support可加载模块支持)
- 使用 Linux 系统调用的内核命令--探究 SCI 并添加自己的调用
- 如何修改Linux系统下的PATH(如何添加自己的路径到PATH)
- (转载) 使用 Linux 系统调用的内核命令, 探究 SCI(systen call interface) 并添加自己的调用.
- Linux系统中如何添加自己的库文件路径
- Linux系统中如何添加自己的库文件路径
- 如何修改Linux系统下的PATH(如何添加自己的路径到PATH)
- CentOS 5.2,Linux 2.6+ 内核 ,Apache+MySQL+PHP 安装及基本配置过程记录 && 将apache安装为系统服务