96

Я случайно удалил свой .config для своей конфигурации ядра в Linux и, похоже, помнил, что был способ получить конфигурацию ядра через файловую систему proc.

Это все еще возможно, и если да, то как бы я это сделал?

5 ответов5

98

В зависимости от вашей системы, вы найдете его в любом из следующих:

  1. /proc/config.gz
  2. /boot/config
  3. /boot/config-$(uname -r)

и, возможно, больше мест.

51

Для реально работающего ядра один из способов получить конфигурационный файл это

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/ .

33

Немного поздно, но, возможно, это кому-то поможет. У меня на компьютере не было ни /proc/config.gz ни /boot/config ни /boot/config-$(uname -r) . Мне пришлось запустить modprobe configs от имени пользователя root. Затем был /proc/config.gz

8

Если вы не смогли найти конфигурацию ядра ни в /boot /, ни в /proc/config.gz, вы можете попробовать извлечь эту информацию из самого ядра.

Внутри любого исходного кода ядра есть скрипт для извлечения конфигурации, расположенный в scripts/extract-ikconfig , передайте ядро, в котором вы хотите его конфигурацию, в качестве параметра для этого скрипта.

Это решение будет работать только в том случае, если в скомпилированном ядре включена Kernel .config support .

3

Независимо от дистрибутива вы можете запустить: cat /lib/modules/$(uname -r)/build/.config

Источник: https://linux.die.net/man/5/proc (поиск /proc/config).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .