Ang Kernel 3.12 Gipagawas - Pag-instalar ug Pag-compile sa Debian Linux


Usa sa pinakadako nga draw sa paggamit sa Linux mao ang dali nga pag-customize ug usa sa labing makalingaw nga mga butang nga ipasadya mao ang Kernel mismo, ang kasingkasing sa Linux Operating System. Ang mga posibilidad mao nga dili ka na kinahanglan nga mag-compile sa imong kaugalingon nga kernel. Ang usa nga gipadala sa imong pag-apod-apod ug mga update pinaagi sa imong sistema sa pagdumala sa pakete kasagaran igo na, apan adunay mga higayon nga kinahanglan nga i-compile ang kernel.

Ang pipila niini nga mga rason mahimo nga espesyal nga mga panginahanglan sa hardware, ang tinguha sa paghimo sa usa ka monolithic kernel imbes sa usa ka modularized, pag-optimize sa kernel pinaagi sa pagtangtang sa walay pulos nga mga drayber, pagpadagan sa usa ka development kernel, o sa yano nga pagkat-on og dugang mahitungod sa Linux. Sa kini nga kaso, mag-compile kami usa ka bag-ong gipagawas nga Kernel 3.12, sa Debian Wheezy. Ang bag-ong gipagawas nga Kernel 3.12 adunay daghang mga bag-ong bahin, lakip ang pipila ka bag-ong mga drayber alang sa NVIDIA Optimus, ug ang Radeon Kernel Graphics Driver. Nagtanyag usab kini daghang mga pag-uswag sa EXT4 filesystem, ug pipila ka mga update sa XFS ug Btrfs.

Giunsa ang Pag-compile ug Pag-install sa Kernel 3.12 sa Debian

Aron makasugod, kinahanglan namon ang pipila ka mga pakete, nga mao ang fakeroot ug kernel-package:

# apt-get install fakeroot kernel-package

Karon, kuhaa ang pinakabag-o nga gigikanan nga tarball gikan sa www.kernel.org o mahimo nimong gamiton ang pagsunod sa wget nga mando aron ma-download kini.

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

Karon, atong ablihan ang archive.

# tar -xvJf linux-3.12.tar.xz

Pagkahuman, ang pagkuha, usa ka bag-ong direktoryo sa gigikanan sa kernel himuon.

# cd linux-3.12

Karon, gusto namong i-configure ang kernel. Labing maayo nga magsugod sa usa ka configuration nga imong gigamit karon ug magtrabaho gikan didto. Aron mahimo kini, among kopyahon ang kasamtangan nga configuration gikan sa /boot directory ngadto sa kasamtangan nga working directory ug i-save kini isip .config.

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

Sa pagsugod sa aktuwal nga pagsumpo, aduna kay usa sa duha ka kapilian. Kung na-install nimo ang X11, mahimo nimong ipadagan ang make xconfig, ug adunay nindot nga menu sa GUI aron matabangan ka samtang imong gi-configure ang imong Kernel. Kung nagdagan ka sa usa ka palibot sa CLI, mahimo nimong ipadagan ang make menuconfig. Kinahanglan nimo ang libncurses5-dev package nga gi-install aron magamit ang menuconfig:

# apt-get install libncurses5-dev
# make menuconfig

Sama sa imong makita, sa higayon nga anaa ka sa configuration nga imong gipili, nga adunay usa ka tonelada nga lain-laing mga kapilian nga magamit alang sa imong Kernel. Sa tinuud, adunay daghan kaayo alang sa sakup sa kini nga panudlo. Kung nagpili mga kapilian sa Kernel, ang labing kaayo nga paagi mao ang pagsulay ug sayup, ug paghimo daghang mga Googling. Kini ang pinakamaayong paagi sa pagkat-on. Kung gisulayan lang nimo nga i-update ang imong Kernel sa pinakabag-o nga bersyon, dili nimo kinahanglan usbon ang bisan unsang butang ug mahimo ra nga pilion ang \Save Configuration.

Hinumdomi nga ang \Kernel module loader gipili sa \Loadable module support. Kung dili, ug naggamit ka mga module sa kernel, mahimo’g grabe nga makagubot ang mga butang.

Kung matul-id na kana, panahon na nga limpyohan ang gigikanan nga punoan.

# make-kpkg clean

Sa katapusan, panahon na sa pagtukod sa kernel package.

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

Sama sa imong makita sa ibabaw, kami nag-eksport sa usa ka variable nga gitawag CONCURRENCY_LEVEL. Usa ka kinatibuk-ang lagda sa kini nga variable mao ang pagtakda niini ingon ang gidaghanon sa mga core nga adunay + 1 sa imong computer. Busa, kung naggamit ka usa ka quad core, mahimo nimo:

# export CONCURRENCY_LEVEL=5

Kini makapadali sa imong oras sa pag-compile. Ang nahabilin sa kompilasyon nga komand kay medyo nagpatin-aw sa kaugalingon. Uban sa fakeroot, naghimo kami og kernel packages (make-kpkg), nagdugang og string aron hinganlan ang among kernel (\customkernel), naghatag niini og revision number (\1) ug among gisultihan ang make-kpkg nga magtukod og duha image package ug usa ka header package. Kung nahuman na ang pag-compile, ug depende sa imong makina, ug gidaghanon sa mga module nga imong gi-compile, mahimo’g magdugay, usba ang mga direktoryo sa usa ka balik gikan sa direktoryo sa gigikanan sa Linux, ug kinahanglan nimo nga makita ang duha ka bag-ong *.deb file - usa ka linux-image file ug usa ka linux-headers file:

Mahimo nimong i-install kini nga file sama sa imong pag-install sa bisan unsang *.deb file nga adunay dpkg nga mando.

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

Ang bag-ong kernel, tungod kay kini usa ka pakete sa Debian, mag-update sa tanan nga imong kinahanglan, lakip ang bootloader. Sa higayon nga ma-install, reboot lang, ug pilia ang bag-ong kernel gikan sa imong GRUB/LiLO menu.

Siguruha nga hatagan og maayo nga pagtagad ang bisan unsang mga mensahe sa sayup sa panahon sa proseso sa boot aron masulbad nimo ang bisan unsang mga isyu. Kung, sa bisan unsang hinungdan, ang imong sistema dili mag-boot, mahimo ka kanunay nga mobalik sa imong katapusang nagtrabaho nga Kernel ug sulayan pag-usab. Ang non-functional nga Kernel kanunay nga matangtang gamit ang apt command.

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