Şu anda çalışan Linux sisteminden çekirdek konfigürasyonu al?


107

Linux'taki çekirdek konfigürasyonum için .config'imi yanlışlıkla sildim ve bir şekilde proc dosya sistemi üzerinden çekirdek konfigürasyonunu almanın bir yolu olduğunu hatırlıyor gibiyim.

Bu hala mümkün mü ve eğer öyleyse nasıl yaparım?


@Sonny Ordell: İki geçerli cevap var. Onlardan birini kabul edebilir misin?
Hennes

3
@Hennes Kullanıcı beri çevrimiçi değil Jun 27 '11 at 16:19. Bir şey kabul edeceğini sanma.
DanteTheEgregore

Yanıtlar:


110

Sisteminize bağlı olarak, bunlardan herhangi birinde bulabilirsiniz:

  1. /proc/config.gz
  2. /boot/config
  3. /boot/config-$(uname -r)

ve muhtemelen daha fazla yer.


4
Bazı dağıtımlarda (Fedora / Redhat), /boot/config-2.6.18-194.el5 veya benzeri, çekirdek serbest bırakma dizesi eklenmiş olarak bulunur.
Phil

1
@Phil Bu dosya adlarının en son çekirdek paketine bağlandığı bir dağıtım (Zenwalk) kullanıyorum /boot/config. Devam edip bunları listeye ekleyeceğim - hatırlattığın için teşekkürler.
new123456

in / boot / config - amazon linux ve muhtemelen RHEL için $ (uname -r)
aeb0

1
Ubuntu Mate veya RasiBerry Pi için Kali Linux'ta böyle bir dosya yok.
Sopalajo de Arrierez

1
İlk öğenizin (/ proc) yalnızca "config" modülü yüklendiğinde kullanılabileceğini belirtmelisiniz
Andy

55

Gerçek çalışan bir çekirdek için, config dosyasını almanın bir yolu bu

cat /proc/config.gz | gunzip > running.config

veya,

zcat /proc/config.gz > running.config

Sonra running.configçalışan linux çekirdeğinin yapılandırmasını içerecektir.

Ancak bu yalnızca çalışan linux çekirdeğinizin yapılandırılmış olması durumunda mümkündür /proc/config.gz. Bunun için yapılandırma

  • General setup
    • [*] Kernel .config support
      • [*] Enable access to .config through /proc/config.gz

Çoğu dağıtım bu yapılandırma ayarına sahip değildir. Çekirdek yapılandırma dosyalarını çekirdek paketlerinde sağlarlar ve genellikle /boot/dizinde bulunurlar .


5
Bunlar olarak bilinir CONFIG_IKCONFIGve CONFIG_IKCONFIG_PROCeğer sizler için can atıyorsanız.
kronospoon

2
zcat /proc/config.gziyi çalışıyor.
Quanlong

37

Biraz geç ama belki de birisine yardımcı olabilir. Bilgisayarımda /proc/config.gzne /boot/configde ne de yoktu /boot/config-$(uname -r). Ben çalıştırmak zorunda modprobe configsroot olarak. Sonra, /proc/config.gzmevcuttu


Intel MIC yerleşik Linux (BusyBox) onaylayabilir, bu gerekli ve çalışır.
Mark Lakata

4
Raspberry Pi 2'de Raspbian için aynı
Drew McGowen

2
FATAL: Module configs not found.OMV 2.2 'de (Debian Wheezy) o kadar sevindirdiler: / boot / config - $ (uname -r)
tuk0z,

Siz bayım, günümü kurtardınız. +1
Hıristiyan

'modprobe configs' çok yararlıdır. Otomatik olarak bir ahududu pi 3'te başarısız olan kconfig'i test eden testler yaptım ama şimdi çalışıyor. Bahşiş için teşekkürler!!
Tim Bird,

9

Eğer / boot / ne de /proc/config.gz içinde çekirdek konfigürasyonunu bulamazsanız, bu bilgiyi çekirdeğin kendisinden çekmeyi deneyebilirsiniz.

Herhangi bir çekirdek kaynak kodunun içinde scripts/extract-ikconfig, config dosyasını çıkarmak için bir betik vardır, yapılandırmasını istediğiniz çekirdeği bu betiğe geçirin.

Bu çözüm sadece Kernel .config supportderlenmiş çekirdeğin etkin olması durumunda işe yarayacaktır .


2
Bu son derece yardımcı oldu ve hiç görmeyi beklemiyordum yapılandırma yapılandırma bol elde etmeme yardımcı oldu. Teşekkürler!
selurvedu


1

RedHat tabanlı dağıtımlarda, hazır çekirdeğin .config dosyası, cat /lib/modules/$(uname -r)/build/.configçekirdek-devel paketi komutu kullanılarak yüklendikten sonra kullanılabilen komutla bulunabilir:

yum -y install kernel-devel

İle unutmayın gerçek Red Hat Enterprise Linux dağıtımı, bu paketi almak için kaynak depoyu etkinleştirmeniz gerekecektir. RHEL8'de, bunu yapmak için aşağıdaki komutu kullanın:

subscription-manager repos --enable=rhel-8-for-x86_64-baseos-source-rpms
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.