首页 > 解决方案 > 即使 .config 存在,内核也会提示输入配置选项

问题描述

我做了

make ARCH=x86_64 x86_64_defconfig
make ARCH=x86_64 -j16

这对我来说很好。然后我需要启用 MMC/SD 卡支持,所以我做了make menuconfig并选择了所需的选项。这是 SD 支持后我以前和当前配置的差异。

3056,3084c3056
< CONFIG_MMC=y
< # CONFIG_MMC_DEBUG is not set
< 
< #
< # MMC/SD/SDIO Card Drivers
< #
< CONFIG_MMC_BLOCK=y
< CONFIG_MMC_BLOCK_MINORS=8
< CONFIG_MMC_BLOCK_BOUNCE=y
< # CONFIG_SDIO_UART is not set
< # CONFIG_MMC_TEST is not set
< 
< #
< # MMC/SD/SDIO Host Controller Drivers
< #
< CONFIG_MMC_SDHCI=y
< # CONFIG_MMC_SDHCI_PCI is not set
< # CONFIG_MMC_SDHCI_ACPI is not set
< # CONFIG_MMC_SDHCI_PLTFM is not set
< # CONFIG_MMC_WBSD is not set
< # CONFIG_MMC_TIFM_SD is not set
< # CONFIG_MMC_SDRICOH_CS is not set
< # CONFIG_MMC_CB710 is not set
< # CONFIG_MMC_VIA_SDMMC is not set
< # CONFIG_MMC_VUB300 is not set
< # CONFIG_MMC_USHC is not set
< # CONFIG_MMC_USDHI6ROL0 is not set
< # CONFIG_MMC_TOSHIBA_PCI is not set
< # CONFIG_MMC_MTK is not set
---
> # CONFIG_MMC is not set

现在,当我这样做时make ARCH=x86_64 -j16,它开始提示我进行配置设置(y/n/M):

scripts/kconfig/conf  --silentoldconfig Kconfig
*
* Restart config...
*
*
* Timers subsystem
*
Timer tick handling
  1. Periodic timer ticks (constant rate, no dynticks) (HZ_PERIODIC)
> 2. Idle dynticks system (tickless idle) (NO_HZ_IDLE)
  3. Full dynticks system (tickless) (NO_HZ_FULL) (NEW)
choice[1-3]: 
Old Idle dynticks config (NO_HZ) [Y/n/?] y
High Resolution Timer Support (HIGH_RES_TIMERS) [Y/n/?] y
*
* CPU/Task time and stats accounting
*
Cputime accounting
> 1. Simple tick based cputime accounting (TICK_CPU_ACCOUNTING)
  2. Full dynticks CPU time accounting (VIRT_CPU_ACCOUNTING_GEN) (NEW)
choice[1-2]: 
.
. 
.

我最初认为我新启用的选项依赖于这些被询问的选项,但事实并非如此。现在我无法弄清楚为什么现在我已经开始收到这些提示了?

标签: linuxmakefilelinux-kernelconfig

解决方案


如果使用,ARCH参数 tomake不仅在构建内核时需要,而且在配置时也需要:

make ARCH=x86_64 menuconfig

顺便说一句,您已经将该参数用于其他配置步骤:

make ARCH=x86_64 x86_64_defconfig

推荐阅读