在 Debian Jessie 中, make allnoconfig 和 make allyesconfig 生成相同的 .config 文件

在 Debian Jessie 中, make allnoconfig 和 make allyesconfig 生成相同的 .config 文件

在 debian jessie 中,我安装了 linux 源:

sudo apt-get install linux-source

我获得一个文件/usr/src/linux-source-3.16.tar.xz,将其复制到我的主目录下,更改所有权并提取它:

sudo cp /usr/src/linux-source-3.16.tar.xz /home/orto/src
cd /home/orto/src
sudo chown orto:orto linux-source-3.16.tar.xz
tar xvf linux-source-3.16.tar.xz

我运行的命令make allnoconfig应该make help对所有选项都回答“否”:

allnoconfig - 新配置,其中所有选项均以 no 回答

但如果我计算“是”答案的数量:

grep "=y" .config | wc -l

我得到6541 是的答案。为什么?

编辑(1)

vanilla 内核不会出现此问题。

git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux-stable/
git checkout v3.16
make allnoconfig
grep "=y" .config | wc -l

我只获得193 是的答案

编辑(2)

看起来make allnoconfig生成的.config文件与make allyesconfig

答案1

Debian 对官方内核代码进行了大量补丁,包括 config程序[1]。这会改变make allyesconfig/allnoconfig 行为方式。此外,Kconfig在没有明确询问用户的情况下,还修改了许多文件并选择了某些符号。

如果您删除quilt pop -a相关 Linux 软件包源代码中的所有补丁(您可以使用 获得它apt-get source linux-source-3.16),您将获得与普通内核相同的行为。

答案2

make tinyconfig就是你想要的

https://tiny.wiki.kernel.org/

编辑:可能仅适用于 >= 3.17 的内核

相关内容