Objavljeno kernel 3.16 - kompajlirajte i instalirajte na Debian GNU/Linux


Kernel je jezgro svakog operativnog sistema. Primarna funkcija kernela je da djeluje kao posrednik između aplikacije – CPU, aplikacije – memorije i aplikacije – uređaja (I/O). Funkcioniše kao Memory Manager, Device manager i prati sistemske pozive pored obavljanja drugih zadataka.

Za Linux, Kernel je njegovo srce. Linux kernel je objavljen pod GNU Općom javnom licencom. Linus Torvalds je razvio Linux Kernel 1991. godine i došao je sa Initial Kernel Release Version 0.01. 3. avgusta 2014. (ove godine) objavljen je Kernel 3.16. U ove 22 godine, Linux kernel je doživio dosta razvoja. Sada postoje hiljade kompanija, milioni nezavisnih programera koji doprinose Linux kernelu.

Gruba procjena velikih brendova i njihovog doprinosa sadašnjem Linux kernelu za koji se očekuje da će imati 17 miliona linija koda prema Linux fondaciji, Izvještaju o razvoju jezgra Linuxa.

  1. RedHat – 10,2%
  2. Intel – 8,8%
  3. Texas Instruments – 4,1%
  4. Linaro – 4,1%
  5. SUSE – 3,5%
  6. IBM – 3,1%
  7. Samsung – 2,6%
  8. Google – 2,4%
  9. Sistemi za graviranje vizije – 2,3%
  10. Wolfson Microelectronics – 1,6%
  11. Oracle – 1,3%
  12. Broadcom – 1,3%
  13. Nvidia – 1,3%
  14. Freescale – 1,2%
  15. Ingics Technology – 1,2%
  16. Cisco – 0,9%
  17. Linux fondacija – 0,9%
  18. AMD – 0,9%
  19. Akademici – 0,9%
  20. NetAPP – 0,8%
  21. Fujitsu – 0,7%
  22. paralele – 0,7%
  23. ARM – 0,7%

Sedamdeset posto razvoja kernela rade programeri, koji rade u korporacijama i za to su plaćeni, zvuči zanimljivo?

Linux Kernel 3.16 je objavljen za pojedince, kao i kompanije u proizvodnom okruženju, koje će ažurirati svoje jezgro iz više razloga, od kojih neki uključuju.

  1. Sigurnosne zakrpe
  2. Poboljšanje stabilnosti
  3. Ažurirani upravljački programi – bolja podrška za uređaje
  4. Poboljšanje brzine obrade
  5. Najnovije funkcije itd

Ovaj članak ima za cilj ažuriranje Debian kernela, na Debian način, što znači manje ručnog rada, manje rizika, ali uz savršenstvo. Također ćemo ažurirati Ubuntu kernel u kasnijem dijelu ovog članka.

Korak 1: Preuzimanje kernela 3.16

Prije nego što nastavimo, moramo znati o našem trenutnom kernelu, koji je instaliran.

avi@tecmint:~$ uname -mrns 

Linux tecmint 3.14-1-amd64 x86_64

O opcijama:

  1. -s : Štampajte operativni sistem ('Linux', ovdje).
  2. -n : Ispiši ime hosta sistema (‘tecmint’, ovdje).
  3. -r : Print verzija kernela (‘tecmint 3.14-1-amd64’, ovdje).
  4. -m : Ispis hardverskih instrukcija (‘x86_64’, ovdje).

Preuzmite najnoviji stabilni kernel sa linka ispod. Nemojte da vas zbuni link za preuzimanje zakrpa. Preuzmite onaj koji jasno kaže – “NAJNOVIJE STABILNO KERNEL”.

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

Alternativno, možete koristiti wget za preuzimanje kernela što je praktičnije.

avi@tecmint:~/Downloads$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.tar.xz

Korak 2: Provjera potpisa kernela 3.16

