En son linux çekirdeği. Çekirdeği Ubuntu'da inşa etmek. Adım adım talimat. Linux çekirdeğini nereden indirebilirim?

Uzun zamandır Linux çekirdeğinin nasıl oluşturulacağına dair bir makale yazmak istiyordum. Ve şimdi bu an geldi.

Aslında, dağıtım mükemmel kullanılabilir bir çekirdek sağlıyorsa neden bir çekirdek oluşturalım?

Örneğin, dağıtımdan yalnızca eski dal mevcut olduğunda, yeni çekirdekte sağlanan en son sürücüleri ve çözümleri kullanmak için. Ayrıca, örneğin, donanımınız için özelleştirmek ve işi biraz hızlandırmak için. 3.11'i kendim için yaptım çünkü içinde ATI ekran kartlarıyla çalışmayı iyileştiren bir dizi yama var ve bunlardan birinin sahibi benim.

Çekirdeğin montajı hakkında bir çok makale yazıldı, bu yüzden ayrıntılara girmeyeceğim, sadece çekirdeği kendim için nasıl birleştirdiğimi yazacağım.

Her şeyden önce, Linux çekirdeğinin istediğiniz sürümünün kaynak kodlarının bulunduğu arşivi almanız gerekir.

https://www.kernel.org/ sitesinde istediğiniz sürümü indirebilirsiniz. Örnek olarak 3.11.0 sürümünü kullanarak derleme ve kurulum sürecini anlatacağım.

Çekirdeği, ayrıcalıksız bir kullanıcı altında bu amaç için özel olarak oluşturulmuş bir dizinde oluşturmanız önerilir. bir klasörde derliyorum ~src/linux/linux sürümü

Derlemeden önce, derleme için gerekli tüm bağımlılıkların kurulu olduğundan ve derleme dizininde yaklaşık 3 GB boş alan olduğundan emin olmalısınız.

Başarılı bir şekilde derlenecek paketlerin listesi (Debian/Ubuntu için):

gcc, Yapmak- Gerekli montaj ve bağlantı araçları. Tercihen mevcut en son gcc sürümlerinden biri.

libncurses5-dev- menuconfig'in çalışması için gerekli

önbellek- yeniden montajı hızlandırmanızı sağlar

Eğer grafiksel çekirdek yapılandırıcıyı kullanmak istiyorsanız, örneğin QT geliştirme için paketler de kurmalısınız. libqt4-dev, g++, pkg-config.

Lzop, lz4c- alternatif çekirdek ve initramfs sıkıştırma mekanizmalarıyla ilgileniyorsanız.

Geçerli dizinin, paketlenmemiş çekirdeğin dizini olduğu varsayılır.

Derleme ortamı hazırlandıktan sonra çekirdek yapılandırmasının oluşturulması gerekir. Mevcut yapılandırma şu şekilde görüntülenebilir:

Cat /boot/config-`uname -r`

Zcat /proc/config.gz

Prensipte, mevcut konfigürasyonu konfigürasyon programlarından birinde düzenleyerek kullanabilirsiniz. Çekirdeğin bulunduğu arşivin açıldığı dizine kopyalayın ve olarak yeniden adlandırın. .config

cp /boot/config-`uname -r` .config

Ben xconfig'i seviyorum, en uygununu buluyorum.

xconfig yap

Daha önce kopyalanan otomatik olarak yüklenir .config, yapılandırma için temelimiz olarak hizmet eder. Çekirdeği kurmak için bir çok ipucu var, sadece işlemcinizin sürümünü seçmenizi, orada olmayan donanım sürücülerini devre dışı bırakmanızı tavsiye ederim, ayrıca zram ve sıkıştırma algoritması gibi ek modülleri de seçebilirsiniz, lz4'ü seçtim en hızlı.

Yapılandırmayı kaydettikten sonra derlemeye başlayabilirsiniz.

Çekirdeği manuel olarak yapılandırmak için çok tembelseniz, yüklenen modüller hakkındaki bilgileri kullanarak otomatik yapılandırma yapmak mümkündür: make localmodconfig

Şimdi ikinci ana adım, çekirdeği ve modülleri derlemek. Tek komutta yürütülür:

-j4 CC="ccache gcc" bzImage modülleri yapın

Neresi -j4 yapılandırmanızdaki işlemci çekirdeği sayısına karşılık gelir.

Donanım yeterince güçlüyse ve dağıtım çekirdeği yapılandırması kullanılmıyorsa derleme uzun sürmez. AMD Phenom P820 işlemcili ve altı gigabayt RAM'li dizüstü bilgisayarımda derleme yaklaşık yarım saat sürüyor.

Son adım, çekirdeği ve modülleri kurmaktır.

Sudo sed -i.bak "s/MODULES=most/MODULES=dep/" /etc/initramfs-tools/initramfs.conf

Bu, yalnızca yükleme için gerekli modülleri dahil ederek initrd dosyasının boyutunu küçültmek için gereklidir.

Kurulum tek bir komutla da yapılabilir:

sudo make module_install install

Veya her şeyi manuel olarak yükleyin. Önce Modüller

sudo make module_install

sonra çekirdek

Sürüm=`awk "NR<=3 {printf "%s.",$NF}" < Makefile | sed "s/\.$//"`

Makefile'dan çekirdek sürümünü bu şekilde alıyoruz

sudo cp arch/`uname -m`/boot/bzImage /boot/vmlinuz-$sürüm sudo cp .config /boot/config-$sürüm sudo cp System.map /boot/System.map-$sürüm sudo update-initramfs - c -k $sürüm sudo güncelleme grubu

Son olarak, süreci otomatikleştirmek için bir komut dosyası ekliyorum.

Yapılandırmanın yapılandırılması sırasında, varsayılan olarak yanıtlamak için birkaç soru sorabilir, sadece Enter tuşuna basmanız yeterlidir.

Mutlu derleme.

Neden biri yeni bir çekirdek derlemek istesin ki? Debian ile birlikte gelen varsayılan çekirdek çoğu yapılandırmayı yönettiğinden genellikle gerekli değildir. Ayrıca, Debian genellikle birkaç alternatif çekirdek sunar. Bu nedenle, önce donanımınıza daha iyi uyan alternatif bir çekirdek görüntü paketi olup olmadığını kontrol etmek isteyebilirsiniz. Bununla birlikte, aşağıdakileri yapmak için yeni bir çekirdek derlemek yararlı olabilir:

Çekirdeği derlemeyi denemekten korkmayın. Eğlenceli ve kârlıdır.

Bir çekirdeği Debian yöntemiyle derlemek için bazı paketlere ihtiyacınız vardır: ve muhtemelen zaten kurulu olan birkaç paket daha (tam listeye bakın).

Bu yöntem, çekirdek kaynağınızın bir .deb'sini yapacak ve standart olmayan modülleriniz varsa, bunların da senkronize bağımlı bir .deb'sini yapacaktır. Çekirdek görüntülerini yönetmenin daha iyi bir yolu; çekirdeği, System.map'i ve yapı için etkin yapılandırma dosyasının bir günlüğünü tutacaktır.

yapmadığına dikkat et sahip olmakçekirdeğinizi “Debian yolu” ile derlemek için; ancak çekirdeğinizi yönetmek için paketleme sistemini kullanmanın aslında daha güvenli ve daha kolay olduğunu gördük. Aslında, çekirdek kaynaklarınızı yerine doğrudan Linus'tan alabilirsiniz, ancak yine de derleme yöntemini kullanabilirsiniz.

altında kullanımına ilişkin eksiksiz belgeler bulacağınızı unutmayın. Bu bölüm sadece kısa bir eğitim içerir.

Bundan sonra, makinenizin kontrolünün sizde olduğunu varsayacağız ve çekirdek kaynağınızı ana dizininizde bir yere çıkaracağız. Ayrıca çekirdek sürümünüzün 3.16 olduğunu varsayacağız. Çekirdek kaynaklarını açmak istediğiniz dizinde olduğunuzdan emin olun, bunları kullanarak çıkarın ve oluşturulacak dizine geçin.

Artık çekirdeğinizi yapılandırabilirsiniz. X11 kuruluysa, yapılandırılmışsa ve çalıştırılıyorsa çalıştırın; aksi halde çalıştırın (kurulu olmanız gerekir). Çevrimiçi yardımı okumak için zaman ayırın ve dikkatlice seçin. Şüphe duyduğunuzda, genellikle emin olmadığınız aygıt sürücüsünü (Ethernet kartları, SCSI denetleyicileri vb. gibi donanım çevre birimlerini yöneten yazılım) dahil etmek daha iyidir. Dikkatli olun: Belirli bir donanımla ilgili olmayan diğer seçenekler, anlamadıysanız varsayılan değerde bırakılmalıdır. "Yüklenebilir modül desteği"nde "Kernel modül yükleyici"yi seçmeyi unutmayın (varsayılan olarak seçili değildir). Dahil değilse, Debian kurulumunuz sorunlarla karşılaşacaktır.

Kaynak ağacı temizleyin ve parametreleri sıfırlayın. Bunu yapmak için yapın.

Şimdi, çekirdeği derleyin: . “1.0” sürüm numarası isteğe göre değiştirilebilir; bu yalnızca çekirdek yapılarınızı izlemek için kullanacağınız bir sürüm numarasıdır. Aynı şekilde, "özel" (örneğin, bir ana bilgisayar adı) yerine istediğiniz herhangi bir kelimeyi koyabilirsiniz. Çekirdek derleme, makinenizin gücüne bağlı olarak oldukça uzun sürebilir.

