Ernadro 3.12 çykdy - Debian Linux-da guruň we düzüň


Linux-dan peýdalanmagyň iň uly çekimlilerinden biri, aňsat özleşdirilmegi we sazlamak üçin iň gyzykly zatlaryň biri, Linux operasiýa ulgamynyň ýüregi bolan Kerneliň özi. Ernadrosyňyzy hiç wagt düzmeli bolmagyňyz ähtimal. Paket dolandyryş ulgamyňyzyň üsti bilen paýlanyşyňyz we täzelenmeleriňiz bilen iberilýän zat, adatça ýeterlik derejede gowy, ýöne ýadrosy täzeden düzmek zerur bolýan wagtlary bolýar.

Bu sebäpleriň käbiri ýörite enjam zerurlyklary, modulirlenen biriniň ýerine monolit ýadrosyny döretmek islegi, peýdasyz sürüjileri aýyrmak, ösüş ýadrosyny işletmek ýa-da Linux hakda has giňişleýin öwrenmek üçin ýadrosy optimizirlemek bolup biler. Bu ýagdaýda, Debian Wheezy-da täze çykan Kernel 3.12-i düzmekçi. Täze çykan Kernel 3.12-de birnäçe täze aýratynlyk bar, şol sanda NVIDIA Optimus üçin käbir täze sürüjiler we Radeon Kernel Graphics Driver. Şeýle hem, EXT4 faýl ulgamyna ägirt uly gowulaşmalar we XFS we Btrfs-a käbir täzelenmeler hödürleýär.

“Debian” -da ýadro 3.12-i nädip düzmeli we gurmaly

Başlamak üçin käbir paketler, ýagny fakeroot we ýadro-paket gerek bolar:

# apt-get install fakeroot kernel-package

Indi, www.kernel.org-dan iň täze çeşme tarbolyny alalyň ýa-da göçürip almak üçin aşakdaky wget buýrugyny ulanyp bilersiňiz.

# wget -c https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.tar.xz

Indi, arhiwi açalyň.

# tar -xvJf linux-3.12.tar.xz

Ondan soň, täze ýadro çeşmesi katalogy dörediler.

# cd linux-3.12

Indi, ýadrosy düzmek isleýäris. Iň gowusy, häzirki wagtda ulanýan we şol ýerden işleýän konfigurasiýaňyzdan başlamak iň gowusydyr. Munuň üçin häzirki konfigurasiýany/boot katalogyndan häzirki iş bukjasyna göçüreris we .config görnüşinde ýatda saklarys.

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

Hakyky konfigurasiýadan başlamak üçin iki wariantdan biri bar. “X11” gurnan bolsaňyz, “xconfig” ýasap bilersiňiz we ýadrosyňyzy düzeniňizde size kömek etjek ajaýyp GUI menýusy bar. CLI gurşawynda işleýän bolsaňyz, menýukonfig ýasap bilersiňiz. Menukonfig ulanmak üçin gurnalan libncurses5-dev bukjasy gerek bolar:

# apt-get install libncurses5-dev
# make menuconfig

Görşüňiz ýaly, öz islegiňize görä, ýadrosyňyz üçin dürli tonnalar bar. Aslynda, bu gollanmanyň çäginde gaty köp. Ernadro opsiýalaryny saýlanyňyzda iň gowy ýol synag we ýalňyşlyk bilen we Googling-iň köpüsini etmekdir. Öwrenmegiň iň gowy usulydyr. Diňe ýadrosyňyzy iň soňky wersiýa bilen täzelemäge synanyşýan bolsaňyz, hiç zady üýtgetmeli dälsiňiz we\Konfigurasiýany ýatda saklaň saýlap bilersiňiz. Häzirki ýadrosyň konfigurasiýa faýlyny täze ýadro .config faýlyna göçürenimizden soň.

\ Ernadro modul ýükleýjisiniň\adüklenýän modul goldawy -da saýlanandygyny ýadyňyzdan çykarmaň. Eger ýok bolsa we ýadro modullaryny ulanýan bolsaňyz, bu zatlary çynlakaý bulaşdyryp biler.

Bu göni bolansoň, çeşme agajyny arassalamagyň wagty geldi.

# make-kpkg clean

Ahyrynda, ýadro paketini gurmagyň wagty geldi.

# export CONCURRENCY_LEVEL=3
# fakeroot make-kpkg --append-to-version "-customkernel" --revision "1" --initrd kernel_image kernel_headers

Aboveokarda görşüňiz ýaly, CONCURRENCY_LEVEL atly üýtgeýjini eksport etdik. Bu üýtgeýjiniň umumy düzgüni, ony kompýuteriňiziň ýadrosynyň sany + 1 hökmünde kesgitlemekdir. Şeýlelik bilen, dört ýadro ulanýan bolsaňyz:

# export CONCURRENCY_LEVEL=5

Bu, düzmek wagtyňyzy ep-esli çaltlaşdyrar. Ilygyndy buýrugynyň galanlary gaty öz-özünden düşündirilýär. Fakeroot bilen, ýadro paketlerimizi ýasaýarys (make-kpkg), ýadrosymyza (\ customkernel) at goýmak üçin bir setir goşup, oňa wersiýa belgisini berýäris (\ 1) we ikisine-de gurmak üçin mak-kpkg diýýäris surat bukjasy we sözbaşy bukjasy. Compygyndy gutaransoň we enjamyňyza we düzýän modullaryňyzyň sanyna baglylykda ep-esli wagt gerek bolup biler, kataloglary Linux çeşme katalogyndan bir arka üýtgedip, iki sany täze * .deb faýly görmeli - bir linux-surat faýly we bir linux-sözbaşy faýly:

Indi bu faýly dpkg buýrugy bilen islendik * .deb faýly gurjak ýaly gurup bilersiňiz.

# dpkg -i linux-image-3.12.0-customkernel_1_i386.deb linux-headers-3.12.0-customkernel_1_i386.deb

Täze ýadro, “Debian” bukjasy bolany üçin, bootloader ýaly ähli zerur zatlary täzelär. Gurlandan soň, GRUB/LiLO menýusyndan täze ýadrosy saýlaň.

Islendik meseläni çözüp bilersiňiz, ýükleme prosesinde islendik ýalňyş habarlaryna üns beriň. Haýsydyr bir sebäbe görä ulgamyňyz açylmasa, hemişe iň soňky işleýän ýadrosyňyza gaýdyp gelip, gaýtadan synanyşyp bilersiňiz. Işlemeýän ýadro hemişe apt buýrugy bilen aýrylyp bilner.

# sudo apt-get remove linux-image-(non-working-kernel)