Bir çekirdek ağacında 'make oldconfig' yaparken varsayılanları otomatik olarak yanıtla


36

Önceki bir yapılandırmayı temel alan yeni bir çekirdek oluştururken, make oldconfigişlemi otomatik olarak varsayılan değerlerine ayarlayacak şekilde işlemi otomatikleştirmenin bir yolu var mı?

Düzenleme: Demek istediğim, yeni bir çekirdekte bir .config (dan /boot/config-*veya dan /proc/config.gz) kullanırken , make oldconfigişlemin eski çekirdeğinizde bulunmayan seçenekleri etkinleştirmek isteyip istemediğinizi soracağıdır. Varsayılanı kabul etmek için Y / n / m'ye cevap verebilir veya enter'a basabilirsiniz. Kullanıcı etkileşimi olmadan varsayılanları otomatik olarak kabul etmek istiyorum.


@ jscott Bu, yalnızca ilk soru için "enter enter" olur, hepsi değil. 'Yes' komutunu, bir dizinin ayrı ayrı yazdırılmasını sağlamak için kullanabilirsiniz.
Laurent Parenteau

Yanıtlar:


37

Komutu kullanın:

yes "" | make oldconfig

'Yes' komutu art arda belirtilen tüm dizgelerin bulunduğu bir satır veya varsayılan olarak 'y' komutunu verir.

Böylece, 'make oldconfig' komutunun varsayılan değerinin kullanılmasıyla sonuçlanacak olan basitçe "enter" tuşuna basabilirsiniz.


Ah, 'yes' komutunun herhangi bir dizgenin çıktısını alabileceğini bilmiyordum. Teşekkür ederim!
Jean-Francois Chevrette

3
Bu olağanüstü.
Ivan X,

1
Cevap çok daha iyi bir fikirdir serverfault.com/a/538150/18822
Evan Carroll

56
make olddefconfig

İstediğin şey bu. Yardımdan ( make helpçekirdek kaynak dizininde)

olddefconfig - silentoldconfig ile aynıdır, ancak yeni sembolleri varsayılan değerlerine ayarlar


Bir süredir böyle bir şey arıyorum ... çok teşekkürler!
Jafar Kofahi

Bu Linux hangi versiyonuna ulaştı? Sadece merak. Şu anda eski bir sürümü (3.0) kullanıyorum ve henüz elime geçmedi.
clacke

1
Bu doğru cevap olmalı.
Suprjami

0

Evet. Kaynak dizininin en üstündeki ".config" içinde saklanır.

Ayrıca, dağıtım çekirdeği kullanılıyorsa, RedHat gibi bazı dağıtımlar onu / boot / config - $ (uname -r) içinde saklar. (çekirdek sürüm) [1]

Son olarak, çalıştırmakta olduğunuz çekirdekte derlenmişse, /proc/config.gz dosyasında bulunur. Bu seçeneği hangi versiyonun sunduğunu unutuyorum.

[1] Bu seçenekler:

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y 

Düzenle

/Usr/src/linux/kernel/Documentation/kbuild/kconfig.txt (ya da uygun yolu) kontrol edin. Bir çözümü kodlamak için tavsiyelerinin bir kısmını kullanabilirsiniz. Anlattıklarınızı gerçekleştirmek için bir komut dosyası ve textutils kombinasyonu kullanırdım.

Düzenle 2

Ek bir not olarak, bu kötü bir fikirdir. Ortamınıza özgü isteğe bağlı donanım desteği değişir ancak varsayılan değilse ne olur? Olumsuz etkileyen bir değişiklik olursa ne olur? Bu gerçekten etkileşimli olması gereken bir şeydir. Konfigürasyonu yapabilir ve gerisini otomatikleştirebilirsiniz.

"make silentoldconfig", yardımcı olabilecek biraz daha az ayrıntılıdır. Hala etkileşimli.


Demek istediğim bu değildi. Neye ulaşmak istediğimi açıklamak için soruma daha fazla ayrıntı ekledim.
Jean-Francois Chevrette

0

make silentoldconfig


2
silentoldconfig'in hala etkileşimli olması, daha az ayrıntılı olması
Laurent Parenteau
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.