Uzyskać konfigurację jądra z aktualnie działającego systemu Linux?
104
Przypadkowo usunąłem .config dla konfiguracji jądra w systemie Linux i wydaje mi się, że pamiętam, że istnieje sposób na odzyskanie konfiguracji jądra za pośrednictwem systemu plików proc.
Czy to nadal możliwe, a jeśli tak, to jak mam to zrobić?
W niektórych dystrybucjach (Fedora / Redhat) jest to /boot/config-2.6.18-194.el5 lub podobny, z dołączonym łańcuchem wersji jądra.
Phil
1
@Phil Prowadzę dystrybucję (Zenwalk), w której nazwy plików są dowiązane symbolicznie przez najnowszy pakiet jądra /boot/config. Dodam je do listy - dziękuję za przypomnienie.
new123456
w / boot / config - $ (uname -r) dla Amazon Linux i prawdopodobnie RHEL
aeb0
1
Brak takich plików w systemie Ubuntu Mate lub Kali Linux dla RaspBerry Pi.
Sopalajo de Arrierez
1
Powinieneś wspomnieć, że twój pierwszy element (/ proc) jest dostępny tylko wtedy, gdy załadowany jest moduł „configs”
Andy
54
W przypadku działającego jądra jednym ze sposobów uzyskania pliku konfiguracyjnego jest to
cat /proc/config.gz | gunzip > running.config
lub,
zcat /proc/config.gz > running.config
Następnie running.configbędzie zawierał konfigurację działającego jądra Linux.
Jest to jednak możliwe tylko wtedy, gdy działające jądro Linuksa zostało skonfigurowane /proc/config.gz. Konfiguracja tego znajduje się w
General setup
[*] Kernel .config support
[*] Enable access to .config through /proc/config.gz
Większość dystrybucji nie ma tej konfiguracji. Zapewniają pliki konfiguracyjne jądra w swoich pakietach jądra i zwykle znajdują się w /boot/katalogu.
Są one znane jako CONFIG_IKCONFIGi CONFIG_IKCONFIG_PROC, jeśli się im życzysz.
chronospoon
2
zcat /proc/config.gzdziała w porządku.
Quanlong,
35
Trochę późno, ale może komuś to pomaga. Nie miałem /proc/config.gzani /boot/configani /boot/config-$(uname -r)na moim komputerze. Musiałem uruchomić modprobe configsjako root. Wtedy /proc/config.gzbył obecny
Może potwierdzić na wbudowanym systemie Intel MIC (BusyBox), jest to konieczne i działa.
Mark Lakata
4
To samo dotyczy Raspbian na Raspberry Pi 2
Drew McGowen
2
FATAL: Module configs not found.na OMV 2.2 (Debian Wheezy) tak się cieszę, że dostarczyli go w / boot / config - $ (uname -r)
tuk0z 12.04.16
Panie, uratowałeś mi dzień. Miej +1
Christian
„Modprobe configs” jest bardzo pomocny. Miałem testy, które automatycznie sprawdzały kconfig, które zawiodły na Raspberry Pi 3, ale teraz działają. Dzięki za wskazówkę!!
Tim Bird
9
Jeśli nie możesz znaleźć konfiguracji jądra w / boot / ani w /proc/config.gz, możesz spróbować wyodrębnić te informacje z samego jądra.
Wewnątrz każdego kodu źródłowego jądra znajduje się skrypt do wyodrębnienia konfiguracji scripts/extract-ikconfig, przekaż jądro, którego konfigurację chcesz, jako parametr do tego skryptu.
To rozwiązanie będzie działać tylko wtedy, gdy Kernel .config supportzostało włączone w skompilowanym jądrze.
Jun 27 '11 at 16:19
. Nie myśl, że on coś zaakceptuje.Odpowiedzi:
W zależności od systemu znajdziesz go w jednym z poniższych:
/proc/config.gz
/boot/config
/boot/config-$(uname -r)
i ewentualnie więcej miejsc.
źródło
/boot/config
. Dodam je do listy - dziękuję za przypomnienie.W przypadku działającego jądra jednym ze sposobów uzyskania pliku konfiguracyjnego jest to
lub,
Następnie
running.config
będzie zawierał konfigurację działającego jądra Linux.Jest to jednak możliwe tylko wtedy, gdy działające jądro Linuksa zostało skonfigurowane
/proc/config.gz
. Konfiguracja tego znajduje się wGeneral setup
[*] Kernel .config support
[*] Enable access to .config through /proc/config.gz
Większość dystrybucji nie ma tej konfiguracji. Zapewniają pliki konfiguracyjne jądra w swoich pakietach jądra i zwykle znajdują się w
/boot/
katalogu.źródło
CONFIG_IKCONFIG
iCONFIG_IKCONFIG_PROC
, jeśli się im życzysz.zcat /proc/config.gz
działa w porządku.Trochę późno, ale może komuś to pomaga. Nie miałem
/proc/config.gz
ani/boot/config
ani/boot/config-$(uname -r)
na moim komputerze. Musiałem uruchomićmodprobe configs
jako root. Wtedy/proc/config.gz
był obecnyźródło
FATAL: Module configs not found.
na OMV 2.2 (Debian Wheezy) tak się cieszę, że dostarczyli go w / boot / config - $ (uname -r)Jeśli nie możesz znaleźć konfiguracji jądra w / boot / ani w /proc/config.gz, możesz spróbować wyodrębnić te informacje z samego jądra.
Wewnątrz każdego kodu źródłowego jądra znajduje się skrypt do wyodrębnienia konfiguracji
scripts/extract-ikconfig
, przekaż jądro, którego konfigurację chcesz, jako parametr do tego skryptu.To rozwiązanie będzie działać tylko wtedy, gdy
Kernel .config support
zostało włączone w skompilowanym jądrze.źródło
Niezależnie od dystrybucji możesz uruchomić:
cat /lib/modules/$(uname -r)/build/.config
Źródło: https://linux.die.net/man/5/proc (wyszukaj
/proc/config
).źródło