Kernel 3.16 Verëffentlecht - Kompiléieren an installéieren op Debian GNU/Linux


Kernel ass de Kär vun all Betribssystem. Déi primär Funktioun vum Kernel ass als Mediateur tëscht Applikatioun - CPU, Applikatioun - Memory an Applikatioun - Apparater (I/O) ze handelen. Et funktionnéiert als Memory Manager, Device Manager a besicht System Uruff nieft aner Aufgaben auszeféieren.

Fir Linux ass Kernel säin Häerz. De Linux Kernel gëtt ënner GNU General Public License verëffentlecht. De Linus Torvalds huet Linux Kernel am Joer 1991 entwéckelt an hie koum mat Initial Kernel Release Version 0.01. Den 3. August 2014 (dëst Joer) ass Kernel 3.16 verëffentlecht ginn. An dësen 22 Joer huet de Linux Kernel vill Entwécklung gesinn. Elo ginn et Dausende vu Firmen, Millioune vun onofhängegen Entwéckler, déi zu Linux Kernel bäidroen.

Eng rau Schätzung vu grousse Marken an hire Bäitrag zum haitege Linux Kernel deen erwaart gëtt 17 Millioune Linnen Code ze hunn wéi pro 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. Vision Gravure Systemer - 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 Technologie - 1,2%
  16. Cisco - 0,9%
  17. Linux Foundation - 0,9%
  18. AMD - 0,9%
  19. Akademiker - 0,9%
  20. NetAPP – 0,8%
  21. Fujitsu – 0,7%
  22. Parallellen – 0,7%
  23. ARM - 0,7%

Siwwenzeg Prozent vun der Kernelentwécklung gëtt vun Entwéckler gemaach, déi a Firmen schaffen a fir dat bezuelt ginn, kléngt Interessant?

Linux Kernel 3.16 gëtt fir individuell wéi och Firmen am Produktiounsëmfeld verëffentlecht, déi hiren Kernel aus enger Rei vu Grënn aktualiséieren, e puer vun deenen enthält.

  1. Sécherheetspatches
  2. Stabilitéitsverbesserung
  3. Updatet Treiber - Besser Apparat Ënnerstëtzung
  4. Veraarbechtungsgeschwindegkeet Verbesserung
  5. Lescht Funktiounen, etc.

Dësen Artikel zielt den Debian Kernel ze aktualiséieren, den Debian Wee, dat heescht manner manuell Aarbecht, manner Risiko awer mat Perfektioun. Mir wäerten och Ubuntu Kernel am spéideren Deel vun dësem Artikel aktualiséieren.

Ier mer weidergoen, musse mir iwwer eisen aktuellen Kernel wëssen, deen installéiert ass.

