Kernel 3.16 frigivet - kompilér og installer på Debian GNU/Linux


Kerne er kernen i ethvert operativsystem. Kernens primære funktion er at fungere som mediator imellem Application - CPU, Application - Memory og Application - Devices (I/O). Det fungerer som Memory Manager, Device manager og deltager i systemopkald udover at udføre andre opgaver.

For Linux er Kernel hjertet. Linux-kernen frigives under GNU General Public License. Linus Torvalds udviklede Linux Kernel i året 1991, og han kom med Initial Kernel Release Version 0.01. Den 3. august 2014 (i år) blev Kernel 3.16 frigivet. I disse 22 år har Linux-kernen oplevet en masse udvikling. Nu er der tusindvis af virksomheder, millioner af uafhængige udviklere, der bidrager til Linux Kernel.

Et groft skøn over store mærker og deres bidrag til den nuværende Linux-kerne, som forventes at have 17 millioner linjer med kode i henhold til Linux Foundation, Linux Kernel Development Report.

  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. Visionsgraveringssystemer - 2,3%
  10. Wolfson mikroelektronik - 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 Foundation - 0,9%
  18. AMD - 0,9%
  19. Akademikere - 0,9%
  20. NetAPP - 0,8%
  21. Fujitsu - 0,7%
  22. paralleller - 0,7%
  23. ARM - 0,7%

Halvfjerds procent af kerneudviklingen sker af udviklere, der arbejder i virksomheder og betales for det, lyder interessant?

Linux Kernel 3.16 frigives til såvel individuelle som virksomheder i produktionsmiljø, der vil opdatere deres kerne af en række årsager, hvoraf nogle inkluderer.

  1. Sikkerhedsopdateringer
  2. Stabilitetsforbedring
  3. Opdaterede drivere - Bedre enhedsunderstøttelse
  4. Forbedring af behandlingshastighed
  5. Seneste funktioner osv.

Denne artikel sigter mod at opdatere Debian-kerne, Debian-måde, hvilket betyder mindre manuelt arbejde, mindre risiko endnu med perfektion. Vi opdaterer også Ubuntu Kernel i den senere del af denne artikel.

Før vi fortsætter, skal vi vide om vores nuværende kerne, der er installeret.