Nakon što je preuzimanje završeno i prije nego što krenemo dalje, preporučujemo da provjerite potpis kernela.

avi@tecmint:~/Downloads$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.tar.sign

Provjeru potpisa potrebno je izvršiti na nekomprimovanom fajlu. Ovo zahtijeva jedan potpis protiv različitih formata kompresije, tj. .gz, .bz2, .xz.

Zatim dekomprimirajte sliku jezgre Linuxa.

avi@tecmint:~/Downloads$ unxz linux-3.16.tar.xz

Ovjerite to uz potpis.

avi@tecmint:~/Downloads$ gpg --verify linux-3.16.tar.sign

Napomena: Ako gornja komanda izbaci gpg: Ne mogu provjeriti potpis: greška javnog ključa nije pronađena. To znači da moramo ručno preuzeti javni ključ sa PGP servera.

avi@tecmint:~/Downloads$ gpg --recv-keys  00411886

Nakon preuzimanja ključa, ponovo provjerite ključ.

avi@tecmint:~/Downloads$ gpg --verify linux-3.16.tar.sign

Jeste li primijetili dvije stvari u vezi verifikacije gpg ključa.

  1. gpg: Dobar potpis od “Linus Torvalds <[email >”.
  2. Otisak primarnog ključa: ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 0041 1886 .

Nema razloga za brigu oko otiska ključa, sada smo sigurni da je arhiva u redu i potpisana. Idemo naprijed!

Korak 3: Instaliranje potrebnih paketa

Prije nego krenemo naprijed i počnemo graditi kernel, moramo instalirati određene pakete kako bismo olakšali proces izgradnje i instalacije kernela i to na Debian način bez rizika.

Instalirajte libcurse5-dev, fakeroot i kernel-package.

avi@tecmint:~/Downloads$ sudo apt-get install libncurses5-dev
avi@tecmint:~/Downloads$ sudo apt-get install fakeroot
avi@tecmint:~/Downloads$ sudo apt-get install kernel-package

Korak 4: Izgradnja kernela 3.16

Nakon uspješne instalacije gore navedenih paketa, spremni smo za izgradnju kernela. Prijeđite na ekstrahovanu sliku jezgre Linuxa (izvukli smo gore, dok provjeravamo potpis).

avi@tecmint:~/Downloads$ cd linux-3.16/

Sada je važno kopirati trenutnu konfiguraciju kernela da predstavi radni direktorij kao root korisnika.

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

Kopira /boot/config-'uname -r' da predstavi radni direktorij “/home/avi/Downloads/linux-3.16 ” i pohranjuje ga kao '.config'.

Ovdje će ‘uname -r’ automatski biti zamijenjen i obrađen s vašom trenutno instaliranom verzijom kernela.

Budući da se dot fajl ne može vidjeti na normalan način, trebate koristiti opciju '-a' sa ls da vidite ovo, u vašem trenutnom radnom direktoriju'.

ls -al

Postoje tri načina za izradu Linux kernela.

  1. napravi oldconfig : To je interaktivan način na koji kernel postavlja jedno po jedno pitanje šta treba da podržava, a šta ne. To je veoma dugotrajan proces.
  2. napravi menuconfig : To je sistem baziran na izborniku komandne linije gdje korisnik može omogućiti i onemogućiti opciju. Zahtijeva ncurses biblioteku, stoga smo to prilagodili gore.
  3. make qconfig/xconfig/gconfig : To je sistem baziran na grafičkom meniju gdje korisnik može omogućiti i onemogućiti opciju. Potrebna je QT biblioteka.

Očigledno ćemo koristiti 'make menuconfig'.

Plašite se izgradnje kernela? Ne bi trebao biti. Zabavno je, ima puno stvari koje ćete naučiti. Trebali biste imati na umu sljedeće stvari.

  1. Vaše hardverske potrebe i odgovarajući drajveri.
  2. Birajte nove funkcije dok sami gradite kernel – podrška za visoku memoriju.
  3. Optimiziraj kernel – odaberite samo one drajvere koji su vam potrebni. To će ubrzati vaš proces pokretanja. Ako niste sigurni ni za jednog vozača, bolje ga uključite.

Sada pokrenite naredbu ‘make menuconfig’.

make menuconfig

Važno: Morate odabrati “ODABIR – OMOGUĆI PODRŠKU ZA MODULE KOJI SE MODULA UČITAJ“, ako zaboravite to učiniti, naići ćete na teška vremena .

Napomena: U otvorenim prozorima za konfiguraciju možete konfigurirati različite opcije za vašu mrežnu karticu, bluetooth, touchpad, grafičku karticu, podršku za sistem datoteka kao što je NTFS i mnoge druge opcije.

Ne postoji vodič koji bi vas vodio šta biste trebali odabrati, a šta ne. To možete saznati samo istraživanjem, proučavanjem stvari preko weba, učenjem iz tutorijala za tecmint i na svaki drugi mogući način.

Možda ćete vidjeti da postoji opcija hakiranja kernela. Hakovanje? Da! Ovdje to znači istraživanje. Možete dodati razne opcije pod hakiranje kernela i koristiti mnogo funkcija.

Zatim odaberite Generičke opcije drajvera.

Podrška mrežnim uređajima.

Podrška za ulazne uređaje.

Učitajte konfiguracionu datoteku (.config), koju smo sačuvali iz /boot/config-`uname –r`.config.

Kliknite na OK, sačuvajte i izađite. Sada očistite izvorno stablo i resetirajte parametre kernel-paketa.

make-kpkg clean

Korak 5: Prevođenje kernela 3.16

Prije nego počnemo kompajlirati kernel, moramo izvesti CONCURRENCY_LEVEL. NIVO CONCURENCY LEVEL ima pravilo za dodavanje Numeričkog 1 jezgri kernela. Ako imate 2 jezgra, izvezite CONCURRENCY_LEVEL=3. Ako imate 4 jezgra, izvezite CONCURRENCY_LEVEL=5.

Za provjeru jezgri procesora možete koristiti cat komandu kao što je prikazano ispod.

cat /proc/cpuinfo
Sample Output
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

Vidite iznad izlaza, imam 2 jezgra, tako da ćemo izvoziti 3 jezgre kao što je prikazano ispod.

export CONCURRENCY_LEVEL=3

Postavljanje ispravnog CONCURRENCY_LEVEL će ubrzati vrijeme kompilacije kernela.

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

Ovdje 'tecminkernel' je naziv izrade kernela, može biti bilo šta u rasponu od vašeg imena, imena vašeg domaćina, imena vašeg ljubimca ili bilo čega drugog.

Kompilacija kernela traje dosta vremena u zavisnosti od modula koji se kompajliraju i procesorske snage mašine. Dok se ne kompajlira, pogledajte neka od čestih pitanja o kompilaciji kernela.

Često Postavljena Pitanja

Q1. Moj kernel se kompajlira dugo vremena. Da li je normalno.
Q2. Ako prekinem kernel dok je kompajlirao, da li treba da počnem iznova?
Q3. Prevedene datoteke se mogu koristiti na različitim sistemima za ažuriranje kernela?
Q4. Hoćete li hostirati svoj kompajlirani fajl?
Q5. Da li imam pakete kao što su fakeroot i ncurses5-dev u svom spremištu?
Q6. Da li ću moći da pokrenem poslednji kernel, nakon što instaliram najnoviji kernel.
Q7. Suočavam se sa problemom ažuriranja kernela. Hoćeš li mi pomoći? Da li se naplaćuje?
Q8. Moja kompanija se suočava sa problemom u ažuriranju Kernela. Hoće li nam vaš tim pomoći? Da li se naplaćuje?

To je kraj FAQ, dozvolite mi da pređem na proces kompilacije. Nakon uspješne kompilacije kernela, kreira dvije datoteke (Debian paket), jedan direktorij 'iznad' našeg sadašnjeg radnog Direktorija.

Naš trenutni radni imenik je.

/home/avi/Downloads/linux-3.16/

Debian paketi su kreirani na.

/home/avi/Downloads

Da biste to potvrdili, pokrenite sljedeće naredbe.

cd ..
ls -l linux-*.deb

Zatim pokrenite tako kreiranu datoteku slike za Linux.

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

Pokrenite tako kreiranu datoteku zaglavlja Linuxa.

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

Sve završeno! Uspješno smo izgradili, kompajlirali i instalirali Najnoviji Linux Kernel 3.16 na Debianu sa svim ostalim ovisnostima. Štaviše, Debian paket je uspio automatski ažurirati bootloader (GRUB/LILO). Vrijeme je za ponovno pokretanje i testiranje najnovijeg kernela.

Obavezno primijetite bilo kakvu poruku o grešci koju biste mogli dobiti tokom dizanja. Važno je razumjeti tu grešku da biste ih riješili, ako ih ima.

reboot

Čim se Debian ponovo pokrene, kliknite na ‘Napredna opcija’ da vidite popis dostupnih i instaliranih kernela.

Pogledajte listu instaliranih kernela.

Odaberite najnoviji kompajlirani kernel (tj. 3.16) za pokretanje.

Provjerite verziju kernela.

uname -mrns

Najnovija, sada instalirana, postavljena je da se pokreće automatski i ne morate je birati svaki put iz naprednih opcija pokretanja.

Korak 6: Instalirajte unaprijed kompajlirano jezgro 3.16

Za one koji ne žele sami kompajlirati kernel na Debianu (x86_64) i žele koristiti unaprijed kompajlirani kernel koji smo izgradili u ovom vodiču, mogu ga preuzeti sa donje veze. Ovaj kernel možda neće raditi za neki od hardvera koji možda imate.

  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

Zatim instalirajte unaprijed kompajlirano jezgro koristeći sljedeću naredbu.

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

Neiskorišteni kernel se može ukloniti iz sistema pomoću naredbe.

apt-get remove linux-image-(unused_version_number)

Oprez: Trebali biste ukloniti stari kernel nakon što ste temeljito testirali najnoviji kernel. Ne donosite odluku u žurbi. Trebalo bi da nastavite samo ako znate šta radite.

Ako ste učinili nešto pogrešno u uklanjanju kernela koji želite, ili uklonili kernel koji niste trebali, vaš sistem će biti u fazi na kojoj ne možete raditi.

Nakon deinstaliranja nekorištenog kernela možete dobiti poruku poput.

  1. Link /vmlinuz je oštećena veza.
  2. Uklanjanje simboličke veze vmlinuz.
  3. Možda ćete morati ponovo pokrenuti svoj pokretački program[grub].
  4. Link /initrd.img je oštećena veza.
  5. Uklanjanje simboličke veze initrd.img .
  6. Možda ćete morati ponovo pokrenuti svoj pokretački program[grub].

Ovo je normalno i ne morate da brinete. Samo ažurirajte svoj GRUB koristeći sljedeću naredbu.

/usr/sbin/update-grub

Možda ćete morati ažurirati datoteku /etc/kernel-img.conf i onemogućiti 'do_symlinks', da onemogućite ove poruke. Ako ste u mogućnosti da se ponovo pokrenete i ponovo prijavite, nema problema.

To je sve za sada. Opet ću biti ovdje sa još jednim zanimljivim člankom. Do tada ostanite sa nama i povezani na Tecmint. Ne zaboravite nam dati svoje vrijedne povratne informacije u odjeljku za komentare ispod. Također nam recite svoje iskustvo kada naiđete na kompilaciju i instalaciju kernela.

Pročitajte također :

  1. Instalirajte Kernel 3.16 u Ubuntu
  2. Prevedite i instalirajte Kernel 3.12 u Debian Linuxu