Derleme tamamlandıktan sonra özel çekirdeğinizi herhangi bir paket gibi yükleyebilirsiniz. Kök olarak yapın. Parça, ayarladığınız çekirdek seçeneklerine bağlı olarak isteğe bağlı bir alt mimaridir. çekirdeği, diğer bazı güzel destekleyici dosyalarla birlikte yükleyecektir. Örneğin, düzgün bir şekilde kurulacak (çekirdek problemlerinde hata ayıklamak için yardımcı olacaktır) ve mevcut konfigürasyon setinizi içerecek şekilde kurulacaktır. Yeni çekirdek paketiniz, yeni çekirdeği kullanmak için önyükleyicinizi otomatik olarak güncelleyecek kadar akıllıdır. Bir modül paketi oluşturduysanız, o paketi de yüklemeniz gerekir.

Sistemi yeniden başlatmanın zamanı geldi: yukarıdaki adımın vermiş olabileceği uyarıları dikkatlice okuyun, ardından .

Debian çekirdekleri ve çekirdek derlemesi hakkında daha fazla bilgi için Debian Linux Çekirdeği El Kitabına bakın. Hakkında daha fazla bilgi için, içindeki ayrıntılı belgeleri okuyun.

Hatırlarsanız, çok uzun zaman önce FreeBSD çekirdeğini kaynaktan nasıl oluşturacağımızı öğrendik. Soru şu ki, neden aynı şeyi Linux çekirdeği ile yapmayı öğrenmiyorsunuz? Linux çekirdeğini kaynaktan oluşturma nedenleri genel olarak aynıdır - çekirdeğin en son sürümünü almak, acilen güvenlik yamalarını uygulamak, belirli görevler ve belirli donanımları optimize etmek ve ayrıca çekirdek geliştirmede yer alma arzusu, QA rolünde bile.

Önemli! Bu gönderideki talimatların izlenmesi verilerinizin kaybolmasına neden olabilir. Yedeklemeler yapın ve her şeyi kendi sorumluluğunuzda ve risk altında yaptığınızı unutmayın. Aşağıda açıklanan her şey Ubuntu 14.04 LTS'de test edilmiştir. Ancak Ubuntu'nun diğer sürümlerinde ve diğer Linux dağıtımlarında farklılıklar minimum olmalıdır.

Önyükleyiciyi ayarlama

/etc/default/grub'u şu şekilde düzenleyin:

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=10
#GRUB_HIDDEN_TIMEOUT_QUIET=doğru
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i-s2>/dev/null ||echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="sessiz sıçrama"
GRUB_CMDLINE_LINUX=""

Düzenlemeden sonra şunu söylüyoruz:

sudo güncelleme grubu

Sonuç olarak, sistem önyüklenmeden önce, önyükleme yapmak istediğiniz çekirdeği seçmeniz için 10 saniye istenecektir. Çekirdek yapılandırmanızı bozarsanız ve önceki bir sürümle önyükleme yapmak istiyorsanız çok kullanışlıdır!

Bağımlılıkları yükle

En azından aşağıdaki paketlere ihtiyacımız olacak:

sudoapt-get installgitgccmakebc fakeroot dpkg-dev\
libncurses5-dev libssl-dev

Ancak birçok sistemde hepsi zaten mevcut olacaktır.

Kaynak almak

wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.6.4.tar.xz
tar-xz-xvf linux-4.6.4.tar.xz
cd linux-4.6.4

Veya en son sürümü istiyorsanız, kaynağı doğrudan Git'ten alabilirsiniz:

# Ayna: https://github.com/torvalds/linux
git clone'git://git.kernel.org/pub/scm/linux/kernel/git/'\
'torvalds/linux.git'
cd linux

Git'te v4.6.4 etiketini bulamadığım gerçeğine bakılırsa, Linux çekirdek sürümleri yalnızca sıkıştırılmış tar arşivleri biçiminde yapılıyor.

Vanilya çekirdeği yerine Canonical'dan yamalarla bir çekirdek oluşturmak istiyorsanız:

git klon git://kernel.ubuntu.com/ubuntu/ubuntu-trusty.git
cd ubuntu-güvenilir
git etiketi|daha az
git checkout Ubuntu-lts-4.4.0-31.50_14.04.1

Kendi deneyimlerime göre, Ubuntu kullanıyorsanız, vanilya çekirdeğini güvenle kullanabilirsiniz. Bununla ilgili herhangi bir sorun yaşamanız olası değildir.

Not:İlginç bir şekilde, mevcut nispeten popüler Linux dağıtımlarından yalnızca Gentoo, Slackware ve Arch Linux, kendi yamaları olmayan bir çekirdek kullanıyor gibi görünüyor.

Her neyse, artık kaynak kodunuz var.

Çekirdeğin derlenmesi ve yüklenmesi

Çekirdeğin oluşturulacağı seçenekleri seçin:

Gerekirse ayarları değiştirin, Kaydet'i ve ardından Çıkış'ı tıklayın. Sonuç olarak seçtiğimiz parametreleri içeren bir dosya oluşacaktır.

saat Güncellemeçekirdek (zaten zaten bir tür çekirdek mi kullanıyorsunuz?) mevcut çekirdeğin yapılandırmasını almak ve yeni seçenekleri varsayılan değerlerine ayarlamak uygundur:

zcat/proc/config.gz > ./.config
olddefconfig yap

Son olarak şunları topluyoruz:

make-j4 bindeb-pkg LOCALVERSION=-özel

Çekirdek oldukça uzun bir süre monte edilir. Dizüstü bilgisayarımda montaj 1 saat 15 dakika sürdü. Ancak bu andan itibaren hakkında Geri kalanı, hata ayıklama sembolleriyle dev bir çekirdek paketi oluşturmaya harcanır.

Linux çekirdeğinin manuel olarak oluşturulması ve yapılandırılması

Bu paketin birleştirilmesi, yapılandırmada CONFIG_DEBUG_INFO parametresi yorumlanarak devre dışı bırakılabilir. Bu paketin SystemTap ve diğer faydalı araçlar için gerekli olduğunu unutmayın.

Çekirdeğin kendisine ek olarak, belgeleri de toplayabilirsiniz:

# ayrıca "make pdfdocs" ve diğerleri de var, "make help"e bakın
htmldocs yapmak
krom tarayıcı Belgeleri/DocBook/index.html

Montaj tamamlandıktan sonra yan kuruluş dizin gibi bir şey görüyoruz:

linux-firmware-image-4.4.13-custom_4.4.13-custom-1_amd64.deb
linux-headers-4.4.13-custom_4.4.13-custom-1_amd64.deb
linux-image-4.4.13-custom_4.4.13-custom-1_amd64.deb
linux-image-4.4.13-custom-dbg_4.4.13-custom-1_amd64.deb
linux-libc-dev_4.4.13-custom-1_amd64.deb

Çekirdeğin dbg-versiyonu dışındaki tüm deb paketlerini normal olanlarla birlikte koyuyoruz ve yeniden başlatıyoruz. Yeniden başlattıktan sonra komutun çıktısına bakıyoruz. Yeni çekirdekle gerçekten önyükleme yaptığımızdan emin oluyoruz. Yeni çekirdekte bir sorun varsa, önyükleyicide sistemin daha önce başlatıldığı çekirdeği seçeriz. Eski çekirdekle önyükleme yaptıktan sonra, yeni çekirdeğin paketlerini hızla kaldırırız ve işte - sistem önceki durumuna geri döner.

Ek olarak, yeni bir çekirdek yükledikten sonra üzerinde testler çalıştırabilirsiniz:

sudomake kselftest
sudomake kselftest-clean

Tebrikler, artık Linux çekirdeğini nasıl oluşturacağınızı biliyorsunuz!

Çözüm

Linux çekirdeğinin içindekilerle ilgili malzemeler:

  • KernelNewbies.org, Linux çekirdeğine yeni başlayanlar için kendi posta listesi, IRC kanalı, forum, wiki ve daha fazlasıyla bir site;
  • LKML.org, Linux çekirdeği geliştiricilerinin posta listesini bir tarayıcı aracılığıyla rahatça okumak için bir site. Dikkatli olun, genellikle harflerin biçimini bozar! Bu anlamda marc.info'daki mail listesi arşivi çok daha iyi;
  • Linux Cross Reference, Linux çekirdek kodunun bir tarayıcı aracılığıyla rahat okunması için bir site;
  • Linux Çekirdeği Geliştirme, 3. Baskı kitabı, Linux çekirdeği üzerine İngilizce (2010, çekirdek 2.6.x) hakkındaki en son kitaptır, Rusça'ya çevirisi vardır;
  • Linux-Treiber entwickeln, 4. Baskı kitabı daha yenidir (2015, çekirdek 4.x), ancak Almanca yazılmıştır ve çevirisi yoktur;
  • Alexander Kuleshov namı diğer @0xAX tarafından yazılan ücretsiz Linux Insides kitabı en erişilebilir ve güncel gibi görünüyor, ancak şu anda yazılma sürecinde;
  • Bazen Linux çekirdeği kaynaklarından alınan resmi belgeler olan Linux Kernel HTML Documentation'da yararlı bir şeyler bulabilirsiniz;
  • Güncel tutulmaya çalışılan Linux Device Drivers, 3. Baskı kitabına örnekler ve şu anda yazılmakta olan 4. baskı için kaynaklar;

Çekirdeği kaynaktan mı oluşturuyorsunuz ve öyleyse neden? 🙂

Ek: Linux'ta Çekirdek Kodunda Hata Ayıklama Hakkında Skandal Gerçek makalesiyle de ilgilenebilirsiniz.

Etiketler: Linux, Ring0.

Linux çekirdeğini derlemek


