Де зберігаються поточні параметри збірки ядра?


23

Чи є спосіб дізнатися, чи ядро ​​було зібрано з певною активізованою опцією (тобто CONFIG_PROC_EVENTS=y) без необхідності витягувати пакет джерел ядра та шукати у конфігураційному файлі?

Відповіді:


18

Якщо ви переглянете ваш /bootкаталог, ви помітите ці файли:

$ ls -l /boot/|grep config
-rw-r--r--  1 root root   109919 Oct 21  2011 config-2.6.35.14-100.fc14.x86_64
-rw-r--r--  1 root root   109919 Oct 27  2011 config-2.6.35.14-103.fc14.x86_64
-rw-r--r--  1 root root   109919 Nov 23  2011 config-2.6.35.14-106.fc14.x86_64

Зауважте, яку версію ядра ви використовуєте:

$ uname -r
2.6.35.14-106.fc14.x86_64

Якщо grepчерез відповідний uname -rфайл "config- " ви зможете побачити, з якими параметрами було створено ядро:

$ grep CONFIG_PROC_EVENTS= /boot/config-`uname -r`
CONFIG_PROC_EVENTS=y

Список літератури


4
Це вірно в дистрибутивах, заснованих на Debian, але може не бути правдою в інших, тобто Arch Linux.
Алісія

1
@ntrrgc - Я не можу підтвердити для ArchLinux, але це так для RedHat, Debian та Ubuntu. Ці 3 дистрибутива охоплюють більшу частину світу * nix. Якщо хтось має дистрибутив ArchLinux, чи можете ви підтвердити такий підхід?
slm

4
Я використовую Arch Linux і можу підтвердити, що це не працює в Arch Linux.
Алісія

@slm це навіть не так для Ubuntu, принаймні Kubuntu. Я щойно перевірив - єдине, що в мене є, /boot/це grubкаталог.
Привіт-Ангел

@slm, можливо, ці конфігурації є частиною пакету? Тоді було б досить перерахувати файли цього пакету.
Привіт-Ангел

14

Параметри ядра можна знайти в /proc/config.gz.

zgrep CONFIG_PROC_EVENTS= /proc/config.gz

якщо ядро ​​було складено CONFIG_IKCONFIG_PROC=y.


6
Це працює лише в тому випадку, якщо ядро ​​компільовано з набором CONFIG_IKCONFIG_PROC.
Брюс Едігер

1
Це не працювало для мене в жодному з наявних у мене дистрибутивів: Debian, на базі RedHat або Ubuntu. Це все біржові системи, тому я не думаю, що такий підхід є корисним, якщо ви не побудували своє ядро ​​самостійно або не забезпечите його.
слм

1
У ядрах дистрибутива опція IKCONFIG може бути включена лише як модуль. Спробуйmodprobe configs перевірити, чи з’являється /proc/config.gz.
XZS

1

Якщо ваше ядро ​​було CONFIG_IKCONFIG_PROCстворено, ви можете знайти конфігурацію, перелічену в/proc/config.gz

zless /proc/config.gz

Пакети ядра на основі Debian та Redhat зазвичай встановлюють config-$versionфайл у /boot,

less /boot/config-$(uname -r)

У Debian ви також можете знайти параметри за замовчуванням у kernel-packages ./kernel/Config/config, а також параметри конфігурації для архітектури в ./kernel/Config/.

mkdir /tmp/k
cd /tmp/k
apt-get source kernel-package
find . -path '*/kernel/Config/*' -type f

-1

sudo find / -xdev -name .config(-xdev зберігає його в одній файловій системі)

Взагалі буде під /usr/src/some-specific-kernel-header-version/.config

Просто прочитайте його як будь-який текст, шукайте з греппом або побачите, чим відрізняються дві версії diff -y -suppress-common-lines /path/linux2.6-r3/.config /path/linux2.6-r4/.config

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.