Wie überprüfe ich, welche Kerneloptionen kompiliert wurden, ohne nach / boot / config- * zu suchen?

42

Wie überprüfe ich, welche Optionen in einem Linux-Kernel kompiliert sind, ohne darauf zu achten, /boot/config-*und ob ich keinen Zugriff auf die /boot/config-*verbleibende Datei habe?

Rory
quelle
1
Ähnliches auf SU: superuser.com/questions/287371/…
Ciro Santilli am

Antworten:

41

Sofern Ihr Kernel nicht mit erstellt wurde CONFIG_IKCONFIG_PROC, wodurch die Konfiguration in der /procoben genannten Version von sysadmin1138 verfügbar wird, haben Sie ziemlich viel Pech. Debian- und RH-basierte Kernel-Pakete installieren jedoch im Allgemeinen eine config-$versionDatei in /boot. Sofern es sich nicht um einen benutzerdefinierten Kernel handelt, sollte er dort verfügbar sein.

Insyte
quelle
31

Ich glaube, /proc/config.gz enthält die .config-Datei, mit der der Kernel kompiliert wurde.

sysadmin1138
quelle
7
Dies ist nur verfügbar, wenn CONFIG_IKCONFIG_PROCbei der Erstellung des Kernels festgelegt wurde. Scheint auf RHEL oder Ubuntu nicht standardmäßig vorhanden zu sein.
Insyte
4
Zum Zeitpunkt des Schreibens ist dies standardmäßig auf Arch :)
Navin
6
Um die aktuellen Einstellungen von config.gz zu lesen (oder zu grepen), können Sie sie entpacken, $cat /proc/config.gz | gunzip > mykernel.confwie von Jarl auf superuser.com vorgeschlagen .
xaa
Dies ist unter Arch Linux as der Fall CONFIG_IKCONFIG_PROC=y.
Terry Wang
@xaa Oder Sie können die einzelnen Befehlsalternativen zcatoder verwenden zless, wobei letzteres praktischer ist, da es sich um einen Pager handelt, mit dem Sie auch scrollen und suchen können.
Comfreak