Birçoğu, kendini akıllı ve gelişmiş bir "Linuxoid" olarak göstermenin anlamsız bir zaman kaybı olduğunu düşünüyor. Aslında, çekirdeği derlemek çok önemli bir şeydir. Çalışan bir web kamerası olmayan yeni bir dizüstü bilgisayar satın aldığınızı varsayalım. Senin eylemlerin? Arama motoruna bakıyorsunuz ve bu konudaki soruna bir çözüm arıyorsunuz. Çoğu zaman, web kameranızın sahip olduğunuzdan daha yeni bir çekirdek sürümünde çalıştığı ortaya çıkabilir. Hangi sürüme sahip olduğunuzu bilmiyorsanız, terminalde uname -r yazın, sonuç olarak çekirdek sürümünü alırsınız (örneğin, linux-2.6.31-10). Ayrıca, performansı artırmak için çekirdek derlemesi yaygın olarak kullanılır: Gerçek şu ki, çekirdek dağıtımları varsayılan olarak "herkes için" derlenir, bu nedenle, ihtiyaç duymayabileceğiniz çok sayıda sürücü içerir. Yani donanımınızı iyi biliyorsanız konfigürasyon aşamasında gereksiz sürücüleri devre dışı bırakabilirsiniz. Sistemin bit derinliğini değiştirmeden 4 gigabayttan fazla RAM desteğini etkinleştirmek de mümkündür.

Linux çekirdeği nasıl oluşturulur? Linux Çekirdeğinin Oluşturulması

Öyleyse, hala kendi çekirdeğinize ihtiyacınız varsa, derlemeye başlayalım!


Yapılacak ilk şey, istenen çekirdek sürümü için kaynak kodunu almaktır. Genellikle en yeni kararlı sürümü edinmeniz gerekir. Tüm resmi çekirdek sürümleri kernel.org'da mevcuttur.

Zaten kurulu bir X sunucunuz (ev bilgisayarı) varsa, favori tarayıcınızda siteye gidebilir ve istediğiniz sürümü bir tar.gz (gzip sıkıştırılmış) arşivinde indirebilirsiniz. Konsolda çalışıyorsanız (örneğin, X sunucusunu henüz yüklemediyseniz veya sunucuyu yapılandırıyorsanız), bir metin tarayıcısı (örneğin, elinks) kullanabilirsiniz.

Standart wget indirme yöneticisini de kullanabilirsiniz:


tar -zxvf path_to_archive

Çekirdek yapılandırması.

Derleme.
yap && yükle
20 dakikadan birkaç saate kadar (bilgisayarın gücüne bağlı olarak) bekleriz. Çekirdek kurulur. Grub(2) listesinde görünmesini sağlamak için (root olarak) yazın.
güncelleme grubu


Makale arşivi:
Mayıs 2017
Mart 2017
Nisan 2016
Mart 2016
Ekim 2013
Eylül 2013
Mayıs 2013
Mart 2013
Kasım 2012
Temmuz 2012
Haziran 2012
Nisan 2012
Mart 2012
Şubat 2012
Nisan 2011
Mart 2011
Şubat 2011
Ocak 2011
Aralık 2010
Kasım 2010
Ekim 2010
Eylül 2010
Ağustos 2010
Temmuz 2010
Haziran 2010
Mayıs 2010
Nisan 2010
Mart 2010

Rastgele:

Stellarium sanal planetaryum: yeni özelliklere genel bakış

BOINC: bilim için hesaplama

Gambas: Linux'ta temel geliştirme

SSH 2.0 Seri Şemaları

Linuxnow.ru: Gelecek için planlar

Aniden boş disk alanınız mı bitiyor? Belki de sorun günlüklerdedir.

iş arkadaşları: hepsi
Herkes için Linux

Afişlerimiz:


Afiş ayarla

Linux çekirdek yapılandırması

Kaynak paketleri kontrol etme

Bir çekirdeği yeniden derlemek, kaynaklarını gerektirir.

Sistem yönetimi hakkında blog. Linux, Windows, NetApp depolama ve sanallaştırma hakkında makaleler.

Red Hat, çekirdek kaynaklarını tek bir rpm paketine yerleştirir, ancak varsayılan olarak yüklenmez. Bu paketin adı:

çekirdek-kaynak-2.4.2-2.1386.rpm

Çekirdeği yeniden derlemek için kaynak koduna ek olarak iki bileşenden oluşan bir derleyiciye ihtiyacınız vardır:

fayda sağlamak;

C dilinin derleyicisi gcc veya egcs'dir.

Mevcut çekirdeğin bir yedek kopyasının oluşturulması üç aşamada gerçekleştirilir:

1. Yapılandırmanın zarar görmesi durumunda onu geri yüklemenizi sağlayan çekirdek kaynaklarının yedek bir kopyasının oluşturulması.

2. Sistemi başlatmanın bilinen bir çalışma aracı olarak çekirdeğin kendisinin bir yedek kopyasını oluşturmak.

3. Çekirdek yedeklemesinden önyükleme yapmak için kullanılabilecek, işletim sistemi yükleyicisi için yeni bir giriş oluşturulması.

Kaynak yedekleme oluşturma, çekirdek kaynak dizini diske kopyalanarak yapılır. Ters yönde kopyalama yapılarak kurtarma yapılır.

Çekirdek yeniden derlendiğinde, eski çekirdek .old uzantılı bir dosyaya yazılır. Ancak, çekirdeğin bu kopyası henüz sistemi başlatmak için kullanılamaz. Bu, yukarıdaki işlemleri gerçekleştirme ihtiyacını açıklar.

Linux'u başlatmak için yaygın olarak kullanılan LILO tipi işletim sistemi yükleyicisi, kök dosya sistemindeki bir çekirdek dosyasına bağlanarak yapılandırılır.

Çekirdeği yedekledikten sonra, Linux'u eski çekirdekle başlatmanıza izin vermek için /etc/lilo.conf dosyasına başka bir girdi eklemeniz gerekir:

/etc/lilo dosyasını açın. bir metin düzenleyicide conf

tüm bölümün bir kopyasını oluşturun;

kopyadaki iki konumu değiştirin:

çekirdek dosya adını yedek kopyasının adıyla değiştirin (uzantı ile birlikte);

bölüm etiketini linux gibi bir şeyle değiştirin. orijinal (orijinal Linux) veya önceki linux (eski Linux).

initrd ile başlayan satırlar, initrd-2 .4.2-2 gibi uygun geri dönüşlerle değiştirilmelidir. asıl resim;

/etc/lilo'ya değişiklikleri yazın. konf.

önyükleyiciye yeni bir giriş girmek için /sbin/lilo komutunu girin. lilo komutunu çalıştırdığınızda, işletim sistemi önyükleyicisine girilen görüntülerin etiketleri ekranda görüntülenir.

Sistem yeniden başlatıldığında, yeni çekirdek kimliği LILO önyükleyici araç ipucunda görüntülenecektir.

Yeni Bir Çekirdeği Yapılandırma

Yapılandırma, çekirdeğe hangi özelliklerin dahil edileceğine, hangilerinin dahil edilmeyeceğine vb. karar verir. Eski bir çekirdeği yapılandırma ve yeni bir tane kurma/yapılandırma arasında seçim yapabilirsiniz. Örneğin, Red Hat Linux 7.1'i kullanarak mevcut bir 2.4.2 çekirdeğini yeni seçeneklerle yeniden yapılandırabilirsiniz. Ayrıca yeni 2.4.4 çekirdeğini indirip kurabilirsiniz. Her iki durumda yapılandırma ayrıntıları farklı olsa da, kullanılan yardımcı programlar ve yapılandırma metodolojisinin kendisi aynıdır.

Linux, her biri kendi özelliklerine sahip üç ayrı yapılandırma yardımcı programına sahiptir.

Komut satırı arabirimine sahip bir yardımcı program. Kullanıcı, çekirdeğe dahil edilmesi gereken özelliklerle ilgili soruları sürekli olarak yanıtlar. Bu yardımcı program, çekirdekle nasıl çalışılacağını bilenler ve bu yardımcı program için yapılandırma komut dosyalarına sahip olanlar için yararlıdır.

Metin modu menüsü ile yardımcı program. Bu yardımcı programın çok düzeyli menüsü, çekirdek parametrelerini herhangi bir sırayla ayarlamanıza ve yeniden yüklemenize olanak tanır.

GUI yardımcı programı. Bu en çekici yardımcı programdır, ancak yalnızca grafiksel X Pencere Sisteminde çalışır.

Listelenen yardımcı programlar, tam veya kısmi çekirdekleri derlerken make yardımcı programı tarafından kullanılan yapılandırma dosyasının aynısını oluşturur.

Çekirdek Seçenekleri

Herhangi bir yapılandırma programında (komut satırı, metin tabanlı veya GUI) ayarları gözden geçirirken, bu ayarların çekirdeğin çalışması üzerindeki etkisi konusunda net olmanız gerekir.

Her programdaki parametrelerin tanımlanması farklıdır, ancak her üçünde de aynı set sunulur. Parametreler iki ana gruba ayrılır:

modüler;

modüler olmayan.

Bu parametreye karşılık gelen program bloğu bir çekirdek modülü olarak yüklenmemişse, iki şeyden biri olabilir:

[*] çekirdeğin ayrılmaz bir parçası;

Çekirdeğin ayrılmaz bir parçası.

Köşeli parantez içindeki karakterler (parantezlerle birlikte) yapılandırma programları menüsündeki seçenek etiketlerine karşılık gelir (komut satırı yardımcı programı hariç).

Modüler parametreler için üç ayar seçeneği vardır (konfigürasyon yardımcı programları menüsündeki gösterimlerine göre):

<>çekirdeğe dahil değildir ve daha sonra yüklenebilecek bir modül olarak oluşturulmamıştır:

<*>çekirdeğe dahildir, bu nedenle daha sonra modül olarak yüklemeye gerek yoktur:

<М>Modül olarak dahil edilmiştir, ancak çekirdeğin bir parçası olarak değildir. Çekirdekten herhangi bir zamanda bir blok kurulabilir veya kaldırılabilir.

