`make savedefconfig` 会丢失配置选项吗?

`make savedefconfig` 会丢失配置选项吗?

我试图理解我在这里做错了什么。我的印象是,这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保留某些选项?

答案1

事实证明,这只是一个糟糕的时机。 git/master(实际上是 4.15)受以下因素影响:

将旧笔记本电脑升级到4.15-rc9后,我发现eth0和wlan0接口消失了。事实证明,b43 和 b44 驱动程序需要 SSB_PCIHOST_POSSIBLE,它依赖于 PCI_DRIVERS_LEGACY,这是一个仅存在于 Mips 上的配置选项。

相关内容