资讯专栏INFORMATION COLUMN

Linux 内核中 Kconfig 文件的作用和添加 menuconfig 项的方法

Snailclimb / 1831人阅读

摘要:内核中文件的作用本文地址的作用就是服务于的一个配置文件。在对应目录下配置文件,就是在配置对应的项目。后面的指明帮助信息,并且会在菜单中出现。完成了之后,内核会生成文件,就在代码树的根目录下。

Ref: Linux内核中Kconfig文件的作用

本文地址:https://segmentfault.com/a/11...


Kconfig的作用

Kconfig就是服务于menuconfig的一个配置文件。在对应目录下配置Kconfig文件,就是在配置对应的menuconfig项目。
有很多种配置方式,这里我暂时只是给一种简单的,也就是yes和no的方式。比如我新添加了一个配置,写了一个电机驱动设备:

config XXXX_MOTOR
    bool "xxxx 4-phased motor support"
    default y
    ---help---
        Provide GPIO-based motor support.
        Designed by AMC.

其中bool表示这是一个二态值(三态值是“tristate”)。后面的“---help---”指明帮助信息,并且会在menuconfig菜单中出现。注意帮助信息并不会自动换行,一行太长显示不了的信息会被截断,所以请自行控制换行。

其他更复杂的配置方式,可以仔细看参考资料。

完成了make menuconfig之后,内核会生成.config文件,就在Linux代码树的根目录下。这个文件制定了各个模块是否会被编译,由Makefile读取并在编译过程中配置内核。

Makefile的修改

如果你修改了对应文件夹下面的Kconfig,那么你还要修改相应的Makefile才行。以前文为例,我添加了配置项在Kconfig中,这个Kconfig的位置是drivers/char/,那么我必须在这个文件夹下的Makefile中添加一行:

obj-$(CONFIG_XXXX_MOTOR) += xxxx_motor.o

其中要正确地写上目标文件的名称。然后,专心添加你的.c和.h文件就行了。由于是二态的选项,所以你的代码要么就直接被包含在内核中,要么就压根不存在。不像三态的,还有一个“M”选项。三态配置参见参考资料吧。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/9311.html

相关文章

  • Linux 内核 Kconfig 文件作用添加 menuconfig方法

    摘要:内核中文件的作用本文地址的作用就是服务于的一个配置文件。在对应目录下配置文件,就是在配置对应的项目。后面的指明帮助信息,并且会在菜单中出现。完成了之后,内核会生成文件,就在代码树的根目录下。 Ref: Linux内核中Kconfig文件的作用 本文地址:https://segmentfault.com/a/11... Kconfig的作用 Kconfig就是服务于menuconfig...

    walterrwu 评论0 收藏0
  • Linux内核移植入门

    摘要:表示,不是用压缩的。两者的不同之处在于,解压缩内核到低端内存第一个,解压缩内核到高端内存以上。如果内核比较小,那么采用或都行,如果比较大应该用。使得内核可以启动文件的拷贝或指向的链接。 ...

    tomorrowwu 评论0 收藏0
  • CentOS 6.x 内核升级(2.6.32 -> 3.10.58)过程记录

    摘要:本人升级的目的是想在上运行,官方建议内核版本在及以上,于是就自己从内核官方网站上下载源码,自己编译。也建议在之前,运行脚本检查当前内核运行所缺失的模块。如何清除原内核现有软件是否需要升级参考资料升级内核到内核配置方式详解原文链接地址 本人升级的目的是想在CentOS6.2上运行docker,官方建议内核版本在3.8.0及以上,于是就自己从Linux内核官方网站上下载源码,自己编译。 ...

    masturbator 评论0 收藏0
  • CentOS 6.x 内核升级(2.6.32 -> 3.10.58)过程记录

    摘要:本人升级的目的是想在上运行,官方建议内核版本在及以上,于是就自己从内核官方网站上下载源码,自己编译。也建议在之前,运行脚本检查当前内核运行所缺失的模块。如何清除原内核现有软件是否需要升级参考资料升级内核到内核配置方式详解原文链接地址 本人升级的目的是想在CentOS6.2上运行docker,官方建议内核版本在3.8.0及以上,于是就自己从Linux内核官方网站上下载源码,自己编译。 ...

    CarterLi 评论0 收藏0
  • 使用OneOS-Cube快速开发OneOS-Lite操作系统

    摘要:我们热情推荐大家使用进行系统的配置,编译和构建。下载工具请点击下载把下载的工具用解压到一个不存在任何中文字符的任意目录中。说明工具不支持含有中文字符的路径。 上篇文...

    mist14 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<