Kernel 3.16 utgitt - Kompiler og installer på Debian GNU/Linux


Kjernen er kjernen i ethvert operativsystem. Den primære funksjonen til kjernen er å fungere som formidler mellom applikasjon – CPU, applikasjon – minne og applikasjon – enheter (I/O). Den fungerer som Memory Manager, Device Manager og deltar i systemanrop i tillegg til å utføre andre oppgaver.

For Linux er kjernen hjertet. Linux-kjernen er utgitt under GNU General Public License. Linus Torvalds utviklet Linux Kernel i 1991, og han kom med Initial Kernel Release Versjon 0.01. 3. august 2014 (i år) har Kernel 3.16 blitt utgitt. I løpet av disse 22 årene har Linux-kjernen hatt mye utvikling. Nå er det tusenvis av selskaper, millioner av uavhengige utviklere som bidrar til Linux Kernel.

Et grovt estimat av store merker og deres bidrag til den nåværende Linux-kjernen som forventes å ha 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. Visjonsgraveringssystemer – 2,3 %
  10. Wolfson Microelectronics – 1,6 %
  11. Oracle – 1,3 %
  12. Broadcom – 1,3 %
  13. Nvidia – 1,3 %
  14. Friskala – 1,2 %
  15. Ingics-teknologi – 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 %

Sytti prosent av kjerneutviklingen gjøres av utviklere, som jobber i bedrifter og får betalt for det, høres interessant ut?

Linux Kernel 3.16 er utgitt for individuelle så vel som selskaper i produksjonsmiljø, som vil oppdatere kjernen sin av flere grunner, hvorav noen inkluderer.

  1. Sikkerhetsoppdateringer
  2. Stabilitetsforbedring
  3. Oppdaterte drivere – Bedre enhetsstøtte
  4. Forbedring av behandlingshastighet
  5. Siste funksjoner osv

Denne artikkelen tar sikte på å oppdatere Debian-kjernen, på Debian-måten, noe som betyr mindre manuelt arbeid, mindre risiko, men med perfeksjon. Vi vil også oppdatere Ubuntu Kernel i den senere delen av denne artikkelen.

Trinn 1: Last ned Kernel 3.16

Før vi fortsetter, må vi vite om vår nåværende kjerne, som er installert.

avi@tecmint:~$ uname -mrns 

Linux tecmint 3.14-1-amd64 x86_64

Om alternativer:

  1. -s : Skriv ut operativsystem (‘Linux’, her).
  2. -n : Skriv ut systemvertsnavn (‘tecmint’, her).
  3. -r : Skriv ut kjerneversjon (‘tecmint 3.14-1-amd64’, her).
  4. -m : Skriv ut maskinvareinstruksjonssett (‘x86_64’, her).

Last ned siste stabile kjerne fra lenken nedenfor. Ikke bli forvirret av nedlastingslenken for patcher der. Last ned den som tydelig sier – «SISTE STABILKJERNE ».

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

Alternativt kan du bruke wget for å laste ned kjernen som er mer praktisk.

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

Trinn 2: Bekreft Kernel 3.16-signatur

Etter at nedlastingen er fullført og før vi går videre, anbefales det på det sterkeste å verifisere kjernesignaturen.

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

Signaturverifiseringen må gjøres mot ukomprimert fil. Dette er for å kreve én signatur mot forskjellige komprimeringsformater, nemlig .gz, .bz2, .xz.

Deretter komprimerer du Linux Kernel Image.

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

Bekreft det mot signatur.

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

Merk: Hvis kommandoen ovenfor gir gpg: Kan ikke sjekke signatur: offentlig nøkkel ikke funnet feil. Det betyr at vi må laste ned offentlig nøkkel manuelt fra PGP Server.

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

Etter at du har lastet ned nøkkelen, bekrefter du nøkkelen på nytt.

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

Har du lagt merke til to ting om gpg-nøkkelverifisering.

  1. gpg: God signatur fra "Linus Torvalds <[email >".
  2. Fingeravtrykk for primærnøkkel: ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 0041 1886 .

Ingenting å bekymre seg for nøkkelfingeravtrykk, nå er vi sikre på at arkivet er OK og signert. La oss gå videre!

Trinn 3: Installere nødvendige pakker

Før vi går videre og begynner å bygge kjernen, må vi installere visse pakker for å lette kjernebyggingen og installasjonsprosessen og gjøre det på en risikofri Debian-måte.

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

Trinn 4: Bygg kjerne 3.16