Bazen bir parametrenin değeri, başka bir parametre ayarlanana kadar değiştirilemez. Örneğin, belirli bir SCSI aygıtı için desteği ancak genel olarak bu aygıtlar için desteği etkinleştirdikten sonra yükleyebilirsiniz.

Gerekli araçlar (make yardımcı programı ve gcc derleyicisi) ve kaynak metinler sisteme yüklendiğinde, yapılandırma yardımcı programlarından birini çalıştırabilir ve çekirdeği yapılandırmaya başlayabilirsiniz.

GUI Yapılandırıcı

Konfigürasyon yardımcı programının bir grafik arayüz ile başlatılması aşağıdaki sırayla gerçekleştirilir.

Bir X Windows sistemi başlatın (herhangi bir grafik ortamı ve masaüstü ile).

Bir terminal öykünücü penceresi açın (komut satırı penceresi).

Önceki yardımcı programın başlatılmasında olduğu gibi, yardımcı programın derlenmesiyle ilgili birkaç mesaj ekranda yanıp sönecek ve birkaç dakika sonra ana penceresi açılacaktır.

Pirinç. 8. Grafik arayüzlü çekirdek yapılandırma aracı: parametre değerlerini ayarlamak için menü düğmeleri

Grafiksel yardımcı program, menuconfig ig yardımcı programından çok farklı değildir. Burada seçenekler de kategorize edilmiştir; belirli bir kategoriye tıklamak, her biri ilgili aracın çekirdeğin bir parçası olarak mı, yüklenebilir bir modül olarak mı kullanılacağını veya hiç kullanılmayacağını belirleyen bir değere ayarlanabilen bir seçenekler listesi içeren bir iletişim kutusu açar.

Böyle bir iletişim kutusu Şekil 2'de gösterilmektedir.

Pirinç. 9. Bu set çekirdek yapılandırma seçenekleri gibi iletişim kutuları

Red Hat Linux'taki 2.4.2 çekirdeği, varsayılan olarak simetrik çok işlemcili mimariyi destekler. Bilgisayarınızda yalnızca bir işlemci varsa, ilgili seçeneği n olarak ayarlamanız gerekir.

Her seçeneğin sağında bir Yardım düğmesi bulunur.

Grafik yapılandırma yardımcı programının büyük bir avantajı (özellikle ilk kez çekirdek yapılandırıcılar için), menünün farklı seçenekler arasındaki bağımlılıkları göstermesidir. Örneğin, Aygıtları Engelle bölümünde, Çoklu Aygıt Sürücüsü Desteği seçeneği etkinleştirilene kadar çekirdeğe yerleşik RAID desteğini yükleyemezsiniz.

menuconfig yardımcı programında parametrelerin birbirine bağımlılığı, menüdeki parametre adlarının girintisiyle gösteriliyorsa, grafik yardımcı programında izin verilmeyen parametre kombinasyonlarını ayarlamak imkansızdır. Grafiksel yardımcı programla çalışmak, farklı modüller arasındaki bağımlılıkları anlamaya yardımcı olur.

Grafiksel yardımcı programın ana menüsünün sonunda, metin modu menüsündeki ilgili yardımcı program komutlarına benzer komutlar bulunur.

Kaydet ve Çık (kaydederek çık). Bir çekirdek yapılandırma dosyası oluşturma ve yardımcı programı kapatma.

Kaydetmeden çık. Bir çekirdek yapılandırma dosyası oluşturmadan yardımcı programı kapatma.

Listelenen yardımcı programlardan birini kullanarak bir çekirdek yapılandırma dosyası oluşturmadan, çekirdeği yeniden derlemek mümkün değildir.

Dosyadan Yapılandırmayı Yükleyin. Daha önce oluşturulan yapılandırma dosyası yükleniyor.

Yapılandırmayı Dosyaya Depolayın. Belirtilen ada sahip bir dosyaya yapılandırma verilerinin yazılması (daha fazla kullanım veya bir meslektaşınıza aktarım için). Bu, çekirdeği yeniden derlemek için bir yapılandırma dosyası oluşturan Kaydet ve Çık komutunu yürütme ihtiyacını etkilemez.

Yeni bir çekirdeğin derlenmesi ve çalıştırılması

Yapılandırma tamamlandıktan sonra, /usr/src/linux-2 .4.2 dizininde (sürüm numarasına bağlı olarak) bulunan yeni bir yapılandırma dosyası (.config) olup olmadığını kontrol etmeniz gerekir. .config yapılandırma dosyası yerindeyse, çekirdeği yeniden derlemek için make komutunu kullanabilirsiniz.

Tipik olarak, çekirdeğin yeniden derlenmesi 15 dakikadan birkaç saate kadar sürer. Bu, işlemcinin hızına, RAM miktarına ve bir dizi başka faktöre bağlıdır, bu nedenle derleme sırasında girilen tüm komutları, sırayla yürütülmeleri için noktalı virgülle ayrılmış tek bir komutta birleştirmek uygundur.

Yeniden derleme işlemini başlatma

Aşağıdaki komutlar, tüm modüllerini yeniden derleyerek ve bunları uygun sistem dizinlerine yazarak yeni bir çekirdek oluşturmak için tasarlanmıştır. (Orada çekirdek komutları için mevcut olacaklar.)

Sistemi yeniden derlemek için aşağıdaki komutlar girilecektir.

# dep yapmak; temiz yapmak; bzlmage yapmak; modüller yapmak; modüller_install yap

Her make komutu, bir önceki tamamlandıktan sonra ayrı ayrı girilebilir.

Bu komutları girdikten sonra, make programının eriştiği dizinleri, gcc derleyicisinin başlatılmasını anlatan ekranda satırlar yanıp sönecektir. çeşitli kaynak dosyaları derlemek ve çeşitli blokları birbirine bağlamak için. Bu komutların her birinin tamamlanması birkaç dakika sürecektir.

Şimdi komutuyla yeni çekirdek için bir önyükleme diski oluşturabilirsiniz.

Bu komutu çalıştırmadan önce, sürücüye biçimlendirilmiş bir disket yerleştirmelisiniz. Biten önyükleme diski test edilmelidir. Disketi sürücüden çıkarmadan bilgisayarınızı yeniden başlatın.

Çekirdek derleme komutlarını yürütüp komut satırına döndükten sonra yeni bir çekirdek oluşturulur. Bir sistemi yeni bir çekirdekle başlatmak için sistemin çalışacağı standart dizine taşınması gerekir. Bu komutu girerek yapılır

# cf /usr/src/linux-2.4.2/arch/i386/boot/bzlmage /boot/vmlinuz-2.4.2-2

Son olarak, önyükleme haritasını güncellemek için lilo komutunu çalıştırın:

Kopyalanacak çekirdek görüntüsünün adında bir sürüm numarası belirtebilirsiniz. Bu dosyanın adının /etc/lilo.conf dosyasında belirtilen adla eşleşmesi önemlidir.

Yeni bir çekirdeği test etme

Yeni çekirdek dosyasını varsayılan dizine (lilo.conf dosyasında belirtilen) taşıdıktan sonra, sistem bu çekirdek ile yeniden başlatılabilir.

Yeniden başlatmanın hemen ardından, yeniden derlemenin başlatıldığı yeni araçların çalışmasını kontrol edin. Aşağıdakileri yapabilirsiniz.

Eski ve yeni çekirdeklerin hacimlerinin karşılaştırılması. Free komutunu vererek işletim sisteminin kapladığı bellek miktarını kontrol etmelisiniz.

Destekleyecek bir çekirdek modülü yüklemeden bir dosya sistemini bağlama veya bir aygıta erişmeye çalışma (bu aygıt için destek çekirdeğe yerleşikse).

Eski çekirdekte bulunmayan ağ kaynaklarını (IP takma adları gibi) kullanma.

Mevcut çekirdek dosyasının zaman damgasını kontrol etmek gerekli olabilir. Bunu yapmak için uname komutunu girin. Bu, sistemin şu anda yeniden derlenmiş çekirdekle çalıştığından emin olmanızı sağlar. Çekirdeğin zaman damgası ve tarihi, yeniden derlendiği zamanla eşleşmelidir.

uname komutundan gelen yanıt, sistemin yeni çekirdekle başlatılmadığını gösteriyorsa, LILO önyükleyicisine bakın. /etc/lilo.conf dosyasında önyüklenebilir çekirdeğin adının doğru olup olmadığını kontrol edin.

DAHA FAZLA GÖSTER:

Debian'da Kaynaktan Linux Çekirdeğini Derleme ve Yükleme

Bryansk Linux Users Group ve www.rm.pp.ru'dan materyaller

Her dağıtımın kendi çekirdek yapı özellikleri vardır ve bu makale, bunun Debian Etch'te tam olarak nasıl yapılacağına odaklanmaktadır. Ayrıca, sisteminizde belirli işlevleri veya yeni donanımları desteklemek gerektiğinde şu veya bu yamanın çekirdeğe nasıl uygulanacağı sorusunu da ortaya koyuyor. Makale öncelikle daha ileri düzey kullanıcılara yöneliktir ve bu yöntemin olması gerektiği gibi çalışacağının garantisi yoktur ve açıklanan tüm eylemler ve sorumluluk size aittir.

  1. Not
  2. Birinci yöntem. Çekirdeği .deb paketlerinde oluşturma
  3. Yamaları uygulama
  4. Çekirdek Yapılandırması
  5. Çekirdeği derlemek
  6. Yeni bir çekirdek yükleme
  7. Yöntem iki. "geleneksel yol
  8. sorunlar
  9. Bağlantılar

Not

