The*_*eer 17 kernel make configuration linux-kernel
我有一种情况,我有两个内核配置文件(对于相同的内核源)。它们都具有我需要的一部分功能(一方面,USB 工作正常,另一方面,第二个 I2C)。
我知道,从 menuconfig 的角度来看,这两个配置文件之间的差异仅包括几个选定的选项。(但不知道是哪个)
然而,当手动比较配置文件(在两个 .config 文件之间融合)时,差异并不容易识别。我尝试手动合并它们但没有成功。我相信我最终会成功,但相信如果以它们出现在 menuconfig 中的方式比较文件,这个过程可能会更轻松。
这可以实现吗,如果可以,如何实现?
小智 20
尝试使用scripts/diffconfigLinux 内核源代码树。
用法:
diffconfig config-a config-b
Run Code Online (Sandbox Code Playgroud)
显示与 config-a 相关的已删除、修改和添加到 config-b 文件的行列表。
小智 8
内核源码中有一个脚本;
脚本/kconfig/merge_config.sh
它将采用 2 个内核配置作为参数 - 它将在第一个之上合并第二个。第二个配置中的任何内容都将覆盖第一个配置 - 即使它是像“#CONFIG_ is not set”这样的行
请参阅http://processors.wiki.ti.com/index.php/Quick_start_with_3.14_linux
如果这两个文件是由 生成的make menuconfig,它们将具有相同顺序的选项,因此一个简单的diff(通过 Meld 或您喜欢的任何前端)将给出可用的结果。
如果忽略注释行,您可能会得到更具可读性的内容:
diff -I '^#' old.config new.config
Run Code Online (Sandbox Code Playgroud)
如果由于某种原因文件的顺序不同,您可以对它们进行排序。这样做的缺点是相关选项相距甚远。再次,删除评论。用于comm剥离公共线。
comm -3 <(<old.config grep '^[^#]' | sort) <(<new.config grep '^[^#]' | sort)
Run Code Online (Sandbox Code Playgroud)
您可以sort在比较之前尝试 ing 这些文件:
meld <(sort config-a) <(sort config-b)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12960 次 |
| 最近记录: |