Vyhledávání na webu

Vydáno jádro 3.16 – zkompilujte a nainstalujte na Debian GNU/Linux


Jádro je jádrem každého operačního systému. Primární funkcí jádra je fungovat jako prostředník mezi aplikací – CPU, aplikací – pamětí a aplikací – zařízení (I/O). Funguje jako správce paměti, správce zařízení a kromě provádění jiných úkolů se účastní systémových hovorů.

Pro Linux je jádro jeho srdcem. Linuxové jádro je vydáno pod GNU General Public License. Linus Torvalds vyvinul Linuxové jádro v roce 1991 a přišel s Initial Kernel Release Version 0.01. 3. srpna 2014 (letos) bylo vydáno kernel 3.16. Za těchto 22 let prošlo jádro Linuxu velkým vývojem. Nyní existují tisíce společností, miliony nezávislých vývojářů přispívajících k jádru Linuxu.

Hrubý odhad velkých značek a jejich přínosu k současnému jádru Linuxu, u kterého se očekává, že bude mít 17 milionů řádků kódu podle 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. Systémy pro gravírování zraku – 2,3 %
  10. Wolfson Microelectronics – 1,6 %
  11. Oracle – 1,3 %
  12. Broadcom – 1,3 %
  13. Nvidia – 1,3 %
  14. Freescale – 1,2 %
  15. Technologie Ingics – 1,2 %
  16. Cisco – 0,9 %
  17. Linux Foundation – 0,9 %
  18. AMD – 0,9 %
  19. Akademici – 0,9 %
  20. NetAPP – 0,8 %
  21. Fujitsu – 0,7 %
  22. paralely – 0,7 %
  23. ARM – 0,7 %

Sedmdesát procent vývoje jádra dělají vývojáři, kteří pracují v korporacích a jsou za to placeni, zní to zajímavě?

Linux Kernel 3.16 je vydán pro jednotlivce i společnosti v produkčním prostředí, které budou aktualizovat své jádro z mnoha důvodů, z nichž některé zahrnují.

  1. Bezpečnostní záplaty
  2. Vylepšení stability
  3. Aktualizované ovladače – lepší podpora zařízení
  4. Zlepšení rychlosti zpracování
  5. Nejnovější funkce atd

Tento článek si klade za cíl aktualizovat jádro Debianu způsobem Debian, což znamená méně ruční práce, menší riziko, ale přesto dokonalé. V pozdější části tohoto článku budeme také aktualizovat jádro Ubuntu.

Krok 1: Stažení jádra 3.16

Než budeme pokračovat, musíme vědět o našem aktuálním jádře, které je nainstalováno.

avi@tecmint:~$ uname -mrns 

Linux tecmint 3.14-1-amd64 x86_64

O možnostech:

  1. -s : Tiskový operační systém (‚Linux‘, zde).
  2. -n : Tisk názvu hostitele systému („tecmint“, zde).
  3. -r : Verze tiskového jádra (‚tecmint 3.14-1-amd64‘, zde).
  4. -m : Instrukční sada pro tisk hardwaru (‚x86_64‘, zde).

Stáhněte si nejnovější stabilní jádro z níže uvedeného odkazu. Nenechte se zmást odkazem na stažení oprav. Stáhněte si ten, který jasně uvádí – „LATEST STABLE KERNEL“.

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

Případně můžete použít wget ke stažení jádra, což je pohodlnější.

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

Krok 2: Ověřte podpis jádra 3.16

Po dokončení stahování a než budeme pokračovat, důrazně doporučujeme ověřit podpis jádra.

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

Ověření podpisu je třeba provést proti nekomprimovanému souboru. To vyžaduje jeden podpis proti různým kompresním formátům, např. .gz, .bz2, .xz.

Dále dekomprimujte Linux Kernel Image.

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

Ověřte to podle podpisu.

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

Poznámka: Pokud výše uvedený příkaz vyvolá gpg: Nelze zkontrolovat podpis: chyba nenalezen veřejný klíč. To znamená, že musíme veřejný klíč stáhnout ručně ze serveru PGP.

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

Po stažení klíče klíč znovu ověřte.

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

