2011-05-23 10:49:38 +0000 2011-05-23 10:49:38 +0000
118
118

Получить конфигурацию ядра из работающей в настоящее время системы Linux?

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

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

Ответы (6)

118
118
118
2011-05-23 10:51:41 +0000

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

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

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

57
57
57
2013-01-18 08:34:10 +0000

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

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

39
39
39
2015-12-11 09:51:33 +0000

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

9
9
9
2016-09-23 16:33:31 +0000

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

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

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

6
6
6
2018-12-28 02:32:15 +0000

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

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

1
1
1
2019-09-15 18:53:43 +0000

Для дистрибутивов, основанных на RedHat, .config-файл готового ядра можно найти с помощью команды cat /lib/modules/$(uname -r)/build/.config, которая доступна после установки пакета kernel-devel с помощью этой команды:

yum -y install kernel-devel

Обратите внимание, что в дистрибутиве real Red Hat Enterprise Linux для получения этого пакета вам потребуется включить хранилище исходных текстов. На RHEL8 для этого используйте следующую команду:

subscription-manager repos --enable=rhel-8-for-x86_64-baseos-source-rpms

Похожие вопросы

6
10
5
37
12