Kernel 3.12 välja antud - installige ja kompileerige Debian Linuxis


Üks suurimaid tõmbeid Linuxi kasutamisel on selle lihtne kohandamine ja üks lõbusamaid asju, mida kohandada, on kernel ise, Linuxi operatsioonisüsteemi süda. Võimalik, et suure tõenäosusega ei pea te kunagi oma kernelit kompileerima. See, mis tarnitakse teie levitamise ja värskendustega teie paketihaldussüsteemi kaudu, on tavaliselt piisavalt hea, kuid on olukordi, kus võib olla vajalik tuuma uuesti kompileerida.

Mõned neist põhjustest võivad olla riistvara erivajadused, soov luua moduleeritud tuuma asemel monoliitne tuum, optimeerida tuuma, eemaldades kasutud draiverid, käivitades arenduse tuum või lihtsalt Linuxi kohta lisateavet saada. Sel juhul koostame Debian Wheezy äsja välja antud Kerneli 3.12. Äsja välja antud Kernel 3.12-l on mitmeid uusi funktsioone, sealhulgas mõned uued draiverid NVIDIA Optimusele ja Radeon Kerneli graafika draiverile. Samuti pakub see tohutuid täiustusi EXT4 failisüsteemis ning mõned värskendused XFS ja Btrfs.

Kuidas kompenseerida ja installida kernel 3.12 Debianis

Alustamiseks vajame mõnda paketti, nimelt fakeroot ja kernel-package:

# apt-get install fakeroot kernel-package

Nüüd laseb haarata uusima allika tarballi veebisaidilt www.kernel.org või võite selle allalaadimiseks kasutada järgmist käsku wget.

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

Pakime arhiivi nüüd lahti.

# tar -xvJf linux-3.12.tar.xz

Pärast ekstraktimist luuakse uus kerneli lähtekataloog.

# cd linux-3.12

Nüüd tahame tuuma seadistada. Parim on alustada konfiguratsiooniga, mida te praegu kasutate ja töötate sealt. Selleks kopeerime praeguse konfiguratsiooni kataloogist/boot praegusesse töökataloogi ja salvestame selle nimega .config.

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

Tegeliku konfiguratsiooniga alustamiseks on teil üks kahest võimalusest. Kui teil on installitud X11, saate käitada make xconfig ja teil on kena GUI-menüü, mis aitab teid kerneli seadistamisel. Kui töötate CLI-keskkonnas, saate käivitada make menuconfig. Menuconfigi kasutamiseks peate installima paketi libncurses5-dev:

# apt-get install libncurses5-dev
# make menuconfig

Nagu näete, on teie valitud konfiguratsioonis olles teie kerneli jaoks saadaval palju erinevaid võimalusi. Tegelikult on selle õpetuse ulatuse jaoks liiga palju. Kerneli suvandite valimisel on parim viis katse-eksituse meetodil ja palju guugeldamist. See on parim viis õppida. Kui proovite lihtsalt värskendada oma kernelit uusimale versioonile, ei pea te midagi muutma ja saate lihtsalt valida "Salvesta konfiguratsioon". Kuna kopeerisime praeguse tuuma konfiguratsioonifaili uue tuuma faili .config.

Pidage meeles, et jaotises „Laaditava mooduli tugi” on valitud „Kerneli moodulilaadur”. Kui see pole nii ja kasutate kernelmooduleid, võib see tõsiselt segi ajada.

Kui see on sirge, on aeg lähtepuu puhastada.

# make-kpkg clean

Lõpuks on aeg ehitada kernelipakett.

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

Nagu ülal näete, oleme eksportinud muutuja nimega CONCURRENCY_LEVEL. Selle muutujaga üldine rusikareegel on seada see arvuti tuumade arvuks + 1. Seega, kui kasutate neljatuumalist, siis:

# export CONCURRENCY_LEVEL=5

See kiirendab teie kompileerimisaega oluliselt. Ülejäänud kompileerimiskäsk on üsna iseenesestmõistetav. Fakerootiga valmistame kernelipakette (make-kpkg), lisame stringi oma tuuma nimetamiseks (“customkernel”), andes sellele redaktsiooni numbri (“1”) ja käskime make-kpkg-l ehitada mõlemad pildipaketid ja päisepakett. Kui kompileerimine on lõpetatud ja olenevalt teie masinast ning kompileeritavate moodulite arvust, võib see võtta palju aega, muuta Linuxi lähtekataloogist kataloogid üheks tagasi ja peaksite nägema kahte uut * .deb-faili - üks linux-image fail ja üks Linux-headers fail:

Nüüd saate need failid installida nii, nagu installiksite kõik * .deb-failid käsuga dpkg.

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

Uus kernel, kuna see on Debiani pakett, värskendab kõike, mida vajate, sealhulgas alglaadurit. Pärast installimist taaskäivitage lihtsalt ja valige oma GRUB/LiLO menüüst uus kernel.

Pöörake alglaadimise ajal kindlasti tähelepanelikult veateateid, et saaksite probleeme tõrkeotsinguks. Kui teie süsteem mingil põhjusel ei käivitu, võite alati naasta oma viimase töötava tuuma juurde ja proovida uuesti. Mittefunktsionaalse tuuma saab alati eemaldada käsu apt abil.

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