Çekirdeği oluşturmak için iki yöntem açıklanacaktır. Önce sizin veya başka bir sisteminizde kurulabilecek .deb paketlerinin yapı varyantı açıklanacaktır.

İkinci yöntem, sözde "geleneksel" yoldur.

Birinci yöntem. Çekirdeği .deb paketlerinde oluşturma

Çekirdeği derlemek için gerekli paketleri kurmak

Öncelikle paket listelerini güncelleyelim:

# apt-get güncellemesi

İhtiyacımız olan paketleri kurun:

# apt-get yükleme çekirdek paketi libncurses5-dev fakeroot wget bzip2 build-essential

Çekirdek kaynaklarını indirme

/usr/src dizinine gidin, www.kernel.org adresine gidin ve istediğiniz çekirdek sürümünü seçin. Bu durumda linux-2.6.23.1.tar.bz2 sürümü dikkate alınacaktır. İndiriliyor:

# cd /usr/src # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.1.tar.bz2

Kaynakları paketinden çıkarın ve sembolik bir bağlantı oluşturun:

# tar xjf linux-2.6.23.1.tar.bz2 # rm linux (önceki sembolik bağlantıyı kaldır) # ln -s linux-2.6.23.1 linux # cd /usr/src/linux

Yamaları uygulama

İsteğe bağlı ve gereksiz yere bunu yapmayın!

Bazen sanallaştırma teknolojisi veya mevcut sürümde olmayan diğer özellikler gibi mevcut çekirdekte desteklenmeyen sürücüler veya özellikler gerekir. Her durumda, bu, sözde yamalar (varsa) uygulanarak düzeltilir.

Diyelim ki gerekli yamayı (örneğin buna patch.bz2 diyelim) /usr/src dizinine indirdiniz. İndirilen yamayı kaynaklarımıza uygulayın (Hala /usr/src/linux dizininde olmalısınız):

# bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run # bzip2 -dc /usr/src/patch.bz2 | yama-p1

İlk komut sadece bir testtir ve kaynaklarda herhangi bir değişiklik yapılmayacaktır. İlk komuttan sonra herhangi bir hata döndürülmediyse, yamayı uygulamak için ikinci komutu çalıştırabilirsiniz. İlk komuttan sonra hatalar verilmişse, hiçbir durumda ikinci komutu çalıştırmayın!

Bu şekilde, çekirdek kaynaklarına yamalar uygulayabilirsiniz. Örneğin, yalnızca 2.6.23.8 çekirdeğinde bulunan bazı özellikler var ve kaynaklar gerekli işlevselliği içermiyordu ancak patch-2.6.23.8.bz2 yayınlandı. Bu yamayı 2.6.23 çekirdek kaynaklarına uygulayabilirsiniz, ancak 2.6.23.1 veya 2.6.23.3 vb. Bununla ilgili daha fazla bilgiyi şuradan okuyabilirsiniz:

Ön ekler (ön düzeltmeler) - alfa sürümlerine eşdeğer; yamalar, 3 basamaklı bir sürüme sahip önceki tam sürümün kaynaklarına uygulanmalıdır (örneğin, 2.6.12-rc4 yaması 2.6.11 sürümünün kaynaklarına uygulanabilir, ancak 2.6.11.10 sürümüne uygulanamaz.)

Bu, 2.6.23.8 çekirdeği oluşturmak istiyorsak, 2.6.23 sürümünün kaynaklarını indirmemiz gerektiği anlamına gelir (http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.x). 23.tar.gz) ikinci şekilde uygulanan "geleneksel" bir şekilde!

patch-2.6.23.8.bz2'yi çekirdeğe 2.6.23 uygulayın:

# cd /usr/src # wget http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.22.8.bz2 # cd /usr/src/linux # bzip2 -dc /usr/ kaynak/patch-2.6.23.8.bz2 | patch -p1 --dry-run # bzip2 -dc /usr/src/patch-2.6.23.8.bz2 | yama-p1

Çekirdek yapılandırması

Çalışan çekirdeğin mevcut yapılandırma dosyasını yenisi için de kullanmak iyi bir fikirdir. Bu nedenle, mevcut yapılandırmayı /usr/src/linux dizinine kopyalarız:

# temiz yap && mrproper yap # cp /boot/config-`uname -r` ./.config

# menuconfig yap

bundan sonra grafik çekirdek yapılandırma menüsü yüklenecektir. Konfigüratör menüsünde "Alternatif Konfigürasyon Dosyası Yükle"yi seçin ve "Tamam"a tıklayın. Ardından (gerekirse) menüler arasında gezinerek çekirdek yapılandırmasında gerekli değişiklikleri yapın (çekirdek yapılandırma ayrıntıları www.google.com adresinde bulunabilir). İşiniz bittiğinde ve "Çıkış"a bastığınızda, "Yeni çekirdek yapılandırmanızı kaydetmek istiyor musunuz?" sorusu sorulacak, biz de olumlu yanıt veriyoruz "Evet".

Linux Çekirdeğinin Oluşturulması

Çekirdeği derlemek

Çekirdeği oluşturmak sadece iki komutla yapılır:

# make-kpkg clean # fakeroot make-kpkg --initrd --append-to-version=-cybermind kernel_image kernel_headers

--append-to-version='dan sonra istediğiniz adı yazabilirsiniz, ancak eksi işareti (-) ile başlamalı ve boşluk içermemelidir.

.deb paketlerini derleme ve oluşturma süreci oldukça uzun zaman alabilir. Her şey, çekirdeğin yapılandırmasına ve işlemcinizin özelliklerine bağlı olacaktır.

initrd.img oluştururken sorunu çözme

Son zamanlarda, Debian'da, burada açıklanan şekilde oluşturulmuş çekirdeklere sahip paketleri kurduktan sonra, bunlara karşılık gelen /boot/initrd.img dosyasının oluşturulmaması gerçeğinden oluşan bir hata ortaya çıktı. Halihazırda kurulu bir çekirdeği düzeltmek için initrd.img'yi manuel olarak oluşturmanız gerekecek:

güncelleme-initramfs -c -k<полная-версия-ядра>

"Gelecek için" sorununu çözmek için - /etc/kernel/postinst.d/initramfs-tools dosyasında aşağıda alıntılanan satırlardan ikincisini gösterildiği gibi yorumlayın:

# çekirdek paketi fazladan bir argümanı geçer; çekirdek paketi altında çalışmamak için hack #[ -z "$2" ] || 0 çıkışı

Yeni bir çekirdek yükleme

Çekirdek derlemesi başarıyla tamamlandığında, /usr/src dizininde iki .deb paketi oluşturulur:

# cd /usr/src # ls -l

linux-image-2.6.23.1-cybermind_2.6.23.1-cybermind-10.00.Custom_i386.deb - gerçek çekirdeğin kendisi ve linux-headers-2.6.23.1-cybermind_2.6.23.1-cybermind-10.00.Custom_i386.deb - üstbilgi çekirdekleri diğer modülleri oluşturmak için gerekli (örneğin, nVidia sürücü modülleri oluştururken). Bunları yüklemek:

# dpkg -i linux-image-2.6.23.1-cybermind_2.6.23.1-cybermind-10.00.Custom_i386.deb # dpkg -i linux-headers-2.6.23.1-cybermind_2.6.23.1-cybermind-10.00.Custom_i386.deb

(Bu paketler artık yeniden oluşturmaya gerek kalmadan başka bir sisteme kurulabilir.)

Her şey, kurulum tamamlandı, önyükleyici menüsü, yeni bir RAM disk ve çekirdek kurulumu otomatik olarak yapılacak. Sadece yeniden başlatmak için kalır:

Yöntem iki. "geleneksel yol

"Çekirdeğin derlenmesi" noktasından ÖNCE yukarıda açıklanan tüm noktaları gerçekleştiriyoruz.

# hepsini yap # make module_install # make install

Her zamanki gibi, çekirdek yapılandırmasına ve işlemci özelliklerine bağlı olarak derleme uzun zaman alabilir.

