相关疑难解决方法(0)

Linux内核的`make defconfig`究竟做了什么?

我可以使用以下命令.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-kernel kbuild

24
推荐指数
1
解决办法
3万
查看次数

如何以非交互方式打开Linux内核.config文件中的功能?

我的情况是我们的软件需要使用几个不同的Linux内核发行版/内核树.(包括Android分叉)

在尝试自动化我们的构建过程时,我发现defconfig我们需要支持的特定构建的一些文件不包括我们依赖的内核模块.

例如,让我们想象一下,我需要一个名为XXXmy 的选项.config.对于某些依赖项,我可以这样做:

sed -i 's/# CONFIG_XXX is not set/CONFIG_XXX=m/' .config
Run Code Online (Sandbox Code Playgroud)

对于其他人来说,这并不容易,因为依赖性可能跨越多行.config语句.

是否有更加支持的方式以非交互方式执行此操作,或者我是否仍在编写更复杂的搜索和替换脚本?

linux build linux-kernel

9
推荐指数
3
解决办法
2717
查看次数

标签 统计

linux-kernel ×2

build ×1

kbuild ×1

linux ×1