Translations:Handbook:AMD64/Installation/Kernel/2/cs

From Gentoo Wiki
Jump to:navigation Jump to:search
Parts Handbook
Instalace
O instalaci
Výběr média
Konfigurace sítě
Příprava disků
Instalace stage3
Instalace základního systému
Konfigurace jádra
Konfigurace systému
Instalace nástrojů
Konfigurace zavaděče
Dokončení
Práce s Gentoo
Úvod do Portage
Přepínače USE
Funkce portage
Systém initskriptů
Proměnné prostředí
Práce s Portage
Soubory a adresáře
Proměnné
Mísení softwarových větví
Doplňkové nástroje
Vlastní strom Portage
Pokročilé funkce
Konfigurace sítě
Začínáme
Pokročilá konfigurace
Modulární síťování
Bezdrátové sítě
Přidání funkcí
Dynamická správa


Instalace zdrojových kódů

Základ, kolem něhož jsou vybudovány všechny distribuce, je jádro Linux. Je to vrstva mezi uživatelskými programy a systémovým hardwarem. Gentoo nabízí svým uživatelům několik možný zdrojů jádra. Celý seznam s popisem je dostupný na stránce Přehled jader.

Pro systémy založené na Gentoo doporučuje balíček sys-kernel/.

Vyberte vhodné jádro a nainstalujte je pomocí emerge:

root #emerge --ask sys-kernel/

Tím nainstalujete zdrojové kódy jádra do /usr/src, v němž bude symbolický odkaz linux ukazovat na nainstalované zdrojové kódy jádra:

root #ls -l /usr/src/linux
lrwxrwxrwx    1 root   root    12 Oct 13 11:04 /usr/src/linux -> linux-

Nyní je čas nakonfigurovat a sestavit jádro. K tomu lze přistoupit dvěma způsoby:

  1. Jádro se konfiguruje a sestaví ručně.
  2. K automatickému sestavení a instalaci jádra Linux se použije nástroj zvaný genkernel.

Ruční konfiguraci vysvětlíme jako výchozí volbu, protože se jedná a nejlepší cestu jak vyladit prostředí

Výchozí: Ruční konfigurace

Úvod

Ruční konfigurace jádra je často vnímána na jako ta vůbec nejsložitější procedura, kterou musí uživatel Linuxu provádět. Nic není dál od pravdy - po konfiguraci několika jader si málokdo vzpomene, že to kdy bylo složité ;)

Nicméně jedno je pravdou: při manuální konfiguraci je nutné znát systém. Většinu informací získáte nainstalováním balíčku sys-apps/pciutils, který obsahuje příkaz lspci:

root #emerge --ask sys-apps/pciutils
Note
Uvnitř chrootu můžete bezpečně ignorovat varování pcilib (jako je "pcilib cannot open /sys/bus/pci/devices"), které může lspci vypisovat.

Dalším zdrojem informací o systému je spuštění lsmod, po němž uvidíte jaké moduly jádra používá instalační CD, čímž můžete získat indicii o tom, co povolit.

Nyní přejděte do adresáře se zdrojovým kódem jádra a spusťte příkaz make menuconfig. Po něm na vás vyskočí obrazovka s konfiguračním menu.

root #cd /usr/src/linux
root #make menuconfig

Konfigurace jádra Linux má mnoho a mnoho sekcí. Nejprve si vypišme ty volby, které musejí být aktivovány (jinak by Gentoo nefungovalo nebo nefungovalo správně bez dodatečného poladění). Na Gentoo wiki máme k dispozici také Průvodce Gentoo nastavením jádra, který vám může poskytnout další pomoc.

Aktivace vyžadovaných voleb

If you are using sys-kernel/gentoo-sources, we strongly recommend you enable the Gentoo-specific configuration options. These ensure that a minimum of kernel features required for proper functioning is available:

KERNEL Enabling Gentoo-specific options
Gentoo Linux --->
  Generic Driver Options --->
    [*] Gentoo Linux support
    [*]   Linux dynamic and persistent device naming (userspace devfs) support
    [*]   Select options required by Portage features
        Support for init systems, system and service managers  --->
          [*] OpenRC, runit and other script based systems and managers
          [*] systemd

Naturally your choice in the last two lines depends on your choice of init system (OpenRC vs. Systemd).

If you are using sys-kernel/vanilla-sources, you will have to find the required options on your own.

Zajistěte, že všechny ovladače nezbytné pro zavedení systému (jako je řadič SCSI atd.) jsou sestaveny jako součást jádra a ne jako modul, jinak systém nebude schopen plně najet.

Potom zvolte přesný model procesoru. Doporučuje se zapnout prvky MCE (pokud jsou v nabídce), tak aby byl uživatel upozorněn na chyby hardwaru. Na některých architekturách (jako je x86_64) tyto chyby nejsou zapisovány do dmesg ale /dev/mcelog. To vyžaduje balíček app-admin/mcelog.

