我意外删除了 Linux 上内核配置的 .config,但似乎记得有一种方法可以通过 proc 文件系统检索内核配置。
这仍然可能吗?如果可能,我该怎么做?
答案1
根据您的系统,您可以在以下任何一个中找到它:
/proc/config.gz
/boot/config
/boot/config-$(uname -r)
甚至可能更多地方。
答案2
对于实际运行的内核,获取配置文件的一种方法是
cat /proc/config.gz | gunzip > running.config
或者,
zcat /proc/config.gz > running.config
然后running.config
将包含正在运行的Linux内核的配置。
然而,这只有在你运行的 Linux 内核配置为 时才有可能/proc/config.gz
。此配置位于
General setup
[*] Kernel .config support
[*] Enable access to .config through /proc/config.gz
大多数发行版没有此配置集。它们在内核包中提供内核配置文件,通常位于/boot/
目录中。
答案3
有点晚了,但也许对某些人有帮助。我的电脑上没有。/proc/config.gz
我必须以 root 身份运行。然后,出现了/boot/config
/boot/config-$(uname -r)
modprobe configs
/proc/config.gz
答案4
如果您在 /boot/ 或 /proc/config.gz 中找不到内核配置,您可以尝试从内核本身提取此信息。
在任何内核源代码中都有一个用于提取配置的脚本scripts/extract-ikconfig
,将您想要其配置的内核作为参数传递给该脚本。
Kernel .config support
只有在编译的内核中启用该解决方案才会起作用。