navody:prirucka:jadro

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
navody:prirucka:jadro [2008/04/16 22:04] mackynavody:prirucka:jadro [2022/11/14 12:26] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 1: Řádek 1:
 [[obsah|Hlavní stránka]] [[obsah|Hlavní stránka]]
- 
  
 ===== Jádro ===== ===== Jádro =====
  
-{{:navody:48x48:categories:applications-system.png }}První linuxové jádro spatřilo světlo světa v roce 1991. Mezitím uplynulo šestnáct let - jádro dospělo do verze 2.a skládá se z více než 4.5 miliónů řádků (je napsáno převážně v jazyce //C// a část pak v assembleru). Ačkoliv se dnes pod pojmem //Linux// rozumí některá z distribucí, správně bychom tímto pojmem měli označovat právě jádro, které je základním kamenem každé distribuce.\\+{{:navody:48x48:categories:applications-system.png?48 }}První linuxové jádro spatřilo světlo světa v roce 1991. Mezitím uplynulo více než dvacet let - jádro dospělo do verze 4.a skládá se z více než 15 miliónů řádků (je napsáno převážně v jazyce //C// a část pak v assembleru). Ačkoliv se dnes pod pojmem //Linux// rozumí některá z distribucí, správně bychom tímto pojmem měli označovat právě jádro, které je základním kamenem každé distribuce.\\
  
 Jádro zajišťuje komunikaci mezi aplikacemi a hardwarem. Aplikace komunikují s hardwarem nepřímo přes tzv. soubory zařízení, do / ze kterých zapisují / načítají data. Komunikaci mezi soubory zařízení a hardwarem pak obstarávají tzv. ovladače zařízení.\\ Jádro zajišťuje komunikaci mezi aplikacemi a hardwarem. Aplikace komunikují s hardwarem nepřímo přes tzv. soubory zařízení, do / ze kterých zapisují / načítají data. Komunikaci mezi soubory zařízení a hardwarem pak obstarávají tzv. ovladače zařízení.\\
Řádek 12: Řádek 11:
 ====Značení jádra==== ====Značení jádra====
  
-Aktuální verze stabilního jádra v době psaní tohoto článku (září 2007) byla 2.6.23.1. Každá z částí číselného označení jádra má svůj význam.\\ +Aktuální verze stabilního jádra v době poslední aktualizace tohoto článku (duben 2015) byla 4.0.0.1. Každá z částí číselného označení jádra má svůj význam.\\ 
-Číslo je tzv. hlavní verze jádra a mění opravdu vyjímečně - jádro 2.0 bylo vydáno v roce 1996.\\ +Číslo je tzv. hlavní verze jádra a mění se jednou za pár let - jádro 3.0 bylo vydáno v roce 2012.\\ 
-Číslo 6 označuje tzv. vedlejší verzi jádra a mění se jednou za několik roků. Souběžně existují vždy tzv. stabilní jádrokteré má sudé číslo verze (aktuálně 2.6), a tzv. vývojové jádro, které má číslo liché (aktuálně 2.7). Stabilní jádro je určeno běžným uživatelům a těm, pro které je spolehlivost jádra rozhodující. V rámci vývojového jádra je pak testována implementace nových vlastností jádra. Jsou-li na vývojovém jádře odstraněny všechny nedostatky, je prohlášeno za stabilní a čísla obou verzí se zvýší o jedna.\\ +První nula označuje tzv. vedlejší verzi jádra a mění se zhruba každé tři měsícekdy vychází nová verze jádraKaždé čtvrté vydání je prohlášeno za vydání s prodlouženou podporou.\\ 
-Číslo 23.1 označuje tzv. patch level. Pomocí patche, které jsou vydávány v řádu měsíců, lze provádět opravy / úpravy stávajícího jádra včetně přidání nových ovladačů. Aplikací patche tak lze provést aktualizaci jádra.\\ +Další nula označuje tzv. patch level - opravnou verzi. Pomocí patche, které jsou vydávány v řádu týdnů, lze provádět opravy. Aplikací patche tak lze provést aktualizací jádra.\\ 
-Jestliže na Vašem systému zadáte příkaz ''uname -r'' získáte výstup ve tvaru ''2.6.23.1-49.fc8''. "Číslíček" je tedy poněkud více. Vedle patch levelu, vedlejší a hlavní verze jádra figuruje ve výpisu také číslo 49. To značí verzi patch levelu pro potřeby projektu //Fedora//. Označení ''fc8'' pak znamená, že se jedná o jádro určené pro //Fedoru 8//.\\+Jestliže na Vašem systému zadáte příkaz ''uname -r'' získáte výstup ve tvaru ''4.0.0-1.fc22''. "Číslíček" je tedy poněkud více. Vedle patch levelu, vedlejší a hlavní verze jádra figuruje ve výpisu také číslo 1. To značí verzi patch levelu pro potřeby projektu //Fedora//. Označení ''fc22'' pak znamená, že se jedná o jádro určené pro //Fedoru 22//.\\
  
 ==== Přidání ovladače ==== ==== Přidání ovladače ====
Řádek 73: Řádek 72:
   * Přečtěte si kapitolu [[obecne_poznamky|Obecné poznámky]].   * Přečtěte si kapitolu [[obecne_poznamky|Obecné poznámky]].
  
-**Poznámka:** Níže popsaný postup je aplikovatelný na tzv. vanila jádro. //Fedora// však používá jádro modifikované - proto by aplikace patchů níže popsaným způsobem pravděpodobně měla za následek nefunkčnost systému. Jednodušší (a v drtivé většině případů naprosto dostačující) je provést aktualizaci jádra pomocí příkazu ''yum -y update kernel''((Příkaz musí být spouštěn z účtu superuživatele.)). Nic Vám však nebrání si stáhnout stáhnout vanila jádro z [[http://www.kernel.org]], na něj aplikovat patche a následně jádro přeložit (viz. dále).\\ +**Poznámka:** Níže popsaný postup je aplikovatelný na tzv. vanila jádro. //Fedora// však používá jádro modifikované - proto by aplikace patchů níže popsaným způsobem pravděpodobně měla za následek nefunkčnost systému. Jednodušší (a v drtivé většině případů naprosto dostačující) je provést aktualizaci jádra pomocí příkazu ''dnf -y update kernel''((Příkaz musí být spouštěn z účtu superuživatele.)). Nic Vám však nebrání si stáhnout stáhnout vanila jádro z [[http://www.kernel.org]], na něj aplikovat patche a následně jádro přeložit (viz. dále).\\ 
  
 Patch je aktualizací jádra, která může mimojiné obsahovat také nové ovladače. Instalaci patche lze provést pomocí příkazu Patch je aktualizací jádra, která může mimojiné obsahovat také nové ovladače. Instalaci patche lze provést pomocí příkazu
Řádek 94: Řádek 93:
 Pokud chcete provádět překlad jádra, musíte mít k dispozici zdrojové kódy jádra a nástroje potřebné pro samotný překlad((Vedle pojmu "překlad" se také v této souvislosti můžete setkat s pojmem "kompilace" - jedná se ekvivalenty.)). Pokud chcete provádět překlad jádra, musíte mít k dispozici zdrojové kódy jádra a nástroje potřebné pro samotný překlad((Vedle pojmu "překlad" se také v této souvislosti můžete setkat s pojmem "kompilace" - jedná se ekvivalenty.)).
 \\ \\
-=== Nástroje pro překlad jádra === +=== Nástroje a knihovny pro překlad jádra ===
- +
-Nástroje potřebné pro překlad jádra jsou obsaženy v balíčku vývojových nástrojů. Tento balíček nainstalujete pomocí+
  
-  yum -y groupinstall "Development Tools"+Nástroje potřebné pro překlad jádra jsou obsaženy v balíčku vývojových nástrojů. 
  
-=== Knihovny pro překlad jádra ===+Pro překlad jádra a dalších programů ze zdrojových kódů budete potřebova i knihovny různých součástí systému.
  
-Pro překlad jádra a dalších programů ze zdrojových kódů budete potřebova i knihovny různých součástí systému. Ty nainstalujete příkazem+Tuto skupinu nainstalujete pomocí
  
-  yum -y groupinstall "Development Libraries"+  dnf -y groupinstall c-development
  
 === Zdrojové kódy jádra === === Zdrojové kódy jádra ===
Řádek 115: Řádek 112:
 Nejprve nainstalujte balíček ''rpm-build''. Tento balíček obsahuje skripty a programy, které se používají pro tvorbu balíčků. Nejprve nainstalujte balíček ''rpm-build''. Tento balíček obsahuje skripty a programy, které se používají pro tvorbu balíčků.
  
-  yum -y install rpm-build+  dnf -y install rpm-build
  
 Proveďte aktualizaci jádra Vašeho systému. Proveďte aktualizaci jádra Vašeho systému.
  
-  yum -y update kernel+  dnf -y update kernel
  
 Restartujte počítač, abyste "natáhli" nové jádro. Po té vytvořte adresář ''/opt/kernel'' a nastavte ho jako pracovní. Restartujte počítač, abyste "natáhli" nové jádro. Po té vytvořte adresář ''/opt/kernel'' a nastavte ho jako pracovní.
Řádek 128: Řádek 125:
 Do adresáře ''/opt/kernel'' stáhněte soubor ''kernel-verze_jadra.src.rpm'', který obsahuje zdrojové kódy. Do adresáře ''/opt/kernel'' stáhněte soubor ''kernel-verze_jadra.src.rpm'', který obsahuje zdrojové kódy.
  
-  yum install yum-utils+  dnf install yum-utils
   yumdownloader --source kernel --enablerepo updates-source   yumdownloader --source kernel --enablerepo updates-source
  
Řádek 194: Řádek 191:
 Nastavení jádra pomocí ''config'' je téměř nadlidský úkol - k jednotlivým otázkám se není možné vracet a každá chyba tak znamená, že je třeba celé martýrium opakovat od začátku. Navíc není možné odpovědět pouze na část otázek, odpovědi uložit a pokračovat později. Z tohoto důvodu je vhodnější použít grafické nádstavby ''menuconfig'' nebo ''gconfig''. Nastavení jádra pomocí ''config'' je téměř nadlidský úkol - k jednotlivým otázkám se není možné vracet a každá chyba tak znamená, že je třeba celé martýrium opakovat od začátku. Navíc není možné odpovědět pouze na část otázek, odpovědi uložit a pokračovat později. Z tohoto důvodu je vhodnější použít grafické nádstavby ''menuconfig'' nebo ''gconfig''.
  
-Výše zmiňovanou volbu ''menuconfig'' je možné použít i textovém režimu. Je třeba pouze nainstalovat knihovnu //ncurses-devel// pomocí příkazu ''yum -y install ncurses-devel''. Rozhraní pro konfiguraci jádra se pak spouští z adresáře ''/usr/src/kernels/verze_jadra'' pomocí+Výše zmiňovanou volbu ''menuconfig'' je možné použít i textovém režimu. Je třeba pouze nainstalovat knihovnu //ncurses-devel// pomocí příkazu ''dnf -y install ncurses-devel''. Rozhraní pro konfiguraci jádra se pak spouští z adresáře ''/usr/src/kernels/verze_jadra'' pomocí
  
   make menuconfig   make menuconfig
Řádek 200: Řádek 197:
 {{ navody:f8menu_config.png | menuconfig }} {{ navody:f8menu_config.png | menuconfig }}
  
-Chcete-li namísto ''menuconfig'' používat ''gconfig'', je třeba nainstalovat balík //Gnome Software Development// pomocí ''yum -y groupinstall "Gnome Software Development"''. Rozhraní pro konfiguraci jádra se pak opět spouští z adresáře ''/usr/src/kernels/verze_jadra'' tentokrát však pomocí+Chcete-li namísto ''menuconfig'' používat ''gconfig'', je třeba nainstalovat balík //Gnome Software Development// pomocí ''dnf -y groupinstall "Gnome Software Development"''. Rozhraní pro konfiguraci jádra se pak opět spouští z adresáře ''/usr/src/kernels/verze_jadra'' tentokrát však pomocí
  
   make gconfig   make gconfig
Řádek 215: Řádek 212:
  
 Zpracování těchto příkazů může trvat několik desítek minut až hodin v závislosti na konfiguraci Vašeho počítače.\\ Zpracování těchto příkazů může trvat několik desítek minut až hodin v závislosti na konfiguraci Vašeho počítače.\\
-Zkopírujte soubor ''/usr/src/kernels/verze_jadra/arch/i386/boot/bzImage'' do souboru ''/boot/vmlinuz'' a soubor ''/usr/src/kernels/verze_jadra/arch/i386/boot/System.map'' do souboru ''/boot/System.map''.+Zkopírujte soubor ''/usr/src/kernels/verze_jadra/arch/i386/boot/bzImage'' do souboru ''/boot/vmlinuz''.
  
   cp /usr/src/kernels/verze_jadra/arch/i386/boot/bzImage boot/vmlinuz   cp /usr/src/kernels/verze_jadra/arch/i386/boot/bzImage boot/vmlinuz
-  cp /usr/src/kernels/verze_jadra/arch/i386/boot/System.map /boot/System.map 
  
-Posledním krokem je úprava zavaděče //GRUB//, kam je zapotřebí přidat záznam pro Vaše nové jádro. Předpokládejme, že se adresář ''/boot'' nachází na disku ''sda1''. Otevřete konfigurační soubor ''menu.lst'' zavaděče //GRUB// v textovém editoru+Posledním krokem je úprava zavaděče //GRUB//, kam je zapotřebí přidat záznam pro Vaše nové jádro. Předpokládejme, že se adresář ''/boot'' nachází na disku ''sda1''. Otevřete konfigurační soubor ''grub.conf'' zavaděče //GRUB// v textovém editoru
  
-  gedit /boot/grub/menu.lst+  gedit /boot/grub/grub.conf
  
 a přidejte na jeho konec řádky a přidejte na jeho konec řádky
  
-  title Kernel verze_jadra+  title Kernel nazev_vaseho_jadra
  root (hd0,0)  root (hd0,0)
  kernel /boot/vmlinuz ro root=LABEL=/ rhgb quiet  kernel /boot/vmlinuz ro root=LABEL=/ rhgb quiet
Řádek 232: Řádek 228:
 Po restartování počítače by se v nabídce zavaděče //GRUB// měl objevit řádek, který reprezentuje Vámi přeložené jádro.  Po restartování počítače by se v nabídce zavaděče //GRUB// měl objevit řádek, který reprezentuje Vámi přeložené jádro. 
  
-===== =====+----
 [[obsah|Hlavní stránka]] [[obsah|Hlavní stránka]]
  • Poslední úprava: 2022/11/14 11:12
  • (upraveno mimo DokuWiki)