Bu yöntemin ana dezavantajı, çekirdekleri sık sık güncellerseniz, bir süre sonra çok sayıda birikecek ve kullanılmayanları kaldırmak isteyeceksiniz. Bunu kolaylaştırmak için, "make module_install" ve "make install" komutlarını kullanarak sistemde kurulu olan çekirdeği ve diğer dosyaları, ilki gibi bir deb paketine (veya daha doğrusu, iki çekirdek 2.6.27'den başlayarak) oluşturabilirsiniz. yöntem, ancak burada çekirdek komut dosyalarıyla kullanacağız:

# hepsini yap # deb-pkg yap

Kaynak dizinin bir seviye yukarısındaki dizinde iki .deb dosyası görünecektir. Çekirdeği /usr/src/linux-2.6.27.10 dizininde derledim ve /usr/src/ dizinindeki dosyaları aldım

# linux-2.6.27.10_2.6.27.10-1_amd64.deb # linux-firmware-image_2.6.27.10-1_all.deb

Çekirdek komutla yüklenir

# dpkg -i linux-2.6.27.10_2.6.27.10-1_amd64.deb

Eski çekirdekler, örneğin sinaptikten kaldırılabilir.

Sonraki adımlar

Çekirdek oluşturuldu ve kuruldu, ancak şimdi bir RAM diski oluşturmanız (bu olmadan çekirdeğin önyükleme yapmayacağı) ve GRUB önyükleyicisini güncellemeniz gerekiyor. Bunu yapmak için aşağıdakileri yapın:

# depmod 2.6.23.1 # apt-get yükleme yaird

RAM diskini takın:

# mkinitrd.yaird -o /boot/initrd.img-2.6.23.1 2.6.23.1

Önyükleyiciyi kolayca ve zahmetsizce güncelleyelim:

Her şey, önyükleyici ve yeni çekirdek hazır, yalnızca yeniden başlatmaya devam ediyor:

sorunlar

Yeniden başlatmanın ardından seçtiğiniz yeni çekirdek açılmıyorsa, yeniden başlatın ve önceki çekirdeğinizi seçin ve çalışan bir çekirdek oluşturmak için tüm süreci tekrar denemeyi deneyebilirsiniz. Bu durumda /boot/grub/menu.lst içindeki çalışmayan çekirdeğin satırlarını silmeyi unutmayın.

Linux çekirdeğini derlemek

Çekirdeği neden kendiniz derleyesiniz?
Çekirdeğin derlenmesiyle ilgili sorulan asıl soru belki de şudur: “Bunu neden yapmalıyım?”.
Birçoğu, kendini akıllı ve gelişmiş bir "Linuxoid" olarak göstermenin anlamsız bir zaman kaybı olduğunu düşünüyor. Aslında, çekirdeği derlemek çok önemli bir şeydir. Çalışan bir web kamerası olmayan yeni bir dizüstü bilgisayar satın aldığınızı varsayalım. Senin eylemlerin? Arama motoruna bakıyorsunuz ve bu konudaki soruna bir çözüm arıyorsunuz. Çoğu zaman, web kameranızın sahip olduğunuzdan daha yeni bir çekirdek sürümünde çalıştığı ortaya çıkabilir. Hangi sürüme sahip olduğunuzu bilmiyorsanız, terminalde uname -r yazın, sonuç olarak çekirdek sürümünü alırsınız (örneğin, linux-2.6.31-10). Ayrıca, performansı artırmak için çekirdek derlemesi yaygın olarak kullanılır: Gerçek şu ki, çekirdek dağıtımları varsayılan olarak "herkes için" derlenir, bu nedenle, ihtiyaç duymayabileceğiniz çok sayıda sürücü içerir. Yani donanımınızı iyi biliyorsanız konfigürasyon aşamasında gereksiz sürücüleri devre dışı bırakabilirsiniz.

Sistemin bit derinliğini değiştirmeden 4 gigabayttan fazla RAM desteğini etkinleştirmek de mümkündür. Öyleyse, hala kendi çekirdeğinize ihtiyacınız varsa, derlemeye başlayalım!

Çekirdek kaynak kodunu alma.
Yapılacak ilk şey, istenen çekirdek sürümü için kaynak kodunu almaktır. Genellikle en yeni kararlı sürümü edinmeniz gerekir. Tüm resmi çekirdek sürümleri kernel.org'da mevcuttur. Zaten kurulu bir X sunucunuz (ev bilgisayarı) varsa, favori tarayıcınızda siteye gidebilir ve istediğiniz sürümü bir tar.gz (gzip sıkıştırılmış) arşivinde indirebilirsiniz. Konsolda çalışıyorsanız (örneğin, X sunucusunu henüz yüklemediyseniz veya sunucuyu yapılandırıyorsanız), bir metin tarayıcısı (örneğin, elinks) kullanabilirsiniz. Standart wget indirme yöneticisini de kullanabilirsiniz:
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.1.tar.gz
Ancak ihtiyacınız olan tam sürüm numarasını bilmeniz gerektiğini unutmayın.

Kaynak kod arşivini açma.
Kaynak koduyla birlikte arşivi aldıktan sonra, arşivi bir klasöre açmanız gerekir. Bu, grafik dosya yöneticilerinden (yunus, nautilus, vb.) veya mc aracılığıyla yapılabilir. Veya geleneksel tar komutunu kullanın:
tar -zxvf path_to_archive
Artık bir kaynak klasörünüz var, cd kernel_source_directory kullanarak ona gidin (bir klasördeki dizinleri listelemek için ls komutunu kullanın).

Çekirdek yapılandırması.
Çekirdek kaynak dizinine geçtikten sonra, "20 dakikalık" bir çekirdek yapılandırması yapmanız gerekir. Amacı, yalnızca gerekli sürücüleri ve işlevleri bırakmaktır. Tüm komutların zaten süper kullanıcı adına yürütülmesi gerekir.

make config - yapılandırıcının konsol modu.

menuconfig - liste olarak konsol modu yapın.

xconfig yapın - grafik modu.

Gerekli değişiklikleri yaptıktan sonra ayarları kaydedin ve yapılandırıcıdan çıkın.

Derleme.
Derlemenin son aşamasının zamanı geldi - derleme. Bu iki komutla yapılır:
yap && yükle
İlk komut tüm dosyaları makine koduna derleyecek ve ikincisi yeni çekirdeği sisteminize yükleyecektir.
20 dakikadan birkaç saate kadar (bilgisayarın gücüne bağlı olarak) bekleriz.

Linux Çekirdeğini Yapılandırma ve Derleme

Çekirdek kurulur. Grub(2) listesinde görünmesini sağlamak için (root olarak) yazın.
güncelleme grubu
Şimdi yeniden başlattıktan sonra "Escape" tuşuna basın ve listede yeni çekirdeği göreceksiniz. Çekirdek açılmazsa, eski çekirdekle önyükleme yapın ve daha dikkatli yapılandırın.

KernelCheck - konsola girmeden çekirdeğin derlenmesi.
KernelCheck, çekirdeği tamamen grafik modunda oluşturmanıza olanak tanır Debian ve temelli dağıtımları için. Başlatıldığında, KernelCheck en son çekirdek sürümlerini ve yamaları sunacak ve onayınızdan sonra kaynak kodunu indirin, grafik yapılandırıcıyı başlatın. Program, çekirdeği .deb paketlerinde oluşturacak ve kuracaktır. Sadece yeniden başlatmanız gerekiyor.

Makale arşivi:
Mayıs 2017
Mart 2017
Nisan 2016
Mart 2016
Ekim 2013
Eylül 2013
Mayıs 2013
Mart 2013
Kasım 2012
Temmuz 2012
Haziran 2012
Nisan 2012
Mart 2012
Şubat 2012
Nisan 2011
Mart 2011
Şubat 2011
Ocak 2011
Aralık 2010
Kasım 2010
Ekim 2010
Eylül 2010
Ağustos 2010
Temmuz 2010
Haziran 2010
Mayıs 2010
Nisan 2010
Mart 2010

Rastgele:

Aurorae: KDE için pencere dekorasyon motoru

Sblog .NET'te yeniden yazılacak

Linuxnow.ru: Gelecek için planlar

Bolgenolar. Telecon'un yalanlaması

GRUB 2 Hızlı Kurtarma

Özgür Yazılım Vakfı ve copyleft.

iş arkadaşları: hepsi
Herkes için Linux

Afişlerimiz:


Afiş ayarla

Soru şu ki, neden aynı şeyi Linux çekirdeği ile yapmayı öğrenmiyorsunuz? Linux çekirdeğini kaynaktan oluşturma nedenleri genel olarak aynıdır - çekirdeğin en son sürümünü almak, acilen güvenlik yamalarını uygulamak, belirli görevler ve belirli donanımları optimize etmek ve ayrıca çekirdek geliştirmede yer alma arzusu, QA rolünde bile.

Önemli! Bu gönderideki talimatların izlenmesi verilerinizin kaybolmasına neden olabilir. Yedeklemeler yapın ve her şeyi kendi sorumluluğunuzda ve risk altında yaptığınızı unutmayın. Aşağıda açıklanan her şey Ubuntu 14.04 LTS'de test edilmiştir. Ancak Ubuntu'nun diğer sürümlerinde ve diğer Linux dağıtımlarında farklılıklar minimum olmalıdır.

Önyükleyiciyi ayarlama

/etc/default/grub'u şu şekilde düzenleyin:

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=10
#GRUB_HIDDEN_TIMEOUT_QUIET=doğru
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR =` lsb_release -i -s 2 > /dev/null || yankı Debian'
GRUB_CMDLINE_LINUX_DEFAULT="sessiz sıçrama"
GRUB_CMDLINE_LINUX=""

Düzenlemeden sonra şunu söylüyoruz:

sudo güncelleme grubu

Sonuç olarak, sistem önyüklenmeden önce, önyükleme yapmak istediğiniz çekirdeği seçmeniz için 10 saniye istenecektir. Çekirdek yapılandırmanızı bozarsanız ve önceki bir sürümle önyükleme yapmak istiyorsanız çok kullanışlıdır!

Bağımlılıkları yükle

En azından aşağıdaki paketlere ihtiyacımız olacak:

sudo apt-get install git gcc make bc fakeroot dpkg-dev \
libncurses5-dev libssl-dev

Ancak birçok sistemde hepsi zaten mevcut olacaktır.

Kaynak almak

wget https://www.kernel.org/ pub/ linux/ kernel/ v4.x/ linux-4.6.4.tar.xz
tar --xz -xvf linux-4.6.4.tar.xz
cd linux-4.6.4

Veya en son sürümü istiyorsanız, kaynağı doğrudan Git'ten alabilirsiniz:

# Ayna: https://github.com/torvalds/linux
git klonu "git://git.kernel.org/pub/scm/linux/kernel/git/"\
"torvalds/linux.git"
cd linux

Git'te v4.6.4 etiketini bulamadığım gerçeğine bakılırsa, Linux çekirdek sürümleri yalnızca sıkıştırılmış tar arşivleri biçiminde yapılıyor.

Vanilya çekirdeği yerine Canonical'dan yamalarla bir çekirdek oluşturmak istiyorsanız:

git klon git://kernel.ubuntu.com/ubuntu/ubuntu-trusty.git
cd ubuntu-güvenilir
git etiketi | az
git checkout Ubuntu-lts-4.4.0-31.50_14.04.1

Kendi deneyimlerime göre, Ubuntu kullanıyorsanız, vanilya çekirdeğini güvenle kullanabilirsiniz. Bununla ilgili herhangi bir sorun yaşamanız olası değildir.

Not:İlginç bir şekilde, mevcut nispeten popüler Linux dağıtımlarından yalnızca Gentoo, Slackware ve Arch Linux, kendi yamaları olmayan bir çekirdek kullanıyor gibi görünüyor.

Her neyse, artık kaynak kodunuz var.

Çekirdeğin derlenmesi ve yüklenmesi

Çekirdeğin oluşturulacağı seçenekleri seçin:

menuconfig yap

Gerekirse ayarları değiştirin, Kaydet'i ve ardından Çıkış'ı tıklayın. Bu, seçtiğimiz seçenekleri içeren bir .config dosyası oluşturacaktır.

saat Güncellemeçekirdek (zaten zaten bir tür çekirdek mi kullanıyorsunuz?) mevcut çekirdeğin yapılandırmasını almak ve yeni seçenekleri varsayılan değerlerine ayarlamak uygundur:

zcat /proc/config.gz > ./.config
olddefconfig yap

Son olarak şunları topluyoruz:

make -j4 bindeb-pkg LOCALVERSION=-özel

Çekirdek oldukça uzun bir süre monte edilir. Dizüstü bilgisayarımda montaj 1 saat 15 dakika sürdü. Ancak bu andan itibaren hakkında Geri kalanı, hata ayıklama sembolleriyle dev bir çekirdek paketi oluşturmaya harcanır. Bu paketin birleştirilmesi, yapılandırmada CONFIG_DEBUG_INFO parametresi yorumlanarak devre dışı bırakılabilir. Bu paketin SystemTap ve diğer faydalı araçlar için gerekli olduğunu unutmayın.

Çekirdeğin kendisine ek olarak, belgeleri de toplayabilirsiniz:

# ayrıca "make pdfdocs" ve diğerleri de var, "make help"e bakın
htmldocs yapmak
krom tarayıcı Dokümantasyon/ DocBook/ index.html

Montaj tamamlandıktan sonra yan kuruluş dizin gibi bir şey görüyoruz:

linux-firmware-image-4.4.13-custom_4.4.13-custom-1_amd64.deb
linux-headers-4.4.13-custom_4.4.13-custom-1_amd64.deb
linux-image-4.4.13-custom_4.4.13-custom-1_amd64.deb
linux-image-4.4.13-custom-dbg_4.4.13-custom-1_amd64.deb
linux-libc-dev_4.4.13-custom-1_amd64.deb

Çekirdeğin dbg versiyonu dışındaki tüm deb paketlerini her zamanki gibi koyduk. sudo dpkg -i ve yeniden başlatın. Yeniden başlattıktan sonra komutun çıktısına bakın uname-a. Yeni çekirdekle gerçekten önyükleme yaptığımızdan emin oluyoruz. Yeni çekirdekte bir sorun varsa, önyükleyicide sistemin daha önce başlatıldığı çekirdeği seçeriz. Eski çekirdekle önyükleme yaptıktan sonra, yeni çekirdeğin paketlerini hızla kaldırırız ve işte - sistem önceki durumuna geri döner.

Mart ayının ortasında, neredeyse iki aylık geliştirme ve yedi sürüm adayının ardından Linus Torvalds, 4.5 çekirdeğin yeni bir sürümünü tanıttı. Düzeltmelere ek olarak, sürümde gerçekten birçok yeni şey var. Değişiklikler tüm alt sistemleri etkiledi - disk, bellek, sistem ve ağ hizmetleri, güvenlik ve tabii ki yeni cihazlar için sürücüler eklendi. En ilginç olanlardan bazılarını ele almaya çalışalım.

sürüm hakkında

4.4 çekirdek sürümü nispeten yakın bir zamanda, Ocak 2016'nın başlarında piyasaya sürüldü, ancak bu kısa sürede çok sayıda ekleme birikti. Ve Linus yeni sürümü "normal" olarak adlandırsa da, 4.4 sürümüne kıyasla yamanın boyutunun neredeyse üçte bir oranında büyüdüğünü görebilirsiniz - 49 MB'a karşı 70 MB. Yaklaşık 13 bin düzeltme yapan geliştirmeye yaklaşık 1528 kişi katıldı. 11 binden fazla dosyaya 1.146.727 eklendi, 854.589 satır kod çıkarıldı. 4.4'te sırasıyla 714.106 ve 471.010 satır vardı. Tüm değişikliklerin neredeyse yarısı (%45) aygıt sürücüleriyle ilgili, %17'si donanım mimarilerinin kodunu, %14'ü ağ yığını, %4'ü dosya sistemleri ve %3'ü dahili çekirdek alt sistemlerini etkiliyor. Red Hat'ten Doug Ledford en çok satıra katkıda bulundu, çoğunlukla kodu temizledi (%7,7), Texas Instruments'tan Tomi Valkeinen OMAP alt mimarisi desteği üzerinde çalışıyor (%5,3), AMD grafik sürücülerine odaklanan üç geliştirici: Eric Huang - %3,3, Alex Deucher - %2,4 ve yanyang1 - %1,6. Changeset liderleri - Desteklediği GPIO (%2,0) dahil olmak üzere birçok düşük seviye değişikliği uygulayan Linaro'dan Linus Walleij, ARM'yi desteklemek için çok şey yapan Arnd Bergmann (%1,9) ve çalışan Leo Kim wilc1000 sürücüsünde (%1.7). Daha önce olduğu gibi, birçok şirket çekirdeğin gelişimi ile ilgileniyor. 4.5 sürümü üzerindeki çalışma, Red Hat, Intel, AMD, Texas Instruments, Linaro, Linux Foundation, Samsung, IBM, Google dahil olmak üzere 200'den fazla şirket tarafından desteklendi. Çoğu, cihazları ve ilgili alt sistemleri ve araçları için destek geliştirir, ancak örneğin Google, geleneksel olarak Linux ağ iletişimi alt sisteminde birçok değişiklik yapar.

Çekirdek ve Sürücüler

Montajcıda (x86/asm) yazılan karmaşık ve bakımı kötü yapılmış kodun C'ye taşınması 4.0'da devam etti. Çekirdek artık -fsanitize=undefined seçeneğiyle oluşturulabilir. Parametrenin kendisi iki yıl önce GCC 4.9+ sürümünde göründü ve C ve C++ dillerinde bulunan tanımsız davranışı algılayan UBSan (Undefined Behavior Sanitizer) hata ayıklama modunu etkinleştirir: başlatmadan önce statik olmayan değişkenlerin kullanımı, sıfıra bölme, tamsayı taşması vb. Derleyici genellikle bu tür işlemlerin asla olmayacağını varsayar ve gerçekleşirse sonuç herhangi bir şey olabilir ve derleyicinin kendisine bağlıdır. Artık derleyici bu tür durumları algılar, bir "çalışma zamanı hatası:" verir (-fno-sanitize-recover'ı devre dışı bırakabilirsiniz) ve yürütmeye devam eder. Varsayılan olarak, her işletim sistemi derlemesinde, tüm kitaplıklar belirli adreslere yüklenir ve bu da bir saldırı gerçekleştirmeyi kolaylaştırır. Güvenliği artırmak için, bir dizi teknoloji kullanılır, bunlardan biri, ASLR (Adres Alanı Düzeni Rastgeleleştirme) biçiminde uygulanan mmap () çağrılırken rastgele bir kaymadır. ASLR teknolojisi ilk olarak Linux'ta 2005'te 2.6 çekirdeğinde ortaya çıktı ve 32-bit sistemler için 8-bit ofset verdi (yani, aslında daha az olmasına rağmen 256 adres seçeneği) ve x64 için - offset zaten 28-bit. X64 için oldukça yeterli seçenek var, ancak Android dahil 32 bit sistemler için bu bugün açıkça yeterli değil. Bir adresi alabilecek bilinen açıklar zaten var. Soruna bir çözüm arayışı sonucunda, /proc/sys/vm/mmap_rnd_bits ve /proc/sys/vm/mmap_rnd_compat_bits (x64 sistemlerinde) aracılığıyla ASLR için daha fazla rastgelelik ayarlamanıza izin veren bir yama yazılmıştır. x86 işlemleri için). Her mimari için, mevcut adres alanı dikkate alınarak minimum ve maksimum değerler belirtilir. x86 için değer 8 ila 16 bit veya 28 ila 32 (x64 sürümü için) arasında değişebilir. Çekirdek oluşturulurken varsayılan seçenekler ayarlanabilir.
Yeni çekirdekte ASLR'yi yapılandırma NVIDIA (Nouveau) ve Intel video kartları için DRM sürücüsünün genişletilmiş yetenekleri (gelecek nesil Kaby Lake yongaları için destek), yeni ses kartları, USB denetleyicileri ve kripto hızlandırıcılar için destek eklendi. Grafik kartı üreticileri Intel ve NVIDIA, açık kaynak sürücülerinde UMS (Kullanıcı Alanı Modu Ayarı) kullanımını KMS (Çekirdek Modu Ayarı) lehine uzun süredir terk etti, şimdi UMS mod kodunu kaldıran ATI Radeon sürücüsünün sırası. 3.9'dan beri, DRM_RADEON_UMS parametresi ile veya GRUB'da radeon.modeset=0 ayarlanarak etkinleştirmek mümkündü. Artık sadece KMS (Çekirdek Modu Ayarı) kaldı. Daha eski sürücüleri veya UMS modunu kullanmanız gerekiyorsa bu dikkate alınmalıdır (UMS bazen daha iyi performans gösterir). Tonga ve Fiji GPU'lar ve entegre Carrizo ve Stoney için GPU performansını iyileştirmek için AMDGPU sürücüsüne PowerPlay dinamik güç yönetimi teknolojisi için deneysel destek eklendi. PowerPlay modunda, GPU düşük güç modunda başlar, ancak grafik alt sistemi üzerindeki yük artarsa, frekansı otomatik olarak artırır. Varsayılan olarak PowerPlay devre dışıdır; etkinleştirmek için amdgpu.powerplay=1 parametresini çekirdeğe iletin. Medya denetleyicisi API'sinin yeni sürümü, Video4Linux aygıtları için desteği genişletir ve multimedya denetleyici işlevini DVB, ALSA ve IIO gibi diğer alt sistemlerde kullanmanıza olanak tanır. KVM'de (Çekirdek Tabanlı Sanal Makine) s390 mimarisini (artık 248'e kadar vCPU kullanabilir), ARM/ARM64'ü desteklemek ve Hyper-V'de x86 performansını iyileştirmek için çok şey yapıldı.

Ubuntu'da Kernel 4.5 Kurulumu

Yeni çekirdeğe aşina olmanın en kolay yolu, Ubuntu Çekirdek Ekibinin yapısını kullanmaktır. Kapsamlı testlerden sonra, yeni çekirdek ppa:canonical-kernel-team/ppa ile sonuçlanır, ancak bu genellikle zaman alır. $ wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5-wily/linux-headers-4.5.0-040500-generic_4.5.0-040500.201603140130_amd64.deb http://kernel .ubuntu.com/~kernel-ppa/mainline/v4.5-wily/linux-headers-4.5.0-040500_4.5.0-040500.201603140130_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline /v4.5-wily/linux-image-4.5.0-040500-generic_4.50-040500.201603140130_amd64.deb $ sudo dpkg -i linux*.deb Yeniden başlattıktan sonra çalışabiliriz.

KOL Desteği

ARM bilgisayarlar, belirli görevler için mini sunucular veya otomasyon denetleyicileri olarak kullanılır, bu da onları çok popüler ve talep görür. Linux ARM topluluğu, önemli bir pazar payına sahip olan 32-bit ARM platformlarını desteklemek için muazzam miktarda iş yaparak son beş yılda en aktif olanlardan biri haline geldi ve bu çalışma genellikle 4.5'in piyasaya sürülmesiyle tamamlandı. dal. Daha önce, her ARM cihazı için, yalnızca belirli cihazlara destek sağlayan kendi çekirdeğini oluşturmak gerekiyordu. Ancak sorun şu ki, cihazlar daha karmaşık hale geldi, konfigürasyonu değiştirmek mümkün hale geldi ve ARM cihazlarındaki kullanıcıların kendileri gereksiz hareketler olmadan düzenli dağıtımlar kullanmak istedi. Ama sonunda, Linux'u kullanmayı çok zorlaştıran çekirdeği oluşturmak için birkaç yüz seçeneğimiz vardı. Büyük miktarda kodun temizlenmesi ve yeniden düzenlenmesi sonucunda, çekirdeğe ARMv6 ve ARMv7 destek kodunu dahil etmek mümkün oldu, yani artık her iki sistemde de önyükleme yapabilen evrensel bir çekirdek oluşturabiliyoruz. Burada, muhtemelen, Open Firmware'in geliştirilmesinin bir parçası olarak ortaya çıkan, yakın zamanda tanıtılan Cihaz Ağacı spesifikasyonunu hatırlamamız gerekiyor. Aygıt Ağacı, /boot/dtbs içinde depolanan özel dts dosyalarını kullanarak önyükleme sırasında donanımı yapılandırmanıza ve çekirdeği yeniden oluşturmadan ayarları değiştirmenize olanak tanır. Cihaz Ağacının kullanımı, yalnızca cihazlar için değil, tüm yeni ARM geliştirmeleri için zorunlu hale gelir. Bütün bunlar, gelecekte Linux dağıtımlarının herhangi bir ARM cihazında güvenle çalıştırılabileceğine dair güven veriyor. Buna paralel olarak, Linux Vakfı'ndan Greg Kroah-Hartman, çekirdeğin ilk sürümleri için benzer bir özelliği uygulayan bir yama yayınladı. Arch/arm64'te yeni 64-bit ARM mimarisi (ARMv8) için destek sağlayan kodu buluyoruz. Tüm popüler ARM mimarileri için yeni özellikler eklendi - Allwinner, Amlogic, Samsung, Qualcomm ve çeşitli geliştiricilerin yeni ARM kartları için destek.

Sistem servisleri

Linux'ta UEFI (Birleşik Genişletilebilir Ürün Yazılımı Arabirimi) ürün yazılımı verilerine erişmek için, /sys/firmware/efi/efivars içine monte edilmiş özel bir efivars sözde dosya sistemi (EFIVAR_FS tarafından yapılandırılabilir) kullanılır. Bazı uygulamalarda, rm -rf /* komutu yürütülürken, bu dizinin içeriği de silindi ve bu da bellenimin tahrip olmasına neden oldu. Şirketler - cihaz geliştiricileri bunu ciddi bir dezavantaj olarak görmezler, çünkü durum elbette en yaygın değildir ve herhangi bir kullanıcının bunu kontrol etmeyi düşünmesi pek olası değildir. Yine de bir sorun var ve virüs yazarları bu fırsattan gerçekten yararlanabilir. 4.5 çekirdeği, içindeki dosyaların silinmesini önlemek için /sys/firmware/efi/efivars dizinine özel koruma ekler.

Devamı sadece üyelere açıktır

Seçenek 1. Sitedeki tüm materyalleri okumak için "site" topluluğuna katılın

Belirtilen süre boyunca topluluğa üyelik, TÜM Hacker malzemelerine erişmenizi sağlayacak, kişisel kümülatif indiriminizi artıracak ve profesyonel bir Xakep Skoru puanı kazanmanıza izin verecektir!

Çekirdek(İngilizce) çekirdek) diğer her şeyin etrafında inşa edildiği şeydir. İşte buna Linux denir. Şimdi, günlük yaşamda Linux kelimesi, üzerine kurulu işletim sistemi olarak adlandırılıyor, ancak iyi bir şekilde GNU / Linux (uzun yıllardır geliştirilmekte olan GNU projesinden Linux çekirdeği ve yazılımı) olarak adlandırılıyor.

Ubuntu, bazıları kararsız ve deneysel özellikler ekleyen çok sayıda yamaya sahip bir çekirdek kullanır.

Ubuntu'nun her sürümünün kendi çekirdek sürümü vardır. 10.04'ten beri LTS sürümleri, çekirdeği daha yeni sürümlerde bulunan sürümlere yükseltebildi.

Ubuntu SürümüÇekirdek sürümü
4.10 2.6.9
5.04 2.6.11
5.10 2.6.13
6.06LT 2.6.15
6.10 2.6.18
7.04 2.6.19
7.10 2.6.20
8.04LTS 2.6.24
8.10 2.6.27
9.04 2.6.28
9.10 2.6.31
10.04LTS 2.6.32
10.10 2.6.35
11.04 2.6.38
11.10 3.0.4
12.04LTS 3.2
12.10 3.5
13.04 3.8
13.10 3.11
14.04LTS 3.13
14.10 3.16
15.04 3.19

çatallar

Canonical geliştiricileri, eklenen yamaları belirtmek için bir mikro sürüm eklediğinden, Ubuntu çekirdeğinin ve kernel.org web sitesindeki sürüm numaralandırması uyuşmuyor. Örneğin 3.2.0-23 sürümü, çekirdeğin 23 yamaya sahip 3.2 dalına dayandığı anlamına gelir.

Ubuntu deposunda aşağıdaki çekirdek türleri desteklenir:

jenerik-pae çekirdeği, 32-bit bir sistemin 64 GB'a kadar toplam RAM kullanmasına izin verir ve belirli bir işlemin ihtiyaçları için 4 GB'den fazla ayırmaz, basit bir jenerik çekirdek ise 4 GB'den fazla RAM ile çalışır.

64 bit çekirdek, işlemler tarafından tüketilen 1 TB'a kadar belleğin adreslenmesine izin verir.

Çekirdeği daha yeni bir ana sürüme güncellemeniz gerekiyorsa (genellikle bunun nedeni, yeni sürümlerin yeni donanım için destek eklemesi, gerilemeleri ortadan kaldırmasıdır), resmi olarak desteklenen http://kernel.ubuntu.com/ arşivini kullanabilirsiniz. ~çekirdek-ppa/ana hat/ .

Çekirdeği derlemek

Çekirdeği kaynaktan oluşturmak, işletim sisteminin nasıl çalıştığı hakkında bazı beceriler ve bilgiler gerektirir.

Çekirdeği oluşturmaya başlamadan önce aşağıdaki paketleri kurmanız gerekir:

Build-temel fakeroot ncurses-dev libssl-dev

Diğer tüm eylemler süper kullanıcı adına gerçekleştirilmelidir:

sudo su

Kaynak kodunu alma

Ubuntu tarafından kullanılan çekirdeğin kaynak kodu, linux-source paketi yüklenerek elde edilebilir:

apt-get install linux kaynağı

dizine kurduktan sonra /usr/src adında bir arşiv olacak linux-source-verify_kernels.tar.bz2.

Arşivi kernel.org sitesinden çekirdek kaynak koduyla da indirebilirsiniz.

Çekirdeği kernel.org sitesinden indirirken, ona yamalar uygulamanız gerekecek.

Yapılandırma

Ortaya çıkan arşivi paketinden çıkarın ve kolaylık olması için ortaya çıkan dizine sembolik bir bağlantı oluşturun:

cd / usr/ src tar xjf ./ linux-source-3.2.0.tar.bz2 ln -s ./ linux-source-3.2.0 ./ linux cd ./ linux

Çekirdek yapılandırma sürecini basitleştirmek için mevcut olanın ayarlarını kopyalayabilirsiniz.

Sorularım var?

Yazım hatası bildir

Editörlerimize gönderilecek metin: