Linux-Kernel
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
保留一些選項?
事實證明,這只是一個糟糕的時機。git/master(實際上是 4.15)受以下因素影響:
將舊筆記型電腦升級到 4.15-rc9 後,發現 eth0 和 wlan0 介面消失了。事實證明,b43 和 b44 驅動程序需要 SSB_PCIHOST_POSSIBLE,它依賴於 PCI_DRIVERS_LEGACY,這是一個僅存在於 Mips 上的配置選項。