Dağıtım kernel-header
paketleri, adından da anlaşılacağı gibi, yalnızca çekirdek modülleri gibi yazılımlar oluşturmak için gereken çekirdek başlık dosyalarını (ayrıca gerekli tesisat) içerir.
İkili dosyaları derleme çıktısı dışında bir çekirdek kaynak dizininde bulmayı beklememelisiniz . (Bir çekirdeği kendiniz yapılandırır ve derlerseniz, çekirdek kaynak dizini, derlenmiş nesneleri, modülleri, yerleşik çekirdeğin kendisini ve çalışmasını sağlayan birkaç başka ikili bit ve parçayı da içerecektir.)
KConfig
Dosyaları, çekirdek yapılandırma seçeneklerinin açıklamasıdır. (ve onların bağımlılıkları) verilen bir dizin / modül için mevcut.
Bunun dışında, hepsi (çoğunlukla) C kaynak kodu, başlık dosyaları ve Makefile
s. Burada ve orada birkaç yardımcı komut dosyası ve ayrıca montaj kaynağı var.
Başlık paketleri (yükledikleriniz) yalnızca yukarıdakilerin başlık bölümünü içerir (bunların tümünü değil - yalnızca "dışa aktarılan" başlıkları) ve bazı yapı altyapısını içerir. Yani ne görüyorsun bekleniyor. Başlık paketleri yok (bazı kütüklerden ve yapı altyapı kodu hariç) C kaynak kodunu içerir. Bu tür bir pakete sahip olmanın asıl amacı yerden (ve bant genişliğinden) tasarruf sağlamaktır - tüm Linux çekirdeği kaynak ağacı oldukça büyüktür ve çekirdeği kendiniz hazırlamak istemiyorsanız tamamen gereksizdir. Başlık paketleri, modüller oluşturmak için gereken doğru şeyleri sağlamak için dağıtımlar tarafından üretilir ve gönderilir, ancak daha fazlası yoktur. (Derlenmiş çekirdeği kesinlikle içermezler.)
Yorumunuzu ele almak: başlık paketleri hiçbir yere taşınmaz. Belirli bir dizinde paketlenmiş çekirdeğin belirli sürümleri için üretilirler, işte bu kadar. Bu sadece bir dosya seti. (Başlık paketlerinin mutlaka geçerli çekirdek ikili paketleriyle aynı sürümde olmadıklarını unutmayın - başlık paketleri geneldir ve çalıştırmakta olduğunuz asıl çekirdeğin gerisinde kalabilir. Ancak, bunlar bir çekirdekten olmamalıdır) Geçerli yüklü (veya hedef) çekirdekten daha yeni olan sürüm.)
Yüklenen çekirdek ikili dosyaları genellikle /boot
önyükleyici ikili dosyaları ve yapılandırma dosyalarıyla birlikte dizine yüklenir . (Bu bazen varsayılan olarak monte edilmeyen bağımsız bir dosya sistemidir.) Dosyaların tam adı çekirdeğe ve dağılıma bağlıdır. (Önyükleyici de öyle.)
Yüklü çekirdek modülleri aşağıdaki alt dizinlerde bulunur:
/lib/modules/`uname -r`/
Mesela benim sistemimde şu anda
/lib/modules/3.1.4-gentoo/
Tam çekirdek kaynak kodu : Tam çekirdek kaynakları bir çekirdeğe kendini inşa etmek istiyorsanız Açık Ubuntu, buradaki talimatları uygulayarak yüklemelisiniz burada .
Ayrıca bir kaynak arşivini indirecek olabilir kernel.org
ve (do yere paketten değil bu tarball kullanırsanız, kişisel eşyalarını ve RPM ayrı tarafından yönetilen şeyler tutmak üzerine yazma Ubuntu yüklü dosyaları).
/usr/src/linux
çekirdek kaynaklarını koymak için geleneksel bir yerdir, ancak hiçbir şey çekirdek kaynaklarını başka bir yere koymanızı engellemez. Bu yol aynı zamanda genellikle sadece bir dizine sembolik bir bağlantıdır. örneğin, makinemde bu var:
$ ls -l /usr/src/linux
lrwxrwxrwx 1 root root 18 Dec 7 17:03 /usr/src/linux -> linux-3.1.4-gentoo
Sembolik bağlantı, çekirdek kaynağına bağlı olan bina uygulamalarını basitleştirmek için vardır. Bu yolu çalışan (veya hedef) çekirdeğinize bağlarsınız, böylece bir ağaç dışı modül oluştururken tam sürüm veya yol bilgisi belirtmeniz gerekmez. En azından kaynak tabanlı dağıtımlar için bir demet yardımcı olur.