Ang Kernel 3.16 Gipagawas - Pag-compile ug Pag-install sa Debian GNU/Linux


Ang Kernel mao ang kinauyokan sa bisan unsang operating System. Ang nag-unang gimbuhaton sa kernel mao ang paglihok isip tigpataliwala tali sa Application - CPU, Application - Memory ug Application - Devices (I/O). Naglihok kini isip Memory Manager, Device manager ug nagtambong sa mga tawag sa System gawas sa pagbuhat sa ubang mga buluhaton.

Alang sa Linux, ang Kernel mao ang kasingkasing niini. Ang Linux Kernel gipagawas ubos sa GNU General Public License. Gipalambo ni Linus Torvalds ang Linux Kernel sa tuig 1991 ug nag-uban siya sa Initial Kernel Release Version 0.01. Sa ika-3 sa Agosto, 2014 (karong tuiga) ang Kernel 3.16 gipagawas. Niining 22 ka tuig, ang Linux kernel nakakita og daghang kalamboan. Karon adunay liboan ka mga kompanya, milyon-milyon nga independente nga developer nga nag-amot sa Linux Kernel.

Usa ka kasarangan nga pagbanabana sa dagkong mga tatak ug ang ilang kontribusyon sa karon nga Linux Kernel nga gilauman nga adunay 17 milyon nga linya sa code sama sa Linux Foundation, Linux Kernel Development Report.

  1. RedHat – 10.2%
  2. Intel – 8.8%
  3. Mga Instrumento sa Texas – 4.1%
  4. Linaro – 4.1%
  5. SUSE – 3.5%
  6. IBM – 3.1%
  7. Samsung – 2.6%
  8. Google – 2.4%
  9. Mga Sistema sa Pagkulit sa Panan-awon – 2.3%
  10. Wolfson Microelectronics – 1.6%
  11. Oracle – 1.3%
  12. Broadcom – 1.3%
  13. Nvidia – 1.3%
  14. Freescale – 1.2%
  15. Teknolohiya sa Ingics – 1.2%
  16. Cisco – 0.9%
  17. Linux Foundation – 0.9%
  18. AMD – 0.9%
  19. Academics – 0.9%
  20. NetAPP – 0.8%
  21. Fujitsu – 0.7%
  22. parallel – 0.7%
  23. ARM – 0.7%

Ang kapitoan ka porsyento sa pag-uswag sa kernel gihimo sa mga Developer, nga nagtrabaho sa Corporates ug gibayran alang niana, morag Interesado?

Ang Linux Kernel 3.16 gipagawas alang sa indibidwal ingon man sa mga kompanya sa palibot sa produksiyon, nga mag-update sa ilang kernel tungod sa daghang mga hinungdan, ang pipila niini naglakip.

  1. Mga Patch sa Seguridad
  2. Pagpauswag sa Kalig-on
  3. Gi-update nga mga Driver – Mas Maayo nga Suporta sa device
  4. Pagpauswag sa katulin sa pagproseso
  5. Pinakabag-o nga Function, etc

Kini nga artikulo nagtumong sa pag-update sa kernel sa Debian, ang paagi sa Debian, nga nagpasabut nga dili kaayo manual nga trabaho, dili kaayo peligro nga adunay kahingpitan. I-update usab namo ang Ubuntu Kernel sa ulahing bahin niini nga artikulo.

Sa wala pa kita magpadayon, kinahanglan naton mahibal-an ang bahin sa atong karon nga kernel, nga na-install.