Zvolte také "Maintain a devtmpfs file system to mount at /dev", aby byly kritické soubory zařízení dostupné už zkraje procesu zavádění (CONFIG_DEVTMPFS a CONFIG_DEVTMPFS_MOUNT):

KERNEL Zapnutí podpory devtmpfs
Device Drivers --->
  Generic Driver Options --->
    [*] Maintain a devtmpfs filesystem to mount at /dev
    [ ]   Automount devtmpfs at /dev, after the kernel mounted the rootfs

Ověřte, že byla aktivována podpora pro SCSI diky (CONFIG_BLK_DEV_SD):

KERNEL Enabling SCSI disk support
Device Drivers --->
   SCSI device support  --->
      <*> SCSI disk support

Nyní přejděte na Souborové systémy (File Systems) a vyberte podporu pro soubory systémy, které používáte. Nesestavte souborový systém použitý pro kořen (root) jako modul, jinak Gentoo nebude moci připojit tento diskový oddíl. Vyberte také Virtual memory a /proc file system. Vyberte jednu nebo více z násedujících možností dle potřeb systému (CONFIG_EXT2_FS, CONFIG_EXT3_FS, CONFIG_EXT4_FS, CONFIG_MSDOS_FS, CONFIG_VFAT_FS, CONFIG_PROC_FS, and CONFIG_TMPFS):

KERNEL Selecting necessary file systems
File systems --->
  <*> Second extended fs support
  <*> The Extended 3 (ext3) filesystem
  <*> The Extended 4 (ext4) filesystem
  <*> Reiserfs support
  <*> JFS filesystem support
  <*> XFS filesystem support
  <*> Btrfs filesystem support
  DOS/FAT/NT Filesystems  --->
    <*> MSDOS fs support
    <*> VFAT (Windows-95) fs support
 
Pseudo Filesystems --->
    [*] /proc file system support
    [*] Tmpfs virtual memory file system support (former shm fs)

Pokud používáte pro připojení k internetu PPPoE nebo modem, aktivujte následující volby (CONFIG_PPP, CONFIG_PPP_ASYNC, and CONFIG_PPP_SYNC_TTY):

KERNEL Selecting PPPoE necessary drivers
Device Drivers --->
  Network device support --->
    <*> PPP (point-to-point protocol) support
    <*>   PPP support for async serial ports
    <*>   PPP support for sync tty ports

Zvolení dvou možností komprese nijak neublíží, ale ani není nezbytně nutné, stejně jako volba "PPP over Ethernet", kterou ppp použije pouze v případě, že bude nastaveno pro použití PPPoE v módu jádra.

Nezapomeňte do jádra zahrnout podporu síťových (ethernetových nebo bezdrátových) karet.

Většina systémů má k dispozici více jader, proto je důležité aktivovat Symmetric multi-processing support (CONFIG_SMP):

KERNEL Activating SMP support
Processor type and features  --->
  [*] Symmetric multi-processing support
Note
U vícejaderných systémů se každé jádro počítá jako jeden procesor.

Pokud používáte vstupní zařízení USB (jako je klávesnice nebo myš) nebo jiná USB zařízení, nezapomeňte je také povolit (CONFIG_HID_GENERIC and CONFIG_USB_HID, CONFIG_USB_SUPPORT, CONFIG_USB_XHCI_HCD, CONFIG_USB_EHCI_HCD, CONFIG_USB_OHCI_HCD):

KERNEL Activating USB support for input devices
Device Drivers --->
  HID support  --->
    -*- HID bus support
    <*>   Generic HID driver
    [*]   Battery level reporting for HID devices
      USB HID support  --->
        <*> USB HID transport layer
  [*] USB support  --->
    <*>     xHCI HCD (USB 3.0) support
    <*>     EHCI HCD (USB 2.0) support
    <*>     OHCI HCD (USB 1.1) support

Volitelné: Sestavení initramfs

V některých případech je nutné sestavit initramfs - počáteční souborový systém v RAM. Nejběžnějším důvodem je, pokud se důležité souborové systémy (jako je /usr nebo /var) nacházejí na samostatném diskovém oddíle. S pomocí initramfs mohou být tyto oddíly připojeny za použití nástrojů v něm obsažených.

Bez initramfs je velké riziko toho, že systém správně nenajede protože nástroje, které jsou odpovědné za připojení těchto souborových systémů, potřebují informace, které jsou na nich uložené. Initramfs vloží tyto nezbytné soubory do archivu, který se použije bezprostředně po zavedení jádra, ale předtím než bude kontrola předána nástroji init. Skripty v initramfs potom zajistí správné připojení diskových oddílů před tím, než bude systém pokračovat ve spouštění.

Important
It is recommended to use genkernel for both, building kernel and initramfs. If you decide to use genkernel only for generating initramfs it is crucial to pass --kernel-config=/path/to/kernel.config to genkernel or generated initramfs may not work with your manually built kernel.