Všimli jste si dvou věcí o ověřování klíče gpg.

  1. gpg: Dobrý podpis od „Linus Torvalds <[email >“.
  2. Otisk primárního klíče: ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 0041 1886 .

Otisku klíče se nemusíte bát, nyní jsme si jisti, že archiv je v pořádku a podepsaný. Pojďme dál!

Krok 3: Instalace požadovaných balíčků

Než se pustíme do budování jádra, musíme nainstalovat určité balíčky, abychom usnadnili proces budování jádra a instalace a provedli to bezrizikovým způsobem Debian.

Nainstalujte libcurse5-dev, fakeroot a 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

Krok 4: Sestavení jádra 3.16

Po úspěšné instalaci výše uvedených balíčků jsme připraveni sestavit jádro. Přejděte do extrahovaného obrazu jádra Linuxu (rozbalili jsme výše při ověřování podpisu).

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

Nyní je důležité zkopírovat aktuální konfiguraci jádra a představit pracovní adresář jako uživatel root.

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

Zkopíruje /boot/config-'uname -r' do pracovního adresáře „/home/avi/Downloads/linux-3.16“ a uloží jej jako „.config'.

Zde bude „uname -r“ automaticky nahrazeno a zpracováno vaší aktuálně nainstalovanou verzí jádra.

Vzhledem k tomu, že soubor s tečkami nelze zobrazit normálním způsobem, musíte použít volbu „-a“ s ls, abyste jej zobrazili ve vašem současném pracovním adresáři.

ls -al

Linuxové jádro lze sestavit třemi způsoby.

  1. make oldconfig : Jedná se o interaktivní způsob, kterým se jádro jednu po druhé ptá, co by mělo podporovat a co ne. Je to velmi časově náročný Proces.
  2. make menuconfig : Je to systém založený na nabídce příkazového řádku, kde uživatel může povolit a zakázat volbu. Vyžaduje knihovnu ncurses, proto jsme Apt to výše.
  3. make qconfig/xconfig/gconfig : Je to systém založený na grafické nabídce, kde uživatel může povolit a zakázat volbu. Vyžaduje knihovnu QT.

Samozřejmě budeme používat „make menuconfig“.

Bojíte se stavby jádra? Neměli byste být. Je to zábava, je tam spousta věcí, které se naučíte. Měli byste mít na paměti následující věci.

  1. Potřeby vašeho hardwaru a vhodné ovladače.
  2. Vybírejte si nové funkce při vytváření jádra sami, jako je podpora vysoké paměti.
  3. Optimalizovat jádro – vyberte pouze ty ovladače, které potřebujete. Urychlí to proces spouštění. Pokud si nejste jisti žádným ovladačem, raději jej zahrňte.

Nyní spusťte příkaz „make menuconfig“.

make menuconfig

Důležité: Musíte zvolit „VYBRAT – POVOLIT PODPORU NAČÍTACÍHO MODULU“, pokud to zapomenete udělat, zažijete těžké časy .

Poznámka: V otevřených konfiguračních oknech můžete nakonfigurovat různé možnosti pro síťovou kartu, bluetooth, touchpad, grafickou kartu, podporu souborového systému, jako je NTFS a mnoho dalších možností.

Neexistuje žádný návod, který by vás navedl, co byste měli vybrat a co ne. Dozvíte se to pouze výzkumem, studiem věcí přes web, učením se z tutoriálů tecmintu a všemi dalšími možnými způsoby.

Můžete vidět, že existuje možnost hacking jádra. hackování? Ano! Zde to znamená průzkum. Pod hacking jádra můžete přidat různé možnosti a využít spoustu funkcí.

Dále vyberte Obecné možnosti ovladače.

Podpora síťových zařízení.

Podpora vstupních zařízení.

Načtěte konfigurační soubor (.config), který jsme uložili z /boot/config-`uname –r`.config.

Klikněte na OK, uložte a ukončete. Nyní vyčistěte zdrojový strom a resetujte parametry kernel-package.

make-kpkg clean

Krok 5: Kompilace jádra 3.16

Než začneme kompilovat jádro, musíme exportovat CONCURRENCY_LEVEL. ÚROVEŇ KONCURENCE má pravidlo pro přidání číselné 1 k jádrům jádra. Pokud máte 2 jádra, exportujte CONCURRENCY_LEVEL=3. Pokud máte 4 jádra, exportujte CONCURRENCY_LEVEL=5.

Pro kontrolu jader procesoru můžete použít příkaz cat, jak je uvedeno níže.

cat /proc/cpuinfo
Ukázkový výstup
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

Výše vidíte výstup, mám 2 jádra, takže exportujeme 3 jádra, jak je uvedeno níže.

export CONCURRENCY_LEVEL=3

Nastavení správné CONCURRENCY_LEVEL urychlí dobu kompilace jádra.

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

Zde je „tecminkernel“ název sestavení jádra, může to být cokoliv, od vašeho jména, vašeho hostitelského jména, vašeho mazlíčka nebo čehokoli jiného.

Kompilace jádra zabere hodně času v závislosti na kompilovaných modulech a výpočetním výkonu stroje. Do doby kompilace se podívejte na některé z často kladených otázek o kompilaci jádra.

Často kladené otázky

Q1. Moje jádro se kompiluje dlouho. Je to normální?
Q2. Pokud přeruším jádro během jeho kompilace, musím začít znovu?
Q3. Kompilované soubory lze použít na jiném systému k aktualizaci jádra?
Q4. Budete hostovat svůj zkompilovaný soubor?
Q5. Mám ve svém úložišti balíčky jako fakeroot a ncurses5-dev?
Q6. Budu moci nabootovat do posledního jádra po instalaci nejnovějšího jádra.
Q7. Mám problém s aktualizací jádra. pomůžeš mi? Je to zpoplatněné?
Q8. Moje společnost čelí problému s aktualizací jádra. Pomůže nám váš tým? Je to zpoplatněné?

To je konec FAQ, dovolte mi přejít s procesem kompilace. Po úspěšné kompilaci jádra vytvoří dva soubory (balíček Debian), jeden adresář „nad“ naším současným pracovním adresářem.

Náš aktuální pracovní adresář je.

/home/avi/Downloads/linux-3.16/

Balíčky Debianu jsou vytvořeny na.

/home/avi/Downloads

Chcete-li to ověřit, spusťte následující příkazy.

cd ..
ls -l linux-*.deb

Dále spusťte takto vytvořený soubor obrazu Linuxu.

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

Spusťte takto vytvořený hlavičkový soubor Linuxu.

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

Vše hotovo! Úspěšně jsme sestavili, zkompilovali a nainstalovali nejnovější Linuxové jádro 3.16 na Debian se všemi ostatními závislostmi. Balíček Debian navíc dokázal automaticky aktualizovat bootloader (GRUB/LILO). Je čas restartovat a otestovat nejnovější jádro.

Všimněte si prosím jakékoli chybové zprávy, která se může zobrazit během spouštění. Je důležité porozumět této chybě, abyste je mohli vyřešit, pokud existuje.

reboot

Jakmile se Debian znovu spustí, klikněte na ‚Pokročilá možnost‘ a zobrazí se seznam dostupných a nainstalovaných jader.

Podívejte se na seznam nainstalovaných jader.

Pro spuštění vyberte nejnovější zkompilované jádro (tj. 3.16).

Zkontrolujte verzi jádra.

uname -mrns

Nejnovější, nyní nainstalovaný, je nastaven na automatické spouštění a nemusíte jej pokaždé vybírat z pokročilých možností spouštění.

Krok 6: Nainstalujte předkompilované jádro 3.16

Pro ty, kteří si nechtějí kompilovat vlastní jádro na Debianu (x86_64) a chtějí použít předkompilované jádro, které jsme vytvořili v tomto tutoriálu, si ho mohou stáhnout z níže uvedeného odkazu. Toto jádro nemusí fungovat pro některý hardware, který máte.

  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

Dále nainstalujte předkompilované jádro pomocí následujícího příkazu.

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

Nepoužívané jádro lze ze systému odstranit pomocí příkazu.

apt-get remove linux-image-(unused_version_number)

Upozornění: Po důkladném otestování nejnovějšího jádra byste měli odstranit staré jádro. Nedělejte rozhodnutí ve spěchu. Měli byste pokračovat, pouze pokud víte, co děláte.

Pokud jste udělali něco špatně při odebrání jádra, které chcete, nebo jste odstranili jádro, které jste neměli, váš systém bude ve fázi, na které nemůžete pracovat.

Po odinstalování nepoužívaného jádra se může zobrazit zpráva jako.

  1. Odkaz /vmlinuz je poškozený odkaz.
  2. Odstranění symbolického odkazu vmlinuz.
  3. Možná budete muset znovu spustit zavaděč[grub].
  4. Odkaz /initrd.img je poškozený odkaz.
  5. Odstranění symbolického odkazu initrd.img .
  6. Možná budete muset znovu spustit zavaděč[grub].

To je normální a nemusíte si dělat starosti. Stačí aktualizovat svůj GRUB pomocí následujícího příkazu.

/usr/sbin/update-grub

Možná budete muset aktualizovat svůj soubor /etc/kernel-img.conf a zakázat „do_symlinks“, abyste tyto zprávy zakázali. Pokud jste schopni restartovat a znovu se přihlásit, není problém.

To je prozatím vše. Budu tu zase s dalším zajímavým článkem. Do té doby zůstaňte naladěni a připojeni k Tecmint. Nezapomeňte nám poskytnout svou cennou zpětnou vazbu v sekci komentářů níže. Sdělte nám také své zkušenosti, když narazíte na kompilaci a instalaci jádra.

Přečtěte si také:

  1. Nainstalujte jádro 3.16 v Ubuntu
  2. Zkompilujte a nainstalujte jádro 3.12 v Debian Linuxu