Wo werden die aktuellen Kernel-Build-Optionen gespeichert?

22

Gibt es eine Möglichkeit CONFIG_PROC_EVENTS=yherauszufinden , ob der Kernel mit einer bestimmten aktivierten Option kompiliert wurde (dh ), ohne das Kernel-Quellcode-Paket herausziehen und in der Konfigurationsdatei nachsehen zu müssen?

Alicia
quelle

Antworten:

17

Wenn Sie in Ihrem /bootVerzeichnis nachsehen, werden Sie folgende Dateien bemerken:

$ 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

Beachten Sie, welche Version des Kernels Sie verwenden:

$ uname -r
2.6.35.14-106.fc14.x86_64

Wenn Sie grepdurch die entsprechende „config- uname -r“ Datei , die Sie , welche Möglichkeiten sehen kann , wurde der Kernel gebaut mit:

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

Verweise

slm
quelle
4
Das stimmt in Debian-basierten Distributionen, aber möglicherweise nicht in anderen, dh Arch Linux.
Alicia
1
@ntrrgc - Ich kann es für ArchLinux nicht bestätigen, aber für RedHat, Debian und Ubuntu ist es so. Diese 3 Distributionen decken den größten Teil der * nix-Welt ab. Wenn jemand eine ArchLinux-Distribution hat, können Sie diesen Ansatz bestätigen?
SLM
4
Ich verwende Arch Linux und kann bestätigen, dass dies unter Arch Linux nicht funktioniert.
Alicia
@slm das gilt nicht mal für Ubuntu, jedenfalls Kubuntu. Ich habe gerade nachgesehen - das einzige, was ich habe, /boot/ist das grubVerzeichnis.
Hi-Angel
@slm vielleicht sind diese configs ein teil irgendeines pakets? Dann würde es ausreichen, Dateien dieses Pakets aufzulisten.
Hi-Angel
13

Kernel-Optionen finden Sie in /proc/config.gz.

zgrep CONFIG_PROC_EVENTS= /proc/config.gz

wenn der Kernel mit kompiliert wurde CONFIG_IKCONFIG_PROC=y.

Alicia
quelle
6
Dies funktioniert nur, wenn der Kernel mit gesetztem CONFIG_IKCONFIG_PROC kompiliert wurde.
Bruce Ediger
1
Dies funktionierte für mich in keiner der Distributionen, die ich zur Verfügung hatte: Debian, RedHat-basiert oder Ubuntu. Dies sind alles Aktiensysteme, daher halte ich diesen Ansatz nicht für so nützlich, es sei denn, Sie haben Ihren Kernel selbst erstellt oder Ihre spezielle Distribution bietet ihn an.
SLM
1
In Distributionskernen kann die Option IKCONFIG nur als Modul aktiviert werden. Versuchen Sie, zu modprobe configsüberprüfen, ob /proc/config.gz angezeigt wird.
XZS
0

Wenn Ihr Kernel mit erstellt wurde CONFIG_IKCONFIG_PROC, finden Sie die Konfiguration unter/proc/config.gz

zless /proc/config.gz

Debian und Redhat basierte Kernel - Pakete installieren im Allgemeinen eine config-$versionDatei in /boot,

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

In Debian können Sie auch die Standardoptionen in finden kernel-package‚s ./kernel/Config/configsowie Architektur bestimmten Konfigurationsoptionen bei ./kernel/Config/.

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

sudo find / -xdev -name .config(-xdev hält es auf einem Dateisystem)

Im Allgemeinen wird es unter sein /usr/src/some-specific-kernel-header-version/.config

Lesen Sie es einfach als beliebigen Text, suchen Sie mit grep oder sehen Sie, wie sich zwei Versionen unterscheiden diff -y -suppress-common-lines /path/linux2.6-r3/.config /path/linux2.6-r4/.config

Maximale Kraft
quelle