Atbrīvots kodols 3.12 - instalējiet un kompilējiet Debian Linux


Viens no lielākajiem Linux izmantošanas virzieniem ir tā vienkāršā pielāgošana, un viena no jautrākajām lietām, ko pielāgot, ir pats kodols, Linux operētājsistēmas sirds. Iespējams, ka jums, visticamāk, nekad nebūs jāapkopo savs kodols. Tas, kas tiek piegādāts kopā ar jūsu izplatīšanu un atjaunināšanu, izmantojot pakotņu pārvaldības sistēmu, parasti ir pietiekami labs, taču dažreiz var būt nepieciešams kodolu pārkompilēt.

Daži no šiem iemesliem varētu būt īpašas aparatūras vajadzības, vēlme izveidot monolītu kodolu, nevis modulētu, optimizēt kodolu, noņemot bezjēdzīgus draiverus, palaist attīstības kodolu vai vienkārši uzzināt vairāk par Linux. Šajā gadījumā mēs izveidosim tikko izlaistu kodolu 3.12 Debian Wheezy. Nesen izlaistajam kodolam 3.12 ir vairākas jaunas funkcijas, tostarp daži jauni NVIDIA Optimus draiveri un Radeon kodola grafikas draiveris. Tas piedāvā arī milzīgus EXT4 failu sistēmas uzlabojumus un dažus atjauninājumus XFS un Btrfs.

Kā kompilēt un instalēt kodolu 3.12 Debian

Lai sāktu, mums būs nepieciešami daži pakotnes, proti, fakeroot un kernel-package:

# apt-get install fakeroot kernel-package

Tagad ļauj paņemt jaunāko avota tarball no www.kernel.org, vai arī varat izmantot šo komandu wget, lai to lejupielādētu.

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

Tagad izpakosim arhīvu.

# tar -xvJf linux-3.12.tar.xz

Pēc izvilkšanas tiks izveidots jauns kodola avota direktorijs.

# cd linux-3.12

Tagad mēs vēlamies konfigurēt kodolu. Vislabāk ir sākt ar konfigurāciju, kuru pašlaik izmantojat, un strādāt no turienes. Lai to izdarītu, mēs kopēsim pašreizējo konfigurāciju no/boot direktorija pašreizējā darba direktorijā un saglabāsim to kā .config.

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

Lai sāktu ar faktisko konfigurāciju, jums ir viena no divām iespējām. Ja jums ir instalēta X11, varat palaist make xconfig un jums ir jauka GUI izvēlne, kas palīdzēs jums, konfigurējot kodolu. Ja jūs darbojaties CLI vidē, varat palaist make menuconfig. Lai izmantotu menuconfig, jums būs jāinstalē pakete libncurses5-dev:

# apt-get install libncurses5-dev
# make menuconfig

Kā redzēsit, kad esat izvēlētajā konfigurācijā, jūsu kodolam ir pieejamas daudzas dažādas iespējas. Patiesībā šīs apmācības darbības jomai ir pārāk daudz. Atlasot kodola opcijas, labākais veids ir izmēģināt un kļūdīties, kā arī veikt daudz Google meklēšanu. Tas ir labākais veids, kā mācīties. Ja jūs vienkārši mēģināt atjaunināt kodolu uz jaunāko versiju, jums nekas nav jāmaina un varat vienkārši atlasīt “Saglabāt konfigurāciju”. Tā kā mēs kopējām pašreizējā kodola konfigurācijas failu jaunā kodola .config failā.

Ņemiet vērā, ka sadaļā “Ielādējamā moduļa atbalsts” ir atlasīts “Kodola moduļa ielādētājs”. Ja tā nav, un jūs izmantojat kodola moduļus, tas var nopietni sajaukt.

Kad tas ir taisni, ir pienācis laiks iztīrīt avota koku.

# make-kpkg clean

Visbeidzot, ir pienācis laiks izveidot kodola pakotni.

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

Kā redzēsit iepriekš, mēs esam eksportējuši mainīgo ar nosaukumu CONCURRENCY_LEVEL. Vispārējs īkšķis ar šo mainīgo ir noteikt to kā kodolu skaitu, kas jūsu datorā ir + 1. Tātad, ja izmantojat četrkodolu, jūs:

# export CONCURRENCY_LEVEL=5

Tas ievērojami paātrinās kompilēšanas laiku. Pārējā kompilācijas komanda ir diezgan pašsaprotama. Ar fakeroot mēs veidojam kodola pakotnes (make-kpkg), pievienojot virkni, lai nosauktu mūsu kodolu (“customkernel”), piešķirot tai labojuma numuru (“1”) un mēs sakām make-kpkg, lai izveidotu abas attēlu paketes un galvenes pakotni. Kad kompilācija ir pabeigta un atkarībā no datora un kompilējamo moduļu skaita, tas var aizņemt diezgan ilgu laiku, mainīt direktorijus uz vienu atpakaļ no Linux avota direktorija, un jums vajadzētu redzēt divus jaunus * .deb failus - viens Linux attēla fails un viens Linux galvenes fails:

Tagad jūs varat instalēt šo failu tāpat kā jebkuru * .deb failu ar komandu dpkg.

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

Jaunais kodols, tā kā tā ir Debian pakete, atjauninās visu nepieciešamo, ieskaitot sāknēšanas ielādētāju. Pēc instalēšanas jūs vienkārši restartējat un izvēlnē GRUB/LiLO atlasiet jauno kodolu.

Sāknēšanas procesā noteikti pievērsiet īpašu uzmanību visiem kļūdu ziņojumiem, lai varētu novērst visas problēmas. Ja kāda iemesla dēļ jūsu sistēma netiek palaista, jūs vienmēr varat atgriezties pie pēdējā strādājošā kodola un mēģināt vēlreiz. Nefunkcionālo kodolu vienmēr var noņemt ar komandu apt.

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