[email :~$ uname -mrns 

Linux tecmint 3.14-1-amd64 x86_64

Iwwert Optiounen:

  1. -s : Drécke Betribssystem ('Linux', hei).
  2. -n : Drécken System Hostnumm ('tecmint', Hei).
  3. -r : Drécken Kernel Versioun ('tecmint 3.14-1-amd64', Hei).
  4. -m : Drécken Hardware Instruktiounsset ('x86_64', Hei).

Luet de leschte stabile Kernel vum Link hei ënnen erof. Gitt net duerchernee vu Patches Download Link do. Luet deen erof, deen kloer steet - \LESCHT STABLE KERNEL.

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

Alternativ kënnt Dir wget benotze fir de Kernel erofzelueden wat méi praktesch ass.

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

Nodeems den Download fäerdeg ass a ier mer virgoen, ass et staark ugeroden d'Kernel Ënnerschrëft z'iwwerpréiwen.

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

D'Ënnerschrëft Verifizéierung muss géint onkompriméiert Datei gemaach ginn. Dëst ass fir eng Ënnerschrëft géint verschidde Kompressiounsformat ze erfuerderen, nämlech .gz, .bz2, .xz.

Als nächst, dekompriméiert Linux Kernel Image.

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

Verifizéiert et géint Ënnerschrëft.

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

Notiz: Wann uewe genannte Kommando gpg werft: Kann d'Ënnerschrëft net kontrolléieren: ëffentleche Schlëssel net fonnt Feeler. Dat heescht, mir mussen de Public Schlëssel manuell vum PGP Server eroflueden.

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

Nodeems Dir de Schlëssel erofgelueden hutt, kontrolléiert de Schlëssel nach eng Kéier.

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

Hutt Dir zwou Saachen iwwer gpg Schlësselverifikatioun gemierkt.

  1. gpg: Gutt Ënnerschrëft vum Linus Torvalds <[email >.
  2. Primärschlëssel Fangerofdrock: ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 0041 1886 .

Näischt Suergen iwwer Schlëssel Fangerofdrock, mir si sécher elo, datt d'Archiv OK an ënnerschriwwen ass. Loosst eis viru goen!

Ier mer virgoen an de Kernel ufänken ze bauen, musse mir verschidde Packagen installéieren fir de Kernelbau an d'Installatiounsprozess ze vereinfachen an et ouni Risiko Debian Manéier ze maachen.

Installéiert libcurse5-dev, fakeroot a 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

No der erfollegräicher Installatioun vun den uewe genannte Packagen si mir prett fir de Kernel ze bauen. Gitt op dat extrahéiert Linux Kernel Image (mir hunn uewen extrahéiert, wärend d'Ënnerschrëft verifizéiert).

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

Elo ass et wichteg déi aktuell Kernelkonfiguratioun ze kopéieren fir den Aarbechtsverzeechnes als Root Benotzer ze presentéieren.

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

Et kopéiert /boot/config-'uname -r' fir den Aarbechtsverzeichnis \/home/avi/Downloads/linux-3.16 ze presentéieren a späichert et als '< b>.config'.

Hei gëtt 'uname -r' automatesch ersat a veraarbecht mat Ärer aktueller installéierter Kernel Versioun.

Well eng Punktdatei net normal gesi ka ginn, musst Dir d'Optioun '-a' mat ls benotzen fir dëst an Ärem aktuellen Aarbechtsverzeichnis ze gesinn.

$ ls -al

Et ginn dräi Weeër fir e Linux Kernel ze bauen.

  1. Oldconfig maachen : Et ass eng interaktiv Manéier wéi de Kernel d'Fro een nom aneren stellt wat et soll ënnerstëtzen a wat net. Et ass e ganz Zäitopwendende Prozess.
  2. menuconfig maachen : Et ass e Kommando-Linn Menu baséiert System wou de Benotzer eng Optioun aktivéieren an auszeschalten kann. Et erfuerdert d'ncurses Bibliothéik, dofir aptéiere mir dat uewen.
  3. maache qconfig/xconfig/gconfig : Et ass de Grafikmenü baséiert System wou de Benotzer eng Optioun aktivéieren an auszeschalten kann. Et verlaangt QT Bibliothéik.

Natierlech wäerte mir 'menuconfig maachen' benotzen.

Angscht Kernel ze bauen? Dir sollt net sinn. Et ass Spaass, et gëtt vill Saachen déi Dir léiert. Dir sollt dës folgend Saachen am Kapp behalen.

  1. Är Hardwarebedürfnisser a passend Treiber.
  2. Wielt nei Features wärend Dir de Kernel selwer baut wéi - High Memory Support.
  3. Kernel optimiséieren - wielt nëmmen déi Chauffeuren déi Dir braucht. Et wäert Äre Bootprozess beschleunegen. Wann Dir net sécher sidd vun engem Chauffeur, da sollt Dir dat besser enthalen.

Elo, fuert de Kommando 'menyconfig maachen'.

# make menuconfig

Wichteg: Dir musst SELECT - ENABLE LOADABLE MODULE SUPPORT wielen, wann Dir dëst vergiess hutt, kritt Dir schwéier Zäiten.

Bemierkung: An den oppene Konfiguratiounsfenster kënnt Dir verschidde Méiglechkeeten fir Är Netzwierkkaart konfiguréieren, Bluetooth, Touchpad, Grafikkaart, Dateisystem Ënnerstëtzung wéi NTFS a vill aner Optiounen.

Et gëtt keen Tutorial fir Iech ze guidéieren wat Dir sollt wielen a wat net. Dir léiert dëst nëmmen duerch Recherchen, studéiert Saachen iwwer Internet, léiert aus Tecmint Tutorials an op all aner méiglech Manéier.

Dir kënnt gesinn datt et eng Optioun Kernel Hacking ass. Hacking? Jo! Hei heescht et Exploratioun. Dir kënnt verschidde Optiounen ënner Kernel Hacking addéieren a vill Features benotzen.

Als nächst, wielt Generic Driver Options.

Network Gerät Ënnerstëtzung.

Input Gerät Ënnerstëtzung.

Lued d'Konfiguratiounsdatei (.config), mir späichere vun /boot/config-\uname –r\.config.

Klickt op OK, späicheren an erausgoen. Elo botzt de Quellbaum a setzt d'Kernel-Package-Parameteren zréck.

# make-kpkg clean

Ier mer ufänken de Kärel ze kompiléieren, musse mir CONCURRENCY_LEVEL exportéieren. CONCURRENCY LEVEL vum Daumen huet eng Regel fir Numeric 1 un d'Käre vum Kärel ze addéieren. Wann Dir 2 Kären hutt, exportéiert CONCURRENCY_LEVEL=3. Wann Dir 4 Kären hutt, exportéiert CONCURRENCY_LEVEL=5.

Fir d'Käre vum Prozessor z'iwwerpréiwen, kënnt Dir de Kaz Kommando benotze wéi hei ënnendrënner.

# 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

Dir gesitt uewen Ausgang, ech hunn 2 Cores, also wäerte mir 3 Cores exportéieren wéi hei ënnendrënner.

# export CONCURRENCY_LEVEL=3

Korrekt Astellung vun CONCURRENCY_LEVEL wäert d'Kernelkompiléierungszäit beschleunegen.

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

Hei ass 'tecminkernel' de Kärel Build Numm, et kann alles sinn, rangéiert vun Ärem Numm, Ärem Hostnumm, Ärem Hausdéiernumm oder soss eppes.

Kernel Kompilatioun hëlt vill Zäit ofhängeg vun de Moduler déi kompiléiert ginn an der Veraarbechtungskraaft vun der Maschinn. Bis zur Zäit wou et kompiléiert gëtt, kuckt e puer vun de FAQs vun der Kernel-Kompilatioun.

Dat ass d'Enn vun FAQ, loosst mech mam Kompiléierungsprozess bewegen. No der erfollegräicher Kompiléierung vum Kernel erstellt et zwee Dateien (Debian Package), ee Verzeechnes uewen vun eisem aktuellen Aarbechtsverzeechnes.

Eis aktuellen Aarbechtsverzeechnes ass.

/home/avi/Downloads/linux-3.16/

Debian Packagen ginn op.

/home/avi/Downloads

Fir et z'iwwerpréiwen, fuert déi folgend Kommandoen.

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

Als nächst, lafen d'Linux Bilddatei sou erstallt.

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

Run der Linux Header Datei sou erstallt.

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

Alles fäerdeg! Mir hunn erfollegräich gebaut, kompiléiert an installéiert Latest Linux Kernel 3.16 op Debian mat all aner Ofhängegkeeten. Ausserdeem huet de Debian Package et fäerdeg bruecht de Bootloader (GRUB/LILO) automatesch ze aktualiséieren. Et ass Zäit de leschten Kernel nei ze starten an ze testen.

W.e.g. bemierkt w.e.g. all Fehlermeldung déi Dir beim Booten kritt. Et ass wichteg dëse Feeler ze verstoen fir se ze léisen, wann iwwerhaapt.

# reboot

Soubal Debian erëm ufänkt, klickt op 'Erweidert Optioun' fir eng Lëscht mat verfügbaren an installéierten Kernelen ze gesinn.

Kuckt eng Lëscht vun installéierten Kären.

Wielt déi lescht kompiléiert Kernel (dh 3.16) fir ze booten.

Kuckt d'Kernel Versioun.

# uname -mrns

Déi lescht, elo installéiert ass automatesch op Boot agestallt an Dir musst et net all Kéier aus fortgeschrattem Bootoptiounen wielen.

Fir déi, déi hiren eegene Kernel net op Debian (x86_64) kompiléiere wëllen a wëllen de pre-kompiléierten Kernel benotzen, dee mir an dësem Tutorial bauen, kënne se vum Link hei ënnen eroflueden. Dëse Kernel funktionnéiert vläicht net fir e puer vun der Hardware déi Dir hutt.

  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

Als nächst, installéiert de pre-kompiléierten Kernel mat dem folgenden 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 onbenotzten Kernel kann mam Kommando aus dem System geläscht ginn.

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

Opgepasst: Dir sollt alen Kernel ewechhuelen nodeems Dir de leschte Kernel komplett getest hutt. Huelt keng Entscheedung séier. Dir sollt nëmme weidergoen wann Dir wësst wat Dir maacht.

Wann Dir eppes falsch gemaach hutt fir de Kernel ze läschen deen Dir wëllt, oder de Kernel geläscht hutt deen Dir net sollt hunn, wäert Äre System an enger Etapp sinn op där Dir net schaffe kënnt.

Nodeems Dir en onbenotzten Kernel deinstalléiert hutt, kënnt Dir e Message kréien wéi.

  1. De Link /vmlinuz ass e beschiedegte Link.
  2. Symbolesche Link vmlinuz ewechhuelen.
  3. Dir musst vläicht Äre Bootloader[grub] nei ausféieren.
  4. De Link /initrd.img ass e beschiedegte Link.
  5. Symbolesche Link ewechhuelen initrd.img .
  6. Dir musst vläicht Äre Bootloader[grub] nei ausféieren.

Dëst ass normal an Dir musst Iech keng Suergen maachen. Update Just Är GRUB mat dem folgenden Kommando.

# /usr/sbin/update-grub

Dir musst vläicht Är /etc/kernel-img.conf Datei aktualiséieren an 'do_symlinks' auszeschalten, fir dës Messagen auszeschalten. Wann Dir fäeg sidd nei ze starten an erëm aloggen, ass et kee Problem.

Dat ass alles fir elo. Ech wäert erëm hei mat engem aneren interessanten Artikel sinn. Bis dann bleift ofgeschloss a verbonne mat Tecmint. Vergiesst net eis Äre wäertvolle Feedback an der Kommentarsektioun hei drënner ze ginn. Sot eis och Är Erfahrung wann Dir Kernel Kompilatioun an Installatioun begéint.

Liest och:

  1. Installéiere Kernel 3.16 an Ubuntu
  2. Kompiléieren an installéieren Kernel 3.12 an Debian Linux