我试图了解我在这里做错了什么。我的印象是make savedefconfig
将一个配置减少到(等效的)最低限度。
所以这是我的步骤,直接从 Debian 包中获取一个配置文件:
$ dpkg -S /boot/config-4.14.0-3-powerpc
linux-image-4.14.0-3-powerpc: /boot/config-4.14.0-3-powerpc
$ apt-cache policy linux-image-4.14.0-3-powerpc
linux-image-4.14.0-3-powerpc:
Installed: 4.14.13-1
Candidate: 4.14.13-1
Version table:
*** 4.14.13-1 500
500 http://ftp.fr.debian.org/debian sid/main powerpc Packages
100 /var/lib/dpkg/status
将其复制到我的主机:
$ scp macminig4:/boot/config-4.14.0-3-powerpc ./arch/powerpc/configs/my_defconfig
验证我想玩的选项是否仍然存在:
$ grep CONFIG_SSB_B43_PCI_BRIDGE ./arch/powerpc/configs/my_defconfig
CONFIG_SSB_B43_PCI_BRIDGE=y
现在让我们更新它,因为它与 git v4.14 不完全同步:
$ git checkout v4.14
$ make ARCH=powerpc my_defconfig
$ diff -u .config ./arch/powerpc/configs/my_defconfig | diffstat
my_defconfig | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
所以发生了一些小的变化,但没有什么不好,至少我仍然可以看到我的选择:
$ grep CONFIG_SSB_B43_PCI_BRIDGE .config
CONFIG_SSB_B43_PCI_BRIDGE=y
现在让我们试试 savedefconfig:
$ make ARCH=powerpc savedefconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/bin2c
HOSTCC scripts/kconfig/conf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/zconf.lex.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf --savedefconfig=defconfig Kconfig
如果我现在检查我的选项现在永远丢失:
$ grep CONFIG_SSB_B43_PCI_BRIDGE defconfig
-> nothing !
为什么有些选项会消失?有没有办法控制savedefconfig
保留一些选项?
事实证明,这只是一个糟糕的时机。git/master(实际上是 4.15)受以下因素影响: