我正在开发一个linux内核模块,想要跟踪我的内核配置更改(例如:启用其他模块,激活动态调试等)以供将来参考。
git add .config
感觉不对。
有更好的方法吗?
将.config
置于Git下是坏主意,正如您正确提到的那样(基本上是因为它在make distclean
之后,所以这个解决方案是不可生产的)。此外,如果您已经有defconfig
文件为您的板,你不应该创建另一个,它可能被认为是不好的做法。
请查看scripts/kconfig/merge_config.sh脚本。你可以创建你自己的配置文件,它只包含一些现有的defconfig文件的更改,然后将你的这个文件与你正在使用的一些基本的defconfig
文件合并。
以TI内核分支为例,他们只是用配置块和脚本创建另一个目录(ti_config_fragments/
)来生成最终的.config
文件。
另一种使用merge_config.sh
脚本的方法是修改Makefile
的架构,添加一些新的规则来合并你的配置片段到已经存在的.config
文件,就像在arch/x86/Makefile中为kvmconfig
规则所做的那样。
无论如何,主要思想是保持你的配置增量在单独的文件(某处在arch/.../configs/
或在全新的目录),然后合并你的配置片段与现有的.config
文件(这通常是从一些defconfig
文件生成的)。当然你也可以在Git下跟踪你的配置片段文件
为您的主板(硬件)添加新的defconfig。
PATH: arch/arm/configs/for arm架构。
您可以通过make menuconfig -> Save添加新的菜单。要应用自己的配置,只需运行make your_board_defconfig