Etter vellykket installasjon av pakkene ovenfor, er vi klare til å bygge kjerne. Flytt til det utpakkede Linux-kjernebildet (vi hentet ut ovenfor, mens vi bekrefter signaturen).

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

Nå er det viktig å kopiere den gjeldende kjernekonfigurasjonen for å presentere arbeidskatalogen som rotbruker.

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

Den kopierer /boot/config-'uname -r' for å presentere arbeidskatalogen «/home/avi/Downloads/linux-3.16» og lagrer den som '.config'.

Her vil 'uname -r' automatisk bli erstattet og behandlet med din installerte kjerneversjon.

Siden en prikkfil ikke kan sees på vanlig måte, må du bruke alternativet '-a' med ls for å se denne, i din nåværende arbeidskatalog.

ls -al

Det er tre måter å bygge en Linux-kjerne på.

  1. lag oldconfig : Det er en interaktiv måte der kjernen stiller spørsmål én etter én hva den skal støtte og ikke. Det er en svært tidkrevende prosess.
  2. lag menuconfig : Det er et kommandolinjebasert menysystem der brukeren kan aktivere og deaktivere et alternativ. Det krever ncurses-biblioteket, derfor har vi det ovenfor.
  3. lag qconfig/xconfig/gconfig : Det er det grafiske menybaserte systemet hvor brukeren kan aktivere og deaktivere et alternativ. Det krever QT Library.

Tydeligvis kommer vi til å bruke «make menuconfig».

Redd for å bygge kjerne? Det burde du ikke være. Det er gøy, det er mye du vil lære. Du bør huske på disse følgende tingene.

  1. Dine maskinvarebehov og passende drivere.
  2. Velg nye funksjoner mens du bygger kjerne selv som – høy minnestøtte.
  3. Optimaliser kjernen – velg bare de driverne du trenger. Det vil fremskynde oppstartsprosessen. Hvis du ikke er sikker på noen driver, bør du inkludere det.

Kjør nå kommandoen «make menuconfig».

make menuconfig

Viktig: Du må velge «SELECT – ENABLE LOADABLE MODULE SUPPORT“, hvis du glemmer å gjøre dette, kommer du til å få vanskelige tider .

Merk: I de åpne konfigurasjonsvinduene kan du konfigurere ulike alternativer for nettverkskortet ditt, bluetooth, styreflate, grafikkort, filsystemstøtte som NTFS og mange andre alternativer.

Det er ingen veiledning for å veilede deg hva du bør velge og ikke. Du får vite dette bare ved å forske, studere ting over nettet, lære fra opplæringsprogrammer for tecmint og på alle andre mulige måter.

Du kan se at det er et alternativ for kjernehacking. Hacking? Jepp! Her betyr det utforskning. Du kan legge til forskjellige alternativer under kjernehacking og bruke mange funksjoner.

Deretter velger du Generiske driveralternativer.

Støtte for nettverksenheter.

Støtte for inndataenhet.

Last inn konfigurasjonsfilen (.config), vi lagret fra /boot/config-`uname –r`.config.

Klikk på OK, lagre og avslutt. Rengjør nå kildetreet og tilbakestill kernel-package-parameterne.

make-kpkg clean

Trinn 5: Kompilere Kernel 3.16

Før vi begynner å kompilere kjernen, må vi eksportere CONCURRENCY_LEVEL. TOmmelfingerens CONCURRENCY LEVEL har en regel for å legge til Numeric 1 til kjernekjernene. Hvis du har 2 kjerner, eksporter CONCURRENCY_LEVEL=3. Hvis du har 4 kjerner, eksporter CONCURRENCY_LEVEL=5.

For å sjekke kjernene til prosessoren kan du bruke cat-kommando som vist nedenfor.

cat /proc/cpuinfo
Eksempelutgang
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 utgang ovenfor, jeg har 2 kjerner, så vi vil eksportere 3 kjerner som vist nedenfor.

export CONCURRENCY_LEVEL=3

Å sette riktig CONCURRENCY_LEVEL vil øke hastigheten på kjernekompileringstiden.

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

Her er 'tecminkernel' kjernebyggnavnet, det kan være alt fra navnet ditt, vertsnavnet ditt, kjæledyrnavnet ditt eller noe annet.

Kjernekompilering tar mye tid avhengig av modulene som kompileres og maskinens prosessorkraft. Inntil det kompileres, se på noen av de vanlige spørsmålene om kjernekompilering.

ofte stilte spørsmål