[email :~$ uname -mrns 

Linux tecmint 3.14-1-amd64 x86_64

Om muligheder:

  1. -s : Printoperativsystem (‘Linux’, her).
  2. -n : Udskriv systemværtsnavn ('tecmint', her).
  3. -r : Printkerneversion (‘tecmint 3.14-1-amd64’, her).
  4. -m : Udskriv hardwareinstruktions sæt ('x86_64', her).

Download den nyeste stabile kerne fra nedenstående link. Bliv ikke forvirret af linket til download af patches der. Download den, der tydeligt siger - “LATEST STABLE KERNEL”.

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

Alternativt kan du bruge wget til at downloade kernen, som er mere praktisk.

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

Når download er afsluttet, og inden vi går videre, tilrådes det kraftigt at kontrollere kernesignatur.

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

Bekræftelsen af signaturen skal udføres mod ukomprimeret fil. Dette er for at kræve en signatur mod forskellige komprimeringsformater, nemlig .gz, .bz2, .xz.

Derefter skal du komprimere Linux Kernel Image.

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

Bekræft det mod underskrift.

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

Bemærk: Hvis ovenstående kommando kaster gpg: Kan ikke kontrollere signatur: offentlig nøgle ikke fundet fejl. Det betyder, at vi skal downloade offentlig nøgle manuelt fra PGP Server.

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

Efter download af nøglen skal du bekræfte nøglen igen.

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

Har du bemærket to ting ved verifikation af gpg-nøgler.

  1. gpg : God signatur fra "Linus Torvalds <[email >".
  2. Primært nøglefingeraftryk : ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 0041 1886.

Intet at bekymre sig om nøglefingeraftryk, vi er sikre på, at arkivet er OK og signeret. Lad os gå videre!

Før vi går videre og begynder at opbygge kernen, er vi nødt til at installere bestemte pakker for at lette kernelopbygningen og installationsprocessen og gøre det risikofri Debian-måde.

Installer libcurse5-dev, fakeroot og 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

Efter vellykket installation af ovenstående pakker er vi klar til at opbygge kerne. Gå til det udpakkede Linux Kernel-billede (vi ekstraherede ovenfor, mens du bekræfter signaturen).

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

Nu er det vigtigt at kopiere den aktuelle kernekonfiguration for at præsentere arbejdsmappen som rodbruger.

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

Det kopierer /boot/config-'uname -r ' for at præsentere arbejdsmappen " /home/avi/Downloads/linux-3.16 " og gemmer det som' .config '.

Her erstattes og ændres ' uname -r ' med din aktuelt installerede kerneversion.

Da en prikfil ikke kan ses på den normale måde, skal du bruge indstillingen ' -a ' med ls for at se dette i din nuværende arbejdsmappe '.

$ ls -al

Der er tre måder at opbygge en Linux-kerne på.

  1. lav oldconfig : Det er en interaktiv måde, hvorpå kernen stiller spørgsmål en efter en, hvad den skal understøtte, og hvad ikke. Det er en meget tidskrævende proces.
  2. lav menukonfiguration : Det er et kommandolinjebaseret system, hvor brugeren kan aktivere og deaktivere en indstilling. Det kræver ncurses-bibliotek, hvorfor vi Apt det ovenfor.
  3. lav qconfig/xconfig/gconfig : Det er det grafiske menubaserede system, hvor brugeren kan aktivere og deaktivere en indstilling. Det kræver QT-bibliotek.

Vi bruger åbenbart ' make menuconfig '.

Bange for at opbygge kerne? Det burde du ikke være. Det er sjovt, der er mange ting, du vil lære. Du skal huske disse følgende ting.

  1. Dit hardwarebehov og passende drivere.
  2. Vælg nye funktioner, mens du selv bygger kernen - understøttelse af høj hukommelse.
  3. Optimer kernen - vælg kun de drivere, du har brug for. Det vil fremskynde din opstartsproces. Hvis du ikke er sikker på nogen driver, skal du inkludere det bedre.

Kør nu kommandoen ' make menuconfig '.

# make menuconfig

Vigtigt: Du skal vælge “VÆLG - AKTIV INDLADNINGSMODULSUPPORT”, hvis du glemmer at gøre dette, får du svære tider.

Bemærk: I de åbne konfigurationsvinduer kan du konfigurere forskellige muligheder for dit netværkskort, bluetooth, touchpad, grafikkort, filsystemsupport såsom NTFS og mange andre muligheder.

Der er ingen vejledning til at guide dig, hvad du skal vælge, og hvad ikke. Du lærer dette kun ved at undersøge, studere ting over internettet, lære af tutorials af tecmint og på alle andre mulige måder.

Du kan muligvis se, at der er en mulighed for kernehacking. Hacking? Jep! Her betyder det udforskning. Du kan tilføje forskellige muligheder under kernehacking og bruge mange funktioner.

Vælg derefter Generiske driverindstillinger .

Netværksenhedssupport.

Understøttelse af inputenhed.

Indlæs konfigurationsfilen ( .config ), vi gemte fra/boot/config -\"uname –r \". Config.

Klik på OK, gem og afslut. Rens nu kildetræet, og nulstil kernepakke-parametrene.

# make-kpkg clean

Før vi begynder at kompilere kerne, skal vi eksportere CONCURRENCY_LEVEL . HENTIGHEDSNIVEAU for tommelfinger har en regel om at tilføje numerisk 1 til kernerne i kernen. Hvis du har to kerner, skal du eksportere CONCURRENCY_LEVEL = 3. Hvis du har 4 kerner, skal du eksportere CONCURRENCY_LEVEL = 5.

For at kontrollere processorens kerner kan du bruge kommandoen cat som vist nedenfor.

# 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

Du ser ovenstående output, jeg har 2 kerner, så vi eksporterer 3 kerner som vist nedenfor.

# export CONCURRENCY_LEVEL=3

Indstilling af korrekt CONCURRENCY_LEVEL vil fremskynde kernekompileringstiden.

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

Her er ' tecminkernel ' kernen build navn, det kan være alt lige fra dit navn, dit værtsnavn, dit kæledyrs navn eller noget andet.

Kernekompilering tager meget tid afhængigt af modulerne, der kompileres, og maskinens processorkraft. Indtil det kompileres, skal du se på nogle af ofte stillede spørgsmål om kernekompilering.

Det er slutningen af ofte stillede spørgsmål, lad mig gå videre med kompileringsprocessen. Efter vellykket kompilering af kernen opretter den to filer (Debian-pakke), en mappe 'over' af vores nuværende arbejdsmappe.

Vores nuværende arbejdsmappe er.

/home/avi/Downloads/linux-3.16/

Debian-pakker oprettes kl.

/home/avi/Downloads

For at bekræfte det skal du køre følgende kommandoer.

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

Kør derefter den Linux-billedfil, der er oprettet.

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

Kør Linux-headerfilen, der er oprettet.

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

Helt færdig! Vi har med succes bygget, kompileret og installeret Latest Linux Kernel 3.16 på Debian med alle andre afhængigheder. Desuden lykkedes det for Debian-pakken at opdatere bootloader (GRUB/LILO) automatisk. Det er tid til at genstarte og teste den nyeste kerne.

Sørg for at bemærke enhver fejlmeddelelse, du kan få under opstart. Det er vigtigt at forstå denne fejl for at løse dem, hvis nogen.

# reboot

Så snart Debian starter igen, skal du klikke på ' Avanceret mulighed ' for at se en liste over tilgængelige og installerede kerner.

Se en liste over installerede kerner.

Vælg den senest kompilerede kerne (dvs. 3.16) for at starte.

Tjek kerneversion.

# uname -mrns

Den seneste, der er installeret nu, er indstillet til at starte automatisk, og du behøver ikke vælge den hver gang blandt avancerede bootindstillinger.

For dem, der ikke ønsker at kompilere deres egen kerne på Debian (x86_64) og ønsker at bruge den præ-kompilerede kerne, som vi bygger i denne vejledning, kan de downloade den fra nedenstående link. Denne kerne fungerer muligvis ikke for noget af den hardware, du muligvis har.

  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

Dernæst skal du installere præ-kompileret kerne ved hjælp af følgende kommando.

# 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

Den ubrugte kerne kan fjernes fra systemet ved hjælp af kommandoen.

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

Forsigtig: Du skal fjerne gammel kerne efter at have testet Seneste kerne grundigt. Tag ikke en beslutning i hast. Du skal kun gå videre, hvis du ved, hvad du laver.

Hvis du gjorde noget galt med at fjerne den ønskede kerne eller fjernede den kerne, du ikke skulle, vil dit system være i et stadium, du ikke kan arbejde på.

Efter afinstallation af en ubrugt kerne kan du få en besked som.

  1. Linket/vmlinuz er et beskadiget link.
  2. Fjerner symbolsk link vmlinuz.
  3. Du skal muligvis køre din boot loader igen [grub].
  4. Linket /initrd.img er et beskadiget link.
  5. Fjernelse af symbolsk link initrd.img.
  6. Du skal muligvis køre din boot loader igen [grub].

Dette er normalt, og du behøver ikke bekymre dig. Opdater bare din GRUB ved hjælp af følgende kommando.

# /usr/sbin/update-grub

Du skal muligvis opdatere din /etc/kernel-img.conf fil og deaktivere ' do_symlinks ' for at deaktivere disse meddelelser. Hvis du er i stand til at genstarte og logge ind igen, er der ikke noget problem.

Det er alt for nu. Jeg vil være her igen med en anden interessant artikel. Indtil da hold dig opdateret og tilsluttet Tecmint. Glem ikke at give os din værdifulde feedback i kommentarfeltet nedenfor. Fortæl os også din oplevelse, når du støder på kernekompilering og installation.

Læs også :

  1. Installer Kernel 3.16 i Ubuntu
  2. Kompilér og installer kerne 3.12 i Debian Linux