我可以使用以下命令.config根据基于ARM的自定义板的指定体系结构默认值创建Linux内核文件:
ARCH=arm make defconfig KBUILD_DEFCONFIG=var_som_mx6_android_defconfig
Run Code Online (Sandbox Code Playgroud)
我以为这个命令或多或少复制./arch/arm/configs/var_som_mx6_android_defconfig到了./.config.但是,生成的.config文件并不完全是副本:
$ diff --unified arch/arm/configs/var_som_mx6_android_defconfig .config
--- arch/arm/configs/var_som_mx6_android_defconfig 2017-01-20 12:10:51.891515984 -0800
+++ .config 2017-01-26 15:31:29.000000000 -0800
@@ -407,6 +407,7 @@
CONFIG_ARM_ERRATA_751472=y
CONFIG_ARM_ERRATA_794072=y
CONFIG_ARM_ERRATA_761320=y
+CONFIG_ARM_ERRATA_845369=y
# CONFIG_ARM_ERRATA_753970 is not set
CONFIG_ARM_ERRATA_754322=y
# CONFIG_ARM_ERRATA_754327 is not set
@@ -2683,7 +2684,6 @@
CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=y
# CONFIG_CUSE is not set
-CONFIG_AUFS_FS=y
#
# Caches
@@ -2759,6 +2759,21 @@
# CONFIG_PSTORE is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is …Run Code Online (Sandbox Code Playgroud) 我的情况是我们的软件需要使用几个不同的Linux内核发行版/内核树.(包括Android分叉)
在尝试自动化我们的构建过程时,我发现defconfig我们需要支持的特定构建的一些文件不包括我们依赖的内核模块.
例如,让我们想象一下,我需要一个名为XXXmy 的选项.config.对于某些依赖项,我可以这样做:
sed -i 's/# CONFIG_XXX is not set/CONFIG_XXX=m/' .config
Run Code Online (Sandbox Code Playgroud)
对于其他人来说,这并不容易,因为依赖性可能跨越多行.config语句.
是否有更加支持的方式以非交互方式执行此操作,或者我是否仍在编写更复杂的搜索和替换脚本?