K instalaci initramfs nejprve nainstalujte sys-kernel/genkernel a pak jej nechte generovat initramfs:

root #emerge --ask sys-kernel/genkernel
root #genkernel --install initramfs

Pro zapnutí podpory určitých prvků, jako je LVM nebo RAID, přidejte odpovídající volby genkernel. Pro více informací se podívejte na genkernel --help. V následujícím příkladu zapneme podporu pro LVM a softwarový RAID (mdadm):

root #genkernel --lvm --mdadm --install initramfs

Initramfs bude uložen v boot. Výsledný soubor může být najít jednoduše vypsáním souborů začínajících na "initramfs":

root #ls /boot/initramfs*

Nyní pokračujte na Moduly jádra.

Alternativa: Použití genkernelu

Pokud ve vás ruční konfigurace vzbuzuje obavy, pak doporučujeme použití genkernel. Nakonfiguruje a sestaví jádro automaticky.

genkernel funguje tak, že nastaví jádro téměř shodně s tím, jak je nastaveno instalační CD. To znamená, že pokud je genkernel použit k sestavení jádra, systém v podstatě detekuje veškerý hardware během startu systému, stejně jako to dělá instalační CD. Protože genkernel nevyžaduje žádné manuální nastavování, jedná se o ideální řešení pro ty uživatele, kteří se nemusí při kompilaci vlastního jádra cítit v pohodě.

Nyní se podívejme na to, jak genkernel použít. Nejprve nainstalujeme ebuild sys-kernel/genkernel.

root #emerge --ask sys-kernel/genkernel

Následně upravíme soubor /etc/fstab tak, aby řádek obsahující /boot/ ve druhém poli v prvním poli odkazoval na správné zařízení. Pokud jste se řídíli příkladem rozdělení diskových oddílů z příručky, pak je tímto zařízením nejspíše se souborovým systémem ext2. Záznam v /etc/fstab tak bude vypadat takto:

root #nano -w /etc/fstab
FILE /etc/fstabKonfigurace přípojného bodu /boot
/boot	ext2	defaults	0 2
Note
Později při instalaci bude /etc/fstab znovu upravován. Nyní nastavujeme /boot z důvodu, že program genkernel s ním pracuje.

Nyní sestavte zdrojové kódy jádra spuštěním příkazu genkernel all. Vemte na vědomí, že genkernel sestaví jádro s podporou téměř veškerého hardwaru, tudíž sestavování může trvat docela dlouho!

Note
Pokud oddíl boot neobsahuje systém souborů ext2 nebo ext3, bude nejspíše třeba ručně nakonfigurovat jádro pomocí příkazu genkernel --menuconfig all a přidat podporu pro odpovídající systém souborů přímo do jádra (tedy nikoli jako modul). Uživatelé LVM2 budou pravděpodobně chtít také přidat přepínač --lvm.
root #genkernel all

Na konci genkernel vytvoří jádro a kompletní sada modulů a počáteční ram disk (initramfs). Jádro a initrd použijeme později v tomto dokumentu při konfiguraci zavaděče.

root #ls /boot/kernel* /boot/initramfs*


Moduly jádra

Konfigurace modulů

Note
Volitelně lze moduly hardwaru vypsat ručně. Obyčejně udev většinou nahraje všechny moduly detekovaného připojeného hardwaru. Nicméně ničemu neublíží, pokud jsou automaticky detekované moduly zapsány na seznam. Občas nějaký exotický hardware potřebuje pomoc při nahrávání svých ovladačů.

VLožte moduly, které je třeba načíst automaticky, do souborů /etc/modules-load.d/*.conf, vždy jeden modul na řádek. Je-li potřeba je možné dodatečné volby modulů nastavit v souborech /etc/modprobe.d/*.conf.

Všechny dostupné moduly lze zobrazit spuštěním příkazu find. Nezapomeňte nahradit "<verze jádra>" verzí právě sestaveného jádra.

root #find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko' | less

Například pro automatické načtení modulu 3c59x.ko (což je ovladač síťové karty zn. 3Com), upravte soubor /etc/modules-load.d/network.conf a vložte do něj název modulu. Jméno souboru nemá pro načítač význam.

root #mkdir -p /etc/modules-load.d
root # nano -w /etc/modules-load.d/network.conf
FILE /etc/modules-load.d/network.confVynucení načtení modulu 3c59x
3c59x

V instalaci pokračujte Konfigurací systému.

Volitelné: Instalace firmwaru

Některé ovladače vyžadují pro svoje fungování instalaci doplňkového firmwaru. Často se jedná o síťová rozhraní, zvláště u bezdrátových síťových karet. Také moderní grafické čipy od výrobců jako je AMD, NVidia a Intel vyžadují často externí soubory s firmwarem jsou-li použity open source ovladače. Většina firmwaru je součástí sys-kernel/linux-firmware:

root #emerge --ask sys-kernel/linux-firmware