[email :~$ uname -mrns 

Linux tecmint 3.14-1-amd64 x86_64

Mahitungod sa mga kapilian:

  1. -s : Print Operating System (‘Linux’, Dinhi).
  2. -n : Print System Hostname (‘tecmint’, Dinhi).
  3. -r : Print Kernel Version (‘tecmint 3.14-1-amd64’, Dinhi).
  4. -m : Print Hardware Instruction Set (‘x86_64’, Dinhi).

I-download ang pinakabag-o nga stable nga Kernel gikan sa link sa ubos. Ayaw kalibog sa link sa pag-download sa mga patch didto. I-download ang usa nga tin-aw nga nag-ingon - \LABING KATAPUSAN NGA KERNEL.

  1. https://www.kernel.org/

Sa laing paagi mahimo nimong gamiton ang wget sa pag-download sa kernel nga mas sayon.

[email :~/Downloads$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.tar.xz

Pagkahuman sa pag-download ug sa dili pa kita magpadayon, kusganon nga gitambagan nga susihon ang pirma sa kernel.

[email :~/Downloads$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.tar.sign

Ang pag-verify sa pirma kinahanglan buhaton batok sa wala ma-compress nga file. Nagkinahanglan kini og usa ka pirma batok sa lain-laing format sa compression sama sa, .gz, .bz2, .xz.

Sunod, uncompress ang Linux Kernel Image.

[email :~/Downloads$ unxz linux-3.16.tar.xz

Tinoa kini batok sa pirma.

[email :~/Downloads$ gpg --verify linux-3.16.tar.sign

Mubo nga sulat: Kung ang sugo sa ibabaw naglabay sa gpg: Dili masusi ang pirma: ang publiko nga yawe wala makit-an nga sayup. Kana nagpasabut nga kinahanglan namon nga i-download ang Public key nga mano-mano gikan sa PGP Server.

[email :~/Downloads$ gpg --recv-keys  00411886

Human ma-download ang yawe, susiha pag-usab ang yawe.

[email :~/Downloads$ gpg --verify linux-3.16.tar.sign

Namatikdan ba nimo ang duha ka butang bahin sa gpg key verification.

  1. gpg: Maayong pirma gikan sa “Linus Torvalds <[email >”.
  2. Primary key fingerprint: ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 0041 1886 .

Wala’y angay kabalak-an bahin sa yawe nga fingerprint, sigurado kami karon nga OK ra ang archive ug gipirmahan. Magpadayon ta!

Sa dili pa kita magpadayon ug magsugod sa pagtukod sa kernel, kinahanglan natong i-install ang pipila ka mga pakete aron mapagaan ang proseso sa pagtukod sa kernel ug Pag-instalar ug buhaton kini nga walay peligro nga paagi sa Debian.

I-install ang libcurse5-dev, fakeroot ug kernel-package.

[email :~/Downloads$ sudo apt-get install libncurses5-dev
[email :~/Downloads$ sudo apt-get install fakeroot
[email :~/Downloads$ sudo apt-get install kernel-package

Human sa malampuson nga pag-instalar sa mga pakete sa ibabaw, andam na kami sa pagtukod sa kernel. Ibalhin ngadto sa gikuha nga Linux Kernel Image (among gikuha sa ibabaw, samtang nagpamatuod sa pirma).

[email :~/Downloads$ cd linux-3.16/

Karon importante nga kopyahon ang kasamtangan nga configuration sa kernel aron ipakita ang working directory isip root user.

# cp /boot/config-'uname -r' .config

Kini nagkopya sa /boot/config-'uname -r' aron ipresentar ang nagtrabaho nga direktoryo \/home/avi/Downloads/linux-3.16 ” ug i-save kini isip '< b>.config'.

Dinhi ang 'uname -r' awtomatik nga ilisan ug iproseso sa imong kasamtangan nga gi-install nga kernel nga bersyon.

Tungod kay ang usa ka tuldok nga file dili makita sa normal nga paagi, kinahanglan nimong gamiton ang opsyon nga '-a' uban sa ls aron makita kini, sa imong direktoryo karon nga nagtrabaho'.

$ ls -al

Adunay tulo ka paagi sa paghimo og Linux Kernel.

  1. make oldconfig : Kini usa ka interactive nga paagi diin ang kernel mangutana og tagsa-tagsa kung unsa ang kinahanglan nga suportahan ug unsa ang dili. Kini usa ka Proseso nga dugay kaayo.
  2. make menuconfig : Kini usa ka Command-Line Menu base nga sistema diin ang user makahimo ug maka-disable sa usa ka opsyon. Nanginahanglan kini og ncurses library busa Apt namo kana sa ibabaw.
  3. paghimo qconfig/xconfig/gconfig : Kini mao ang Graphical Menu base nga sistema diin ang user makahimo ug disable sa usa ka opsyon. Nagkinahanglan kini og QT Library.

Dayag nga atong gamiton ang 'make menuconfig'.

Nahadlok sa pagtukod sa kernel? Dili unta ikaw. Makalingaw kini, adunay daghang mga butang nga imong mahibal-an. Kinahanglan nimong hinumdoman kining mosunod nga mga butang.

  1. Ang imong mga kinahanglanon sa hardware ug angay nga mga drayber.
  2. Pagpili og mga bag-ong feature samtang ikaw mismo ang nagtukod og kernel sama sa – taas nga memory support.
  3. Optimize kernel – pilia lang kadtong mga drayber nga imong gikinahanglan. Kini makapadali sa imong proseso sa pag-boot. Kung dili ka sigurado sa bisan unsang drayber, mas maayo nga iapil kana.

Karon, padagana ang ‘make menuconfig‘ nga sugo.

# make menuconfig

Importante: Kinahanglan nimo nga pilion ang PILI - PAG-ANAK SA LOADABLE MODULE SUPPORT, kung makalimtan nimo kini, maglisud ka.

Mubo nga sulat: Sa bukas nga pag-configure windows mahimo nimong i-configure ang lainlaing mga kapilian alang sa imong network card, bluetooth, Touchpad, Graphics card, suporta sa Filesystem sama sa NTFS ug daghang uban pang mga kapilian.

Walay tutorial nga mogiya kanimo unsa ang imong pilion ug unsa ang dili. Nahibal-an nimo kini pinaagi lamang sa Pagpanukiduki, pagtuon sa mga butang sa web, pagkat-on gikan sa mga panudlo sa tecmint ug sa tanan nga posible nga paagi.

Mahimo nimong makita nga adunay kapilian nga pag-hack sa kernel. Pag-hack? Oo nga! Dinhi kini nagpasabot sa eksplorasyon. Mahimo nimong idugang ang lainlaing mga kapilian sa ilawom sa pag-hack sa kernel ug magamit ang daghang mga bahin.

Sunod, pilia ang Generic Driver Options.

Suporta sa Device sa Network.

Suporta sa Input Device.

I-load ang configuration file (.config), among gitipigan gikan sa /boot/config-\\uname –r\\.config.

Pag-klik sa OK, pagluwas ug paggawas. Karon limpyohi ang gigikanan nga punoan ug i-reset ang mga parameter sa kernel-package.

# make-kpkg clean

Sa dili pa kita magsugod sa pag-compile sa kernel, kinahanglan natong i-eksport ang CONCURRENCY_LEVEL. CONCURRENCY LEVEL of thumb adunay lagda nga idugang ang Numeric 1 sa mga cores sa kernel. Kung naa kay 2 ka core, i-export ang CONCURRENCY_LEVEL=3. Kung naa kay 4 ka cores, export CONCURRENCY_LEVEL=5.

Aron masusi ang mga cores sa processor mahimo nimong gamiton ang cat command sama sa gipakita sa ubos.

# cat /proc/cpuinfo
Sample Output
processor	: 0 
vendor_id	: GenuineIntel 
cpu family	: 6 
model		: 69 
model name	: Intel(R) Core(TM) i3-4005U CPU @ 1.70GHz 
stepping	: 1 
microcode	: 0x17 
cpu MHz		: 799.996 
cache size	: 3072 KB 
physical id	: 0 
siblings	: 4 
core id		: 0 
cpu cores	: 2 
apicid		: 0 
initial apicid	: 0 
fpu		: yes 
fpu_exception	: yes 
cpuid level	: 13 
wp		: yes

Nakita nimo sa ibabaw nga output, naa koy 2 ka mga cores, mao nga among i-eksport ang 3 ka mga cores sama sa gipakita sa ubos.

# export CONCURRENCY_LEVEL=3

Ang pag-set sa husto nga CONCURRENCY_LEVEL makapadali sa oras sa pag-compile sa kernel.

# fakeroot make-kpkg --append-to-version "-tecmintkernel" --revision "1" --initrd kernel_image kernel_headers

Dinhi ang 'tecminkernel' mao ang kernel build name, kini mahimong bisan unsa gikan sa imong ngalan, imong host name, imong binuhi nga ngalan o bisan unsa pa.

Ang pag-compile sa kernel nagkinahanglag daghang oras depende sa mga module nga gi-compile ug ang gahum sa pagproseso sa makina. Hangtud sa panahon nga kini nag-compile tan-awa ang pipila sa mga FAQ sa kernel compilation.

Kana ang katapusan sa FAQ, tugoti ako nga molihok uban ang proseso sa pagtipon. Pagkahuman sa malampuson nga pag-compile sa kernel, nagmugna kini og duha ka file (Debian package), usa ka direktoryo nga 'ibabaw' sa among kasamtangan nga Direktoryo nga nagtrabaho.

Ang among kasamtangan nga direktoryo sa pagtrabaho mao ang.

/home/avi/Downloads/linux-3.16/

Ang mga pakete sa Debian gihimo sa.

/home/avi/Downloads

Aron mapamatud-an kini, padagana ang mosunod nga mga sugo.

# cd ..
# ls -l linux-*.deb

Sunod, pagdagan ang file sa imahe sa Linux nga gihimo.

# dpkg -i linux-image-3.16.0-tecmintkernel_1_amd64.deb

Pagdalagan ang Linux header file nga gihimo.

# dpkg -i linux-headers-3.16.0-tecmintkernel_1_amd64.deb

Nahuman na ang tanan! Nagmalampuson kami nga nagtukod, nag-compile ug nag-install sa Pinakabag-o nga Linux Kernel 3.16 sa Debian kauban ang tanan nga uban pang mga dependency. Dugang pa, ang pakete sa Debian nakahimo sa pag-update sa bootloader (GRUB/LILO), awtomatiko. Panahon na sa pag-reboot ug pagsulay sa pinakabag-o nga kernel.

Palihug siguroha nga mamatikdan ang bisan unsang mensahe sa sayup nga mahimo nimong makuha sa panahon sa pag-boot. Importante nga masabtan kana nga sayup aron masulbad kini, kung aduna man.

# reboot

Sa diha nga ang Debian magsugod pag-usab, i-klik ang 'Advanced nga kapilian'aron makita ang usa ka lista sa anaa ug na-install nga mga kernel.

Tan-awa ang usa ka lista sa na-install nga mga kernel.

Pilia ang pinakabag-o nga gihugpong nga Kernel (ie 3.16) aron ma-boot.

Susiha ang bersyon sa kernel.

# uname -mrns

Ang pinakabag-o, nga gi-install karon gitakda sa pag-boot, awtomatiko ug dili nimo kinahanglan nga pilion kini matag higayon gikan sa mga advanced nga kapilian sa boot.

Alang sa mga dili gusto nga mag-compile sa ilang kaugalingon nga kernel sa Debian (x86_64) ug gusto nga gamiton ang pre-compiled kernel nga among gitukod sa kini nga panudlo, mahimo nila kini i-download gikan sa link sa ubos. Kini nga kernel mahimong dili molihok alang sa pipila ka mga hardware nga mahimo nimong naa.

  1. linux-image-3.16.0-linux-console.net_kernel_1_amd64.deb
  2. linux-headers-3.16.0-linux-console.net_kernel_1_amd64.deb

Sunod, i-install ang pre-compiled kernel gamit ang mosunod nga command.

# dpkg -i linux-image-3.16.0-linux-console.net_kernel_amd64.deb
# dpkg -i linux-headers-3.16.0-linux-console.net_kernel_amd64.deb

Ang wala magamit nga kernel mahimong makuha gikan sa sistema gamit ang command.

# apt-get remove linux-image-(unused_version_number)

Pasidaan: Kinahanglan nimong tangtangon ang daan nga kernel pagkahuman sa pagsulay sa Pinakabag-o nga kernel. Ayaw pagdali-dali og desisyon. Kinahanglan ka nga magpadayon lamang kung nahibal-an nimo kung unsa ang imong gibuhat.

Kung nakahimo ka og sayup sa pagtangtang sa kernel nga gusto nimo, o pagtangtang sa kernel nga dili nimo kinahanglan, ang imong sistema naa sa yugto nga dili nimo mahimo.

Pagkahuman sa pag-uninstall sa wala magamit nga kernel mahimo ka makakuha usa ka mensahe sama sa.

  1. Ang sumpay /vmlinuz kay nadaot nga sumpay.
  2. Pagtangtang sa simbolikong sumpay vmlinuz.
  3. Mahimong kinahanglan nimong ipadagan pag-usab ang imong boot loader[grub].
  4. Ang sumpay /initrd.img kay nadaot nga sumpay.
  5. Pagtangtang sa simbolikong sumpay initrd.img .
  6. Mahimong kinahanglan nimong ipadagan pag-usab ang imong boot loader[grub].

Normal kini ug dili ka angay mabalaka. I-update lang ang imong GRUB gamit ang mosunod nga sugo.

# /usr/sbin/update-grub

Mahimong kinahanglan nimo nga i-update ang imong /etc/kernel-img.conf nga payl ug i-disable ang ‘do_symlinks‘, aron ma-disable kini nga mga mensahe. Kung makahimo ka pag-reboot ug pag-login pag-usab, wala’y problema.

Kana lang sa pagkakaron. Ania ako pag-usab uban sa laing makapaikag nga artikulo. Hangtud unya magpabilin nga tuned ug konektado sa Tecmint. Ayaw kalimti ang paghatag kanamo sa imong bililhon nga feedback sa seksyon sa komento sa ubos. Isulti usab kanamo ang imong kasinatian kung makasugat ka sa pag-compile ug pag-install sa Kernel.

Basaha Usab:

  1. I-install ang Kernel 3.16 sa Ubuntu
  2. I-compile ug I-install ang Kernel 3.12 sa Debian Linux