Q1. Kjernen min blir kompilert i lang tid. Er det normalt.
Q2. Hvis jeg avbryter kjernen mens den kompilerte, må jeg starte på nytt?
Q3. De kompilerte filene kan brukes på forskjellige systemer for å oppdatere kjernen?
Q4. Vil du være vert for den kompilerte filen din?
Q5. Har jeg pakker som fakeroot og ncurses5-dev i depotet mitt?
Q6. Vil jeg kunne starte opp i siste kjerne etter at jeg har installert den nyeste kjernen.
Q7. Jeg har problemer med å oppdatere kjernen. Vil du hjelpe meg? Er det belastbart?
Q8. Firmaet mitt har problemer med å oppdatere kjernen. Vil teamet ditt hjelpe oss? Er det ladebart?

Det er slutten på FAQ, la meg gå videre med kompileringsprosessen. Etter vellykket kompilering av kjernen, oppretter den to filer (Debian-pakke), en katalog "over" av vår nåværende arbeidskatalog.

Vår nåværende arbeidskatalog er.

/home/avi/Downloads/linux-3.16/

Debian-pakker opprettes på.

/home/avi/Downloads

For å bekrefte det, kjør følgende kommandoer.

cd ..
ls -l linux-*.deb

Deretter kjører du Linux-bildefilen slik opprettet.

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

Kjør Linux-overskriftsfilen slik opprettet.

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

Ferdig! Vi har vellykket bygget, kompilert og installert siste Linux Kernel 3.16 på Debian med alle andre avhengigheter. Dessuten klarte Debian-pakken å oppdatere bootloader (GRUB/LILO), automatisk. Det er på tide å starte på nytt og teste den nyeste kjernen.

Sørg for å legge merke til eventuelle feilmeldinger du kan få under oppstart. Det er viktig å forstå den feilen for å løse dem, hvis noen.

reboot

Så snart Debian starter igjen, klikk på «Avansert alternativ» for å se en liste over tilgjengelige og installerte kjerner.

Se en liste over installerte kjerner.

Velg den siste kompilerte kjernen (dvs. 3.16) for å starte opp.

Sjekk kjerneversjonen.

uname -mrns

Den siste, installert nå, er satt til å starte opp automatisk, og du trenger ikke velge den fra avanserte oppstartsalternativer hver gang.

Trinn 6: Installer Pre-Compiled Kernel 3.16

For de som ikke ønsker å kompilere egen kjerne på Debian (x86_64) og ønsker å bruke den forhåndskompilerte kjernen som vi bygger i denne opplæringen, kan de laste den ned fra lenken nedenfor. Denne kjernen fungerer kanskje ikke for noe av maskinvaren du kanskje 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

Deretter installerer du forhåndskompilert kjerne ved å bruke 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 ubrukte kjernen kan fjernes fra systemet ved å bruke kommandoen.

apt-get remove linux-image-(unused_version_number)

Forsiktig: Du bør fjerne gammel kjerne etter å ha testet siste kjerne grundig. Ikke ta en beslutning i hast. Du bør bare fortsette hvis du vet hva du gjør.

Hvis du gjorde noe galt med å fjerne kjernen du vil ha, eller fjernet kjernen du ikke skulle, vil systemet ditt være i et stadium du ikke kan jobbe med.

Etter å ha avinstallert en ubrukt kjerne kan du få en melding som.

  1. Linken /vmlinuz er en skadet lenke.
  2. Fjerner symbolsk lenke vmlinuz.
  3. Det kan hende du må kjøre oppstartslasteren[grub] på nytt.
  4. Linken /initrd.img er en skadet lenke.
  5. Fjerner symbolsk lenke initrd.img .
  6. Det kan hende du må kjøre oppstartslasteren[grub] på nytt.

Dette er normalt, og du trenger ikke å bekymre deg. Bare oppdater GRUB ved å bruke følgende kommando.

/usr/sbin/update-grub

Du må kanskje oppdatere /etc/kernel-img.conf-filen og deaktivere «do_symlinks» for å deaktivere disse meldingene. Hvis du klarer å starte på nytt og logge på igjen, er det ikke noe problem.

Det er alt for nå. Jeg vil være her igjen med en annen interessant artikkel. Inntil da følg med og koblet til Tecmint. Ikke glem å gi oss din verdifulle tilbakemelding i kommentarfeltet nedenfor. Fortell oss også din erfaring når du møter kjernekompilering og installasjon.

Les også :

  1. Installer Kernel 3.16 i Ubuntu
  2. Kompiler og installer Kernel 3.12 i Debian Linux