Kernel 3.16 megjelent – Fordítás és telepítés Debian GNU/Linux rendszeren
A Kernel minden operációs rendszer magja. A kernel elsődleges feladata, hogy közvetítőként működjön az Alkalmazás – CPU, Alkalmazás – Memória és Alkalmazás – Eszközök (I/O) között. Memóriakezelőként, eszközkezelőként működik, és egyéb feladatok elvégzése mellett részt vesz a rendszerhívásokban.
A Linux számára a kernel a szíve. A Linux kernel a GNU General Public License alatt jelenik meg. Linus Torvalds 1991-ben fejlesztette ki a Linux Kernelt, és az Initial Kernel Release 0.01-es verziójával érkezett. 2014. augusztus 3-án (idén) megjelent a Kernel 3.16. Ez alatt a 22 év alatt a Linux kernel rengeteget fejlődött. Jelenleg több ezer cég, független fejlesztők milliói járulnak hozzá a Linux Kernelhez.
A nagy márkák hozzávetőleges becslése és hozzájárulásuk a jelenlegi Linux kernelhez, amely várhatóan 17 millió sornyi kóddal rendelkezik a Linux Foundation, Linux Kernel Development Report szerint.
- RedHat – 10,2%
- Intel – 8,8%
- Texas Instruments – 4,1%
- Linaro – 4,1%
- SUSE – 3,5%
- IBM – 3,1%
- Samsung – 2,6%
- Google – 2,4%
- Vision gravírozó rendszerek – 2,3%
- Wolfson Microelectronics – 1,6%
- Oracle – 1,3%
- Broadcom – 1,3%
- Nvidia – 1,3%
- Szabad méret – 1,2%
- Ingics Technology – 1,2%
- Cisco – 0,9%
- Linux Foundation – 0,9%
- AMD – 0,9%
- Tudományosok – 0,9%
- NetAPP – 0,8%
- Fujitsu – 0,7%
- párhuzamok – 0,7%
- ARM – 0,7%
A kernelfejlesztés 70 százalékát fejlesztők végzik, akik a Vállalatoknál dolgoznak, és ezért fizetnek. Érdekesnek hangzik?
A Linux Kernel 3.16 egyének és éles környezetben működő vállalatok számára jelent meg, akik számos ok miatt frissíteni fogják a kernelüket, amelyek közül néhány ok.
- Biztonsági javítások
- Stabilitásnövelés
- Frissített illesztőprogramok – Jobb eszköztámogatás
- A feldolgozási sebesség javítása
- Legújabb funkciók stb
Ennek a cikknek a célja a Debian kernel frissítése, a Debian módszerrel, ami kevesebb kézi munkát, kevesebb kockázatot jelent, mégis tökéletes. A cikk későbbi részében az Ubuntu kernelt is frissítjük.
1. lépés: Kernel 3.16 letöltése
Mielőtt továbblépnénk, ismernünk kell az aktuális kernelünket, amely telepítve van.
avi@tecmint:~$ uname -mrns
Linux tecmint 3.14-1-amd64 x86_64
A lehetőségekről:
- -s : Operációs rendszer nyomtatása ("Linux", itt).
- -n : Nyomtatási rendszer gazdagépneve ("tecmint", itt).
- -r : Nyomtatási kernel verzió ("tecmint 3.14-1-amd64", itt).
- -m: Nyomtatási hardver utasításkészlet ('x86_64', itt).
Töltse le a legújabb stabil kernelt az alábbi linkről. Ne tévesszen meg a javítások letöltési linkje. Töltsd le azt, amelyen egyértelműen szerepel: „LEGÚJABB STABIL KERNEL”.
- https://www.kernel.org/
Alternatív megoldásként használhatja a wget parancsot a kernel letöltéséhez, ami kényelmesebb.
avi@tecmint:~/Downloads$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.tar.xz
2. lépés: Ellenőrizze a Kernel 3.16-os aláírását
A letöltés befejezése után és mielőtt továbblépnénk, erősen ajánlott a kernel aláírásának ellenőrzése.
avi@tecmint:~/Downloads$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.tar.sign
Az aláírás-ellenőrzést tömörítetlen fájlon kell elvégezni. Ehhez egyetlen aláírásra van szükség a különböző tömörítési formátumokhoz, pl., .gz, .bz2, .xz.
Ezután csomagolja ki a Linux Kernel Image-t.
avi@tecmint:~/Downloads$ unxz linux-3.16.tar.xz
Ellenőrizze aláírással.
avi@tecmint:~/Downloads$ gpg --verify linux-3.16.tar.sign
Megjegyzés: Ha a fenti parancs gpg-t dob: Nem lehet ellenőrizni az aláírást: a nyilvános kulcs nem található hiba. Ez azt jelenti, hogy manuálisan kell letöltenünk a nyilvános kulcsot a PGP-kiszolgálóról.
avi@tecmint:~/Downloads$ gpg --recv-keys 00411886
A kulcs letöltése után ellenőrizze újra a kulcsot.
avi@tecmint:~/Downloads$ gpg --verify linux-3.16.tar.sign
Észrevett két dolgot a gpg kulcs ellenőrzésével kapcsolatban?
- gpg: „Linus Torvalds <[email >” jó aláírása.
- Elsődleges kulcs ujjlenyomata: ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 0041 1886 .
Nincs okunk aggódni a kulcs ujjlenyomata miatt, most már biztosak vagyunk abban, hogy az archívum rendben van és alá van írva. Menjünk előre!
3. lépés: A szükséges csomagok telepítése
Mielőtt nekilátnánk a kernel felépítésének, telepítenünk kell bizonyos csomagokat, hogy megkönnyítsük a kernelépítési és telepítési folyamatot, és mindezt kockázatmentesen, Debian módon végezzük.
Telepítse a libcurse5-dev, a fakeroot és a kernel-csomagot.
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
4. lépés: Kernel felépítése 3.16
A fenti csomagok sikeres telepítése után készen állunk a kernel felépítésére. Lépjen a kibontott Linux Kernel Image-re (fent kibontottuk, miközben ellenőriztük az aláírást).
avi@tecmint:~/Downloads$ cd linux-3.16/
Most fontos átmásolni az aktuális kernelkonfigurációt, hogy root felhasználóként jelenítse meg a munkakönyvtárat.
cp /boot/config-'uname -r' .config
Másolja a /boot/config-'uname -r' fájlt a „/home/avi/Downloads/linux-3.16” munkakönyvtárba, és ' néven menti >.config'.
Itt az ‘uname -r’ automatikusan lecserélődik és a jelenleg telepített kernelverzióval kerül feldolgozásra.
Mivel egy pontfájl nem látható a szokásos módon, a „-a” és az ls opciót kell használnia, hogy megtekinthesse ezt a jelenlegi munkakönyvtárában.
ls -al
A Linux kernel felépítésének három módja van.
- make oldconfig : Ez egy interaktív módja annak, hogy a kernel egyenként felteszi a kérdést, hogy mit kell támogatnia és mit nem. Ez egy nagyon időigényes folyamat.
- make menuconfig : Ez egy parancssori menü alapú rendszer, ahol a felhasználó engedélyezhet és letilthat egy opciót. Ehhez ncurses könyvtárra van szükség, ezért ezt a fentiekben alkalmazzuk.
- make qconfig/xconfig/gconfig : Ez a grafikus menü alapú rendszer, ahol a felhasználó engedélyezhet és letilthat egy opciót. QT Library kell hozzá.
Nyilvánvalóan a „make menuconfig”-t fogjuk használni.
Fél a kernel építésétől? Nem szabadna. Szórakoztató, sok mindent meg fogsz tanulni. A következő dolgokat érdemes szem előtt tartania.
- Hardverigényei és megfelelő illesztőprogramjai.
- Válasszon új szolgáltatásokat, miközben saját maga építi fel a rendszermagot, például – nagy memória támogatása.
- Kernel optimalizálása – csak azokat az illesztőprogramokat válassza ki, amelyekre szüksége van. Ez felgyorsítja a rendszerindítási folyamatot. Ha nem biztos az illesztőprogramokban, jobb, ha azt is belefoglalja.
Most futtassa a „make menuconfig” parancsot.
make menuconfig
Fontos: Ki kell választania a „KIVÁLASZTÁS – BETÖLTHETŐ MODUL TÁMOGATÁS ENGEDÉLYEZÉSE” lehetőséget. Ha elfelejti ezt megtenni, nehéz idők vár rád. .
Megjegyzés: A megnyitott konfigurációs ablakokban különféle beállításokat konfigurálhat a hálózati kártyához, a Bluetooth-hoz, az érintőpadhoz, a grafikus kártyához, a fájlrendszer-támogatáshoz, például az NTFS-hez és sok más beállításhoz.
Nincs olyan oktatóanyag, amely eligazítja, hogy mit válasszon és mit ne. Ezt csak úgy tudhatod meg, ha kutakodsz, a weben keresztül tanulmányozod a dolgokat, tanulsz a tecmint oktatóanyagaiból és minden más módon.
Láthatja, hogy van egy kernel hackelési lehetőség. Hackelés? Aha! Itt a felfedezést jelenti. Különféle lehetőségeket adhat hozzá a kernel hackelése alatt, és sok funkciót használhat.
Ezután válassza az Általános illesztőprogram-beállítások lehetőséget.
Hálózati eszközök támogatása.
Beviteli eszköz támogatás.
Töltse be a konfigurációs fájlt (.config), amelyet a /boot/config-`uname –r`.config fájlból mentettünk.
Kattintson az OK gombra, mentse és lépjen ki. Most tisztítsa meg a forrásfát, és állítsa vissza a kernel-csomag paramétereit.
make-kpkg clean
5. lépés: Kernel 3.16 fordítása
Mielőtt elkezdené a kernel fordítását, exportálnunk kell a következőt: CONCURRENCY_LEVEL. Az EGYEZESSÉGI SZINT a hüvelykujj egy szabályt tartalmaz az 1-es szám hozzáadására a kernel magjaihoz. Ha 2 magja van, exportálja a CONCURRENCY_LEVEL=3. Ha 4 magja van, exportálja a CONCURRENCY_LEVEL=5-öt.
A processzormagok ellenőrzéséhez használhatja a cat parancsot az alábbiak szerint.
cat /proc/cpuinfo
Minta kimenet
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
A fenti kimeneten látható, hogy 2 magom van, ezért 3 magot exportálunk az alábbiak szerint.
export CONCURRENCY_LEVEL=3
A helyes CONCURRENCY_LEVEL beállítása felgyorsítja a kernel fordítási idejét.
fakeroot make-kpkg --append-to-version "-tecmintkernel" --revision "1" --initrd kernel_image kernel_headers
Itt a ’tecminkernel’ a kernel build neve, bármi lehet, kezdve az Ön nevétől, a gazdagép nevétől, a kedvence nevétől vagy bármi mástól.
A kernel fordítása sok időt vesz igénybe a fordítandó moduloktól és a gép feldolgozási teljesítményétől függően. Amíg nem fordít, nézd meg a kernelfordítás néhány GYIK-jét.
Gyakran Ismételt Kérdések
Q1. A kernelemet már régóta fordítják. Normális.
Q2. Ha megszakítom a kernelt fordítás közben, elölről kell kezdenem?
Q3. A lefordított fájlok különböző rendszereken használhatók kernel frissítésére?
Q4. Ön fogja tárolni az összeállított fájlt?
Q5. Vannak olyan csomagok a tárhelyemben, mint a fakeroot és az ncurses5-dev?
Q6. A legfrissebb kernel telepítése után képes leszek-e a legutolsó kernelbe bootolni?
Q7. Problémával szembesülök a kernel frissítése során. Segítesz nekem? Fizethető?
Q8. Cégem problémával küzd a kernel frissítése során. A csapatod segíteni fog nekünk? Térhető?
Ezzel a GYIK vége, hadd folytassam az összeállítási folyamatot. A kernel sikeres lefordítása után két fájlt (Debian-csomagot) hoz létre, egy könyvtárat a jelenlegi működő könyvtárunk „felett”.
Jelenlegi munkakönyvtárunk a.
/home/avi/Downloads/linux-3.16/
A Debian csomagok itt jönnek létre.
/home/avi/Downloads
Az ellenőrzéshez futtassa a következő parancsokat.
cd ..
ls -l linux-*.deb
Ezután futtassa az így létrehozott Linux-képfájlt.
dpkg -i linux-image-3.16.0-tecmintkernel_1_amd64.deb
Futtassa az így létrehozott Linux-fejlécfájlt.
dpkg -i linux-headers-3.16.0-tecmintkernel_1_amd64.deb
Minden kész! Sikeresen elkészítettük, lefordítottuk és telepítettük a legújabb Linux Kernel 3.16-ot a Debian rendszeren az összes többi függőséggel együtt. Ezenkívül a Debian csomag automatikusan frissítette a rendszerbetöltőt (GRUB/LILO). Ideje újraindítani és tesztelni a legújabb kernelt.
Kérjük, figyeljen minden hibaüzenetre, amelyet rendszerindításkor kaphat. Fontos megérteni, hogy a hiba megoldható, ha vannak ilyenek.
reboot
Amint a Debian újraindul, kattintson a 'Speciális opció' elemre az elérhető és telepített kernelek listájának megtekintéséhez.
Tekintse meg a telepített kernelek listáját.
Válassza ki a legfrissebb lefordított kernelt (azaz 3.16-ot) a rendszerindításhoz.
Ellenőrizze a kernel verzióját.
uname -mrns
A legújabb, most telepített automatikusan elindul, és nem kell minden alkalommal kiválasztania a speciális rendszerindítási lehetőségek közül.
6. lépés: Telepítse az előre lefordított kernel 3.16-ot
Azok, akik nem akarnak saját kernelt fordítani Debianon (x86_64), és az oktatóanyagban elkészített előre lefordított kernelt szeretnék használni, letölthetik az alábbi linkről. Előfordulhat, hogy ez a kernel nem működik egyes hardvereken.
- linux-image-3.16.0-linux-console.net_kernel_1_amd64.deb
- linux-headers-3.16.0-linux-console.net_kernel_1_amd64.deb
Ezután telepítse az előre lefordított kernelt a következő paranccsal.
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
A fel nem használt kernelt paranccsal lehet eltávolítani a rendszerből.
apt-get remove linux-image-(unused_version_number)
Vigyázat: A legújabb kernel alapos tesztelése után távolítsa el a régi kernelt. Ne hozzon elhamarkodott döntést. Csak akkor szabad folytatnia, ha tudja, mit csinál.
Ha valamit rosszul csinált a kívánt kernel eltávolításakor, vagy eltávolította azt a kernelt, amelyet nem kellett volna, akkor a rendszer olyan állapotba kerül, amellyel nem tud dolgozni.
Egy használaton kívüli kernel eltávolítása után ilyen üzenetet kaphat.
- A /vmlinuz hivatkozás sérült.
- Szimbolikus link eltávolítása vmlinuz.
- Lehetséges, hogy újra kell futtatnia a rendszertöltőt [grub].
- Az /initrd.img hivatkozás sérült.
- Szimbolikus hivatkozás eltávolítása initrd.img .
- Lehetséges, hogy újra kell futtatnia a rendszertöltőt [grub].
Ez normális, és nem kell aggódnia. Csak frissítse a GRUB-ot a következő paranccsal.
/usr/sbin/update-grub
Lehetséges, hogy frissítenie kell az /etc/kernel-img.conf fájlt, és le kell tiltania a 'do_symlinks' funkciót az üzenetek letiltásához. Ha sikerül újraindítani és újra bejelentkezni, nincs probléma.
Ez minden most. Ismét itt leszek egy újabb érdekes cikkel. Addig is maradjon velünk, és csatlakozzon a Tecminthoz. Ne felejtse el megadni nekünk értékes visszajelzését az alábbi megjegyzés részben. Mondja el nekünk tapasztalatait is, amikor kernel fordításával és telepítésével találkozik.
Olvassa el még:
- Telepítse a Kernel 3.16-ot az Ubuntuban
- Fordítsa le és telepítse a Kernel 3.12-t Debian Linux rendszeren