Wo ist die Kernel-Konfigurationsdatei gespeichert?

11

Ich verwende derzeit Angstrom Linux 2.6.32. Ich beabsichtige, den Linux-Kernel von 2.6.32 auf 3.0.7 zu aktualisieren. Aus diesem Grund musste ich den laufenden Kernel 3.0.7 konfigurieren make menuconfig.

Jetzt möchte ich die neue Kernelkonfiguration mit der vorherigen vergleichen, kann jedoch die Kernel 3.0.7-Konfigurationsdatei nicht finden. Irgendwelche Ideen?

dempap
quelle

Antworten:

9

Ihr neues befindet sich .configauf der obersten Ebene Ihres Kernel-Quellbaums. /boot/config-3.0.7Abhängig davon kann es auch installiert werden oder ähnliches.

derobert
quelle
Leider befindet sich keine .configDatei im /usr/src/linux-3.0.7Verzeichnis. Auf /bootgibt es nur config-2.6.32Datei.
Dempap
@dempap ​​/usr/src/linux-3.0.7 ist, wo Sie gelaufen sind make menuconfig? Das hätte eine erzeugen sollen .config.
Derobert
1
Ich schlage find -type f -name '.config'vor, es dann zu finden. Ich habe definitiv einen in meinen Kernel-Quellbäumen, bis mindestens 3.13.
Derobert
@dempap ​​A .configwird immer in dem Verzeichnis generiert, in dem Sie ausgeführt haben make menuconfig(oder in einem der anderen make xxxconfig). Wenn es nicht vorhanden ist, suchen Sie entweder im falschen Verzeichnis oder Sie haben es gelöscht.
Gilles 'SO - hör auf böse zu sein'
1
@dempap ​​versuchen es ls -Azu sehen. Dateien, die mit beginnen, .werden (gemäß Konvention) als ausgeblendet behandelt.
Derobert
11

Jedes Mal , wenn Sie laufen make menuconfig, make xconfig, make XXX_defconfig, make oldconfig, make localmodconfigoder eines der anderen make XXXconfigZiele in der Linux - Kernel - Quellbaum, dies schafft (wenn erfolgreich) eine Datei mit dem Namen .config. Diese Datei wird während der Kompilierung des Kernels verwendet und nur gelöscht, wenn Sie sie manuell löschen oder ausführen make mrproper.

Es ist üblich, Kernel-Quellbäume /usr/srcbeizubehalten. Wenn Sie die Kompilierung durchgeführt haben, befindet sich /usr/src/linux-3.0.7Ihre .configDatei in /usr/src/linux-3.0.7/.config. (Da es sich um eine Punktdatei handelt , wird sie vom lsBefehl nur angezeigt, wenn sie mit dem -aFlag ausgeführt wird.)

Viele Distributionen arrangieren, dass die .configDatei in das Paket mit dem Kernel kopiert und neben dem Kernel installiert wird, z . B. /boot/config-3.0.7entsprechend /boot/vmlinuz-3.0.7. Eingebettete Distributionen tun das oft nicht. Ich weiß nicht, ob Angstrom dies tut, und dies gilt auch nicht, wenn Sie den Kernel manuell kompiliert haben.

Die Kernelkonfiguration kann manchmal vom laufenden Kernel in verfügbar sein /proc/config.gz. Dies erfordert die IKCONFIGOption zur Kompilierungszeit.

Gilles 'SO - hör auf böse zu sein'
quelle