Linux-Kernel
為什麼“/proc/config.gz”顯示錯誤配置?
當我使用更改的配置(從)重建核心時,該文件
/proc/config.gz
未更新。make menuconfig
例如,我已經重建了核心,BLK_DEV_IO_TRACE
它工作正常,但config.gz
仍然顯示# CONFIG_BLK_DEV_IO_TRACE is not set
. 當我們啟用時,核心原始碼的根目錄中的文件不是.config
包含在核心二進製文件中CONFIG_IKCONFIG
嗎?順便說一句,實際上它
config.gz
是.CONFIG_IKCONFIG=y``CONFIG_IKCONFIG=m
我正在使用 Android NDK 獨立 GCC 工具鏈來建構這個核心(3.18 arm64)。
筆記:
澄清一下,因為它會引起混淆,我確信我的新核心正在使用新配置執行。我已經啟用了對我的預設配置的一長串更改,這些更改現在正在執行,許多使用者空間程序依賴於這些配置:
CONFIG_IKCONFIG=m CONFIG_IKCONFIG_PROC=y CONFIG_VETH=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_NFS_FS=m CONFIG_NFS_V2=m CONFIG_NFS_V3=m CONFIG_NFS_V4=m CONFIG_NFS_V4_1=y CONFIG_NFS_V4_2=y CONFIG_NFSD=m CONFIG_NFSD_V3=y CONFIG_NFSD_V4=y CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_KEYS_DEBUG_PROC_KEYS=y CONFIG_OVERLAY_FS=m CONFIG_UTS_NS=y CONFIG_USER_NS=y CONFIG_PID_NS=y CONFIG_NET_CLS_CGROUP=m CONFIG_CGROUP_NET_CLASSID=y CONFIG_NETFILTER_XT_MATCH_CGROUP=m CONFIG_NETFILTER_NETLINK=m CONFIG_ISO9660_FS=m CONFIG_SQUASHFS=m CONFIG_UDF_FS=m CONFIG_UNIX_DIAG=m CONFIG_PSTORE=y CONFIG_FANOTIFY=y CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y CONFIG_DEBUG_FS=y CONFIG_FTRACE=y CONFIG_BLK_DEV_IO_TRACE=y
config.gz``Linux/arm64 3.18.71 Kernel Configuration
電流為 時顯示Linux/arm64 3.18.140 Kernel Configuration
。此外,它*defconfig
與arch/arm64/configs/
. 實際配置和config.gz
. 最初我使用arch/arm64/configs/franco_mido_defconfig
; 由自定義核心開發人員提供的一種。
在發布這個問題之前,我應該做更多的研究,但我想可能是我遺漏了一些東西。作為參考,問題顯示特定於我的核心源。自定義核心開發人員應用了一個更新檔以始終在核心二進製文件中包含較舊的配置。所以這應該被撤消(考慮到風險,如果有的話):
ifeq ($(CONFIG_MACH_XIAOMI_MIDO),y) $(obj)/config_data.gz: arch/arm64/configs/mido_defconfig FORCE else ifeq ($(CONFIG_MACH_XIAOMI_TISSOT),y) $(obj)/config_data.gz: arch/arm64/configs/tissot_defconfig FORCE else $(obj)/config_data.gz: $(KCONFIG_CONFIG) FORCE endif