Išleistas branduolio 3.12 - įdiekite ir sukompiliuokite „Debian Linux“


Vienas didžiausių „Linux“ naudos aspektų yra paprastas pritaikymas, o vienas įdomiausių dalykų yra pats branduolys, „Linux“ operacinės sistemos pagrindas. Yra tikimybė, kad greičiausiai niekada nereikės kurti savo branduolio. Tas, kuris pristatomas kartu su jūsų platinimu ir atnaujinimais per paketų valdymo sistemą, paprastai yra pakankamai geras, tačiau kartais gali prireikti iš naujo kompiliuoti branduolį.

Kai kurios iš šių priežasčių gali būti specialūs aparatinės įrangos poreikiai, noras sukurti monolitinį branduolį, o ne modulinį, optimizuoti branduolį pašalinant nenaudingus tvarkykles, paleisti kūrimo branduolį arba tiesiog sužinoti daugiau apie „Linux“. Šiuo atveju mes ketiname sudaryti naujai išleistą branduolį 3.12 Debian Wheezy. Naujai išleistoje „Kernel 3.12“ yra keletas naujų funkcijų, įskaitant keletą naujų „NVIDIA Optimus“ tvarkyklių ir „Radeon Kernel Graphics Driver“. Tai taip pat siūlo didžiulius EXT4 failų sistemos patobulinimus ir kai kuriuos XFS ir Btrfs atnaujinimus.

Kaip kompiliuoti ir įdiegti 3.12 branduolį „Debian“

Norėdami pradėti, mums reikės kelių paketų, būtent „fakeroot“ ir „kernel-package“:

# apt-get install fakeroot kernel-package

Dabar leidžia paimti naujausią šaltinį „tarball“ iš www.kernel.org arba galite atsisiųsti naudodami šią komandą „wget“.

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

Išpakuokime archyvą.

# tar -xvJf linux-3.12.tar.xz

Ištraukus, bus sukurtas naujas branduolio šaltinio katalogas.

# cd linux-3.12

Dabar norėsime sukonfigūruoti branduolį. Geriausia pradėti nuo konfigūracijos, kurią šiuo metu naudojate, ir ten dirbti. Norėdami tai padaryti, mes nukopijuosime dabartinę konfigūraciją iš/boot katalogo į dabartinį darbo katalogą ir išsaugosime jį kaip .config.

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

Norėdami pradėti nuo faktinės konfigūracijos, turite vieną iš dviejų parinkčių. Jei turite įdiegtą „X11“, galite paleisti „make xconfig“ ir turėti gražų GUI meniu, kuris padės jums konfigūruojant branduolį. Jei naudojate CLI aplinkoje, galite paleisti make menuconfig. Jums reikės įdiegti paketą libncurses5-dev, kad galėtumėte naudoti „menuconfig“:

# apt-get install libncurses5-dev
# make menuconfig

Kaip pamatysite, kai būsite pasirinktoje konfigūracijoje, jūsų branduolyje yra daugybė skirtingų variantų. Tiesą sakant, šios pamokos apimties yra per daug. Pasirinkus branduolio parinktis, geriausias būdas yra bandymas ir klaida ir daugybė „Google“ paieškų. Tai geriausias būdas mokytis. Jei tiesiog bandote atnaujinti savo branduolį į naujausią versiją, jums nieko nereikia keisti ir galite tiesiog pasirinkti „Išsaugoti konfigūraciją“. Kadangi mes nukopijavome dabartinio branduolio konfigūracijos failą į naujojo branduolio .config failą.

Atminkite, kad skiltyje „Įkeliamo modulio palaikymas“ pasirinkta „Branduolio modulio krautuvas“. Jei taip nėra, o jūs naudojate branduolio modulius, tai gali rimtai sumaišyti.

Kai tai bus tiesu, laikas išvalyti šaltinio medį.

# make-kpkg clean

Galiausiai atėjo laikas sukurti branduolio paketą.

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

Kaip pamatysite aukščiau, mes eksportavome kintamąjį, pavadintą CONCURRENCY_LEVEL. Bendra šio kintamojo taisyklė yra nustatyti ją kaip branduolių skaičių, kurį jūsų kompiuteryje turi + 1. Taigi, jei naudojate keturių branduolių, turėtumėte:

# export CONCURRENCY_LEVEL=5

Tai labai pagreitins jūsų kompiliavimo laiką. Likusi kompiliavimo komanda yra savaime suprantama. Su fakeroot mes darome branduolio paketus (make-kpkg), pridedame eilutę savo branduoliui pavadinti („customkernel“), suteikiame jai versijos numerį („1“) ir liepiame make-kpkg sukurti abu vaizdų paketus ir antraštės paketą. Baigus kompiliavimą ir atsižvelgiant į jūsų mašiną ir kompiliuojamų modulių skaičių, tai gali užtrukti gana ilgai, pakeisti katalogus į vieną atgal iš „Linux“ šaltinio katalogo ir turėtumėte pamatyti du naujus * .deb failus - vienas „Linux-image“ failas ir vienas „Linux-Headers“ failas:

Dabar galite įdiegti šį failą taip, kaip įdiegtumėte bet kurį * .deb failą su komanda dpkg.

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

Naujas branduolys, nes tai „Debian“ paketas, atnaujins viską, ko jums reikia, įskaitant įkrovos programą. Įdiegę, paprasčiausiai perkraukite ir pasirinkite naują branduolį iš savo GRUB/LiLO meniu.

Paleidimo metu būtinai atkreipkite dėmesį į visus klaidų pranešimus, kad galėtumėte išspręsti visas problemas. Jei dėl kokių nors priežasčių jūsų sistema neįkraunama, visada galite grįžti prie paskutinio veikiančio branduolio ir bandyti dar kartą. Nefunkcinį branduolį visada galima pašalinti naudojant apt komandą.

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