Я случайно удалил свой .config для своей конфигурации ядра в Linux и, похоже, помнил, что был способ получить конфигурацию ядра через файловую систему proc.
Это все еще возможно, и если да, то как бы я это сделал?
В зависимости от вашей системы, вы найдете его в любом из следующих:
/proc/config.gz
/boot/config
/boot/config-$(uname -r)
и, возможно, больше мест.
Для реально работающего ядра один из способов получить конфигурационный файл это
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/
.
Немного поздно, но, возможно, это кому-то поможет. У меня на компьютере не было ни /proc/config.gz
ни /boot/config
ни /boot/config-$(uname -r)
. Мне пришлось запустить modprobe configs
от имени пользователя root. Затем был /proc/config.gz
Если вы не смогли найти конфигурацию ядра ни в /boot /, ни в /proc/config.gz, вы можете попробовать извлечь эту информацию из самого ядра.
Внутри любого исходного кода ядра есть скрипт для извлечения конфигурации, расположенный в scripts/extract-ikconfig
, передайте ядро, в котором вы хотите его конфигурацию, в качестве параметра для этого скрипта.
Это решение будет работать только в том случае, если в скомпилированном ядре включена Kernel .config support
.
Независимо от дистрибутива вы можете запустить: cat /lib/modules/$(uname -r)/build/.config
Источник: https://linux.die.net/man/5/proc (поиск /proc/config
).