在 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
),您将获得与普通内核相同的行为。