2012-06-23 11 views
5

Çekirdeği derlemek için make defconfig kullanmayı denedim, ancak beklendiği gibi, önyükleme başarısız oldu. .config dosyasının, Ubuntu'nun kullanımı için Canonical gibi çekirdek sağlayıcıların çekirdeğini kullanabildiğini merak ettim. Tabii ki hala yeni başlayan ve çeşitli parametreleri yapılandıran, şu an ligimden biraz çıkıyorum.Donanımıma özgü Linux çekirdek kaynağını derlemek için doğru .config dosyasını nasıl edinebilirim?

Özellikle, temel bir "merhaba, dünya!" Yüklemek istiyorum. çalışan çekirdek 2.6.32.41 için modül. Bunun için, çekirdek kaynağını, çalışan çekirdek için kullanılan aynı .config dosyasına karşı derlemeliyim.

cevap

5

"Donanımınız için doğru olanı" alma hakkında bir şey bilmiyorum, ancak config adıyla başlayan bir dosya için Ubuntu'nun /boot/ numaralı araca verdiği yapılandırmayı kullanabilirsiniz. Birden fazla olabilir, bu durumda hangi çekirdekte çalıştığınızı söylemek için uname -r komutunu kullanın ve sonra uygun yapılandırmayı kullanabilirsiniz.

0

"defconfig" genellikle yaygın olarak kullanılan donanımda - x86 veya x86_64 ve belki de son zamanlardaki yonga seti veya anakartta sabitlenmez. Bazen, Lenovo dizüstü bilgisayarım gibi, sadece en yeni çekirdek kaynağı ve bazı yapılandırma seçeneklerini etkinleştirerek, bugzilla veri tabanından geçtikten sonra çalışır.

Jeff Welling'in söylediği gibi, kullanımdaki yapılandırmayı almak için,/boot dizinine bakabilirsiniz. Fedora Core'um için de aynı. Ama eğer temel bir programı bir "çekirdek modülü" olarak derlemek istiyorsanız ve bununla sadece "yüklenebilir çekirdek modülü" anlamına gelirse, çekirdek kaynağını derlemenize gerek yoktur. U sadece mevcut sürüm için çekirdek başlıklarına ihtiyacım var. Örneğin, Ubuntu "apt-cache search" 10,04 döner birkaç olası seçenek:

linux-headers-2.6.38 - Header files related to Linux kernel, specifically, 
linux-libc-dev - Linux Kernel Headers for development 

Ubuntu normalde kendi çekirdek kullanmak (kernel.org itibaren) stok çekirdeği yamalı. Stok çekirdeğini indirdiyseniz ve/boot'un yapılandırma dosyasını kullanmaya çalışmışsanız (veya bazen şu anda yüklenmiş olan yapılandırmayı /proc/config.gz olarak bulabilirsiniz, 10.04 LTS'ye dayanan Backtrack'ın Ubuntu'su gibi) ".config" olarak adlandırılan geçerli yapılandırma dosyası ile bir "make oldconfig" yapmak gerekebilir. "make oldconfig", daha sonra çekirdek kaynağıyla uyumlu yeni bir .config oluşturmak için .config kullanır. Hangi konfigürasyon seçenekleri için sorulmasını .config olarak çekirdek kurulumu dizine

$ zcat /proc/config.gz >my_config 

Kopya my_config ve make config çalıştırın: koşu çekirdeği CONFIG_IKCONFIG_PROC seçeneğiyle derlendi

13

varsa, /proc/config.gz config alabilirsiniz config dosyanızdan yok (bu sadece çalışan çekirdekinizden daha yeni bir çekirdek kaynağı kullanıyorsanız gerçekleşir). Daha sonra yeni bir çekirdeği, geçerli olanla aynı özelliklerle derleyebilmelisiniz.

Dağıtımlar genellikle kendi çekirdek yapılandırmalarını kullanırlar; burada sürücülerin çoğu, ilgili donanım istendiğinde dinamik olarak yüklenecek modüller olarak derlenir. Ayrıca, çekirdeğin ilgili önyükleme seçenekleriyle önyüklenmesi gerekir (kök dosya sistemini belirten gibi). Defconfig çekirdeğiniz muhtemelen bunun için önyükleme yapamadı.

5

seçenek1: Bu .config üretecektir

cd /usr/src/linux-headers-3.2.0-29; 

senin çizmeli sisteminin

kaynak kodu

sudo make oldconfig; 
vi .config 

opsiyonu2:

zcat /proc/config.gz > my_config 

3. seçenek:

echo /boot/config* > my_config 
+0

bazen .oldconfig cd/usr/src/kernel içinde bulunur; – ashish

İlgili konular