Di mana opsi kernel build saat ini disimpan?

23

Apakah ada cara untuk mengetahui apakah kernel dikompilasi dengan opsi tertentu yang diaktifkan (yaitu CONFIG_PROC_EVENTS=y) tanpa harus mencabut paket source kernel dan mencari di file konfigurasi?

Alicia
sumber

Jawaban:

18

Jika Anda melihat-lihat /bootdirektori Anda, Anda akan melihat file-file ini:

$ 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

Perhatikan versi Kernel apa yang Anda gunakan:

$ uname -r
2.6.35.14-106.fc14.x86_64

Jika Anda grepmelalui uname -rfile " config- " yang sesuai, Anda dapat melihat opsi apa yang dibangun dengan Kernel:

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

Referensi

slm
sumber
4
Itu benar di distro berbasis Debian, tetapi mungkin tidak benar di yang lain, yaitu Arch Linux.
Alicia
1
@ntrrgc - Saya tidak bisa mengonfirmasi untuk ArchLinux, tapi begitulah untuk RedHat, Debian, & Ubuntu. Ketiga distro ini mencakup sebagian besar dunia * nix. Jika seseorang memiliki distro ArchLinux, bisakah Anda mengonfirmasi pendekatan ini?
slm
4
Saya menggunakan Arch Linux dan saya dapat mengonfirmasi ini tidak berfungsi di Arch Linux.
Alicia
@slm ini bahkan tidak berlaku untuk Ubuntu, setidaknya Kubuntu. Saya baru saja memeriksa - satu-satunya yang saya miliki /boot/adalah grubdirektori.
Hi-Angel
@slm mungkin konfigurasi ini merupakan bagian dari beberapa paket? Maka akan cukup untuk mendaftar file dari paket itu.
Hi-Angel
14

Opsi kernel dapat ditemukan di /proc/config.gz.

zgrep CONFIG_PROC_EVENTS= /proc/config.gz

jika kernel dikompilasi dengan CONFIG_IKCONFIG_PROC=y.

Alicia
sumber
6
Ini hanya berfungsi jika kernel dikompilasi dengan set CONFIG_IKCONFIG_PROC.
Bruce Ediger
1
Ini tidak berfungsi untuk saya di salah satu distro yang saya miliki: Debian, RedHat, atau Ubuntu. Ini semua adalah sistem stok jadi saya tidak berpikir pendekatan ini berguna jika Anda tidak membangun kernel sendiri atau distro khusus Anda menyediakannya.
slm
1
Di kernel distro, opsi IKCONFIG hanya dapat diaktifkan sebagai modul. Coba modprobe configsdan periksa apakah /proc/config.gz muncul.
XZS
0

Jika kernel Anda dibuat dengan CONFIG_IKCONFIG_PROC, Anda dapat menemukan konfigurasi yang terdaftar di/proc/config.gz

zless /proc/config.gz

Paket kernel berbasis Debian dan Redhat umumnya menginstal config-$versionfile di /boot,

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

Di Debian Anda juga dapat menemukan opsi default kernel-packagedi ./kernel/Config/configdan opsi konfigurasi khusus arsitektur di ./kernel/Config/.

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

sudo find / -xdev -name .config(-xdev menyimpannya di satu sistem file)

Secara umum itu akan di bawah /usr/src/some-specific-kernel-header-version/.config

Cukup baca sebagai teks apa saja, cari dengan grep, atau untuk melihat perbedaan dua versi diff -y -suppress-common-lines /path/linux2.6-r3/.config /path/linux2.6-r4/.config

Kekuatan penuh
sumber