This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.

Please visit our production wiki at https://wiki.gentoo.org

Konfigurace zavaděče

From Gentoo Wiki (test)
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:AMD64/Installation/Bootloader and the translation is 100% complete.
AMD64 Handbook
Installation
About the installation
Choosing the media
Configuring the network
Preparing the disks
Installing stage3
Installing base system
Configuring the kernel
Configuring the system
Installing tools
Configuring the bootloader
Finalizing
Working with Gentoo
Portage introduction
USE flags
Portage features
Initscript system
Environment variables
Working with Portage
Files and directories
Variables
Mixing software branches
Additional tools
Custom package repository
Advanced features
Network configuration
Getting started
Advanced configuration
Modular networking
Wireless
Adding functionality
Dynamic management



Výběr zavaděče

Po nakonfigurování jádra Linux, nainstalování systémových nástrojů a dokončenou úpravou konfiguračních souborů je čas k nainstalování poslední důležité součásti linuxové instalace: zavaděče systému.

Zavaděč je odpovědný za spuštění jádra Linux během nabíhání - bez něj by systém nevěděl, jak pokračovat dál po té, co počítač stiskem tlačítka spustíte.

Pro architekturu amd64 uvádíme jak nastavit buď GRUB2 nebo LILO pro systémy založené na BIOSu a #Výchozí: Použití GRUB2 nebo efibootmgr pro systémy s UEFI.

V této sekci příručky rozlišujeme mezi nahrátím (emerging) zavaděče a jeho instalací (installing) na systémový disk. Termín instalace bude použit pro použití Portage k tomu, aby byl balíček zpřístupněn v systému. Pojem "nahrátí" pak bude označovat, že zavaděč kopíruje soubory a fyzicky mění odpovídající sekce na systémovém disku za účelem aktivace a přípravy zavaděče na jeho fungování v dalším spouštěcím cyklu.

Výchozí: GRUB2

Previously, Gentoo Linux used what is now called GRUB Legacy as the recommended boot loader. As the name implies, the older GRUB package is no longer actively maintained and has been superseded by GRUB2. For more information about the legacy GRUB, please refer to its GRUB article.

By default, the majority of Gentoo systems now rely upon GRUB2 (found in the sys-boot/grub package), which is the direct successor to GRUB Legacy. With no additional configuration, GRUB2 gladly supports older BIOS ("pc") systems. With a small amount of configuration, necessary before build time, GRUB2 can support more than a half a dozen additional platforms. For more information, consult the Prerequisites section of the GRUB2 article.

Nahrátí (emerge)

When using an older BIOS system supporting only MBR partition tables, no additional configuration is needed in order to emerge GRUB:

root #emerge --ask --verbose sys-boot/grub:2

A note for UEFI users: running the above command will output the enabled GRUB_PLATFORMS values before emerging. When using UEFI capable systems, users will need to ensure GRUB_PLATFORMS="efi-64" is enabled (as it is the case by default). If that is not the case for the setup, GRUB_PLATFORMS="efi-64" will need to be added to the /etc/portage/make.conf file before emerging GRUB2 so that the package will be built with EFI functionality:

root #echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf
root #emerge --ask sys-boot/grub:2
If GRUB2 was somehow emerged without enabling GRUB_PLATFORMS="efi-64", the line (as shown above) can be added to make.conf then and dependencies for the world package set re-calculated by passing the --update --newuse options to emerge:
root #emerge --ask --update --newuse --verbose sys-boot/grub:2

Software GRUB2 byl nyní nahrán do systému, ale ještě ne nainstalován.

Instalace

Dále nainstalujte potřebné soubory GRUB2 do adresáře /boot/grub pomocí příkazu grub-install. Předpokládejme, že první disk (ten, ze kterého systém nabíhá) je /dev/sda, jeden z následujících souborů tak udělá co chceme:

  • Při použití BIOS:
root #grub-install /dev/sda
  • Při použití UEFI:
Important
Make sure the EFI system partition has been mounted before running grub-install. It is possible for grub-install to install the GRUB EFI file (grubx64.efi) into the wrong directory without providing any indication the wrong directory was used.
root #grub-install --target=x86_64-efi --efi-directory=/boot
Note
Modify the --efi-directory option to the root of the EFI System Partition. This is necessary if the /boot partition was not formatted as a FAT variant.
Important
If grub_install returns an error like Could not prepare Boot variable: Read-only file system, it may be necessary to remount the efivars special mount as read-write in order to succeed:
root #mount -o remount,rw /sys/firmware/efi/efivars

Some motherboard manufacturers seem to only support the /efi/boot/ directory location for the .EFI file in the EFI System Partition (ESP). The GRUB installer can perform this operation automatically with the --removable option. Verify the ESP is mounted before running the following commands. Presuming the ESP is mounted at /boot (as suggested earlier), execute:

root #grub-install --target=x86_64-efi --efi-directory=/boot --removable

This creates the default directory defined by the UEFI specification, and then copies the grubx64.efi file to the 'default' EFI file location defined by the same specification.

Nastavení

Next, generate the GRUB2 configuration based on the user configuration specified in the /etc/default/grub file and /etc/grub.d scripts. In most cases, no configuration is needed by users as GRUB2 will automatically detect which kernel to boot (the highest one available in /boot/) and what the root file system is. It is also possible to append kernel parameters in /etc/default/grub using the GRUB_CMDLINE_LINUX variable.

K vygenerování konečné konfigurace GRUB2 spusťte příkaz grub-mkconfig:

root #grub-mkconfig -o /boot/grub/grub.cfg
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.16.5-gentoo
Found initrd image: /boot/initramfs-genkernel-amd64-3.16.5-gentoo
done

Výstup příkazu by měl obsahovat, že byl nalezen alespoň jeden obraz jádra, jelikož ten je potřeba k naběhnutí systému. Pokud je použit initramfs nebo byl k sestavení jádra použit genkernel, měl by být nalezen také správný obraz initrd. Pokud se tak nestalo, podívejte se na obsah adresáře /boot příkazem ls. Pokud tyto soubory opravdu chybí, vraťte se zpět k instrukcím pro nastavení a instalaci jádra.

Tip
Utilitu os-prober můžete použít ve spojení s GRUB2 k nalezení dalších operačních systémů na připojených discích. Detekovatelné jsou Windows 7, 8.1, 10 a ostatní distribuce Linuxu. Ti, kteří požadují, aby jejich systém podporoval dual-boot by měli nainstalovat (emerge) sys-boot a po té znovu spustit příkaz grub-mkconfig (jak je uvedeno výše). Pokud narazíte na problémy s detekcí, určitě si přečtěte celý článek o GRUB2 před tím, než požádáte komunitu Gentoo o podporu.

Alternativa 1: LILO

Nahrátí (emerge)

LILO, "LI"nux "LO"ader, je osvědčeným řešením v oblasti Linuxových zavaděčů. Nicméně v porovnání s GRUB se mu nedostává některých funkcí. LILO se stále používá, jelikož na některých systémech GRUB nefunguje, zatímco LILO ano. Samozřejmě se používá také proto, že někteří lidé jsou s ním obeznámeni a chtějí jej používat. Tak jak tak, Gentoo podporuje oba zavaděče.

Instalace LILO je snadná, prostě použijte emerge.

root #emerge --ask sys-boot/lilo

Nastavení

K nastavení LILO nejprve vytvořte soubor /etc/lilo.conf.

root #nano -w /etc/lilo.conf

Jádro ke spuštění označíte v konfiguračním souboru za použití sekcí. Ověřte si, že názvy souborů jádra (včetně verze jádra) a initramfs, znáte, jelikož na ně musíte odkázat v konfiguračním souboru.

Note
Pokud je souborovým systémem na kořenovém oddílu JFS, připojte na konec řádku každé položky append="ro" kvůli tomu, že JFS musí přehrát svůj log před tím, než umožní připojení v režimu pro zápis.
FILE /etc/lilo.confPříklad nastavení LILO
boot=/dev/sda             # Nainstaluj LILO do MBR
prompt                    # Umožni uživateli zvolit jinou sekci
timeout=50                # Čekej 5 (pět) sekund před tím, než bude spuštěna výchozí sekce
default=gentoo            # Po uběhnutí časové prodlevy spusť sekci s názvem "gentoo"
  
image=/boot/vmlinuz-3.16.5-gentoo
  label=gentoo            # Název zvolený pro danou sekci
  read-only               # Start s kořenovým oddílem v režimu pro čtení. Neměňte!
  root=/dev/sda4          # Umístění kořenového oddílu
  
image=/boot/vmlinuz-3.16.5-gentoo
  label=gentoo.rescue     # Název zvolený pro danou sekci
  read-only               # Start s kořenovým oddílem v režimu pro čtení. Neměňte!
  root=/dev/sda4         # Umístění kořenového oddílu
  append="init=/bin/bb"   # Spusť záchranný statický shell Gentoo Linuxu  
# Následující dva řádky jsou pro dualní boot systému s Windows
# V tomto příkladě se Windows nachází na /dev/sda6.
other=/dev/sda6
  label=windows
Note
Pokud používáte odlišné schéma diskových oddílů nebo jiný obraz jádra, udělejte odpovídající změny.

Pokud je potřeba initramfs, změňte konfiguraci uvedením odkazu na soubor initramfs a označením zařízení s kořenovým oddílem:

FILE /etc/lilo.confPřidání informace o initramfs do položky zavaděče
image=/boot/vmlinuz-3.16.5-gentoo
  label=gentoo
  read-only
  append="root=/dev/sda4"
  initrd=/boot/initramfs-genkernel-amd64-3.16.5-gentoo

Pokud potřebujte předat jádru další volby, použijte výraz append. Například k zapnutí framebufferu pomocí volby video:

FILE /etc/lilo.confDoplnění parametru video k volbám spuštění
image=/boot/vmlinuz-3.16.5-gentoo
  label=gentoo
  read-only
  root=/dev/sda4
  append="video=uvesafb:mtrr,ywrap,1024x768-32@85"

Uživatelé, kteří použili genkernel by měli mít na paměti, že jejich jádro používá stejné volby jako instalační CD. Pokud tedy například potřebujete zapnout podporu pro SCSI zařízení, přidejte mezi volby jádra doscsi.

Nyní soubor uložte a ukončete editor.

Instalace

Pro dokončení spusťte /sbin/lilo, čímž umožníte, aby LILO aplikovalo nastavení v /etc/lilo.conf na systém (například nainstalovalo samo sebe na disk). Berte na vědomí, že program /sbin/lilo musí být spuštěn pokaždé, když nainstalujete nové jádro nebo uděláte změny v souboru /etc/lilo.conf z důvodu, aby systém mohl nastartovat, změní-li se název souboru s jádrem.

root #/sbin/lilo

Alternativa 2: efibootmgr

V systémech s UEFI může být upravován přímo firmware UEFI (jinými slovy primární zavaděč systému) k tomu, aby vyhledal položky je spuštění. Takové systému nepotřebují zavaděče jako je GRUB2 (známé jako sekundární zavaděče) k tomu, aby je pomohly spustit. Se vším tímto na paměti, důvodem, proč existují EFI zavaděče jako je GRUB2, je rozšíření funkcí UEFI systémů v průběhu procesu spouštění. Použití efibootmgr je vhodné pro ty, kdo chtějí využit opravdu minimalistický (avšak více svázaný) přístup ke spouštění svého systému; použití GRUB2 (viz výše) je pro většinu uživatelů jednodušší, protože je z hlediska svých možností při spouštění systému s UEFI pružnější.

Uvědomte si, že aplikace sys-boot/efibootmgr není zavaděč; je to nástroj sloužící k přizpůsobení firmwaru UEFI a aktualizaci jeho nastavení tak, aby mohlo být dříve do systému nainstalované linuxové jádro spuštěno i s dodatečnými volbami (je-li to třeba) nebo aby mohlo být zapnuto více spustitelných položek. Toto přizpůsobení se děje pomocí proměnných EFI (proto potřeba mít v jádře podporu proměnných EFI).

Před tím, než budete pokračovat, pročtěte si článek EFI stub kernel. Jádro musí mít zapnuty specifické volby, aby bylo přímo spustitelné ze strany UEFI firmwaru. Možná bude potřeba jádro překompilovat. Dobrý nápad je také podívat se na článek efibootmgr.

Note
Pro uvedení věcí na pravou míru, efibootmgr není pro spuštění systému UEFI vyžadováno. Linuxové jádro samo o sobě může být spuštěno napřímo, dodatečné volby mohou být zabudovány přímo do linuxového jádra (v konfiguraci jádra je volba, která umožňuje uživateli specifikovat parametry spuštění). Dokonce i initramfs může být "součástí" jádra.

Kdo se rozhodl jít touto cestou, musí nainstalovat příslušný software:

root #emerge --ask sys-boot/efibootmgr

Then, create the /boot/efi/boot/ location, and then copy the kernel into this location, calling it bootx64.efi:

root #mkdir -p /boot/efi/boot
root #cp /boot/vmlinuz-* /boot/efi/boot/bootx64.efi

Dále sdělte firmwaru UEFI, že má být vytvořena položka "Gentoo" s čerstvě sestaveným jádrem:

root #efibootmgr --create --disk /dev/sda --part 2 --label "Gentoo" --loader "\efi\boot\bootx64.efi"

Pokud je použit zaváděcí souborový systém RAM (initramfs), přidejte k němu odpovídající volbu:

root #efibootmgr -c -d /dev/sda -p 2 -L "Gentoo" -l "\efi\boot\bootx64.efi" initrd='\initramfs-genkernel-amd64-3.16.5-gentoo'
Note
Použití \ jako oddělovače adresářů je v rámci definicí pro UEFI povinné.

Po těchto změnách, jakmile systém znovunaběhne, bude zpřístupněna položka "Gentoo".

Alternative 3: Syslinux

Syslinux is yet another bootloader alternative for the amd64 architecture. It supports MBR and, as of version 6.00, it supports EFI boot. PXE (network) boot and lesser-known options are also supported. Although Syslinux is a popular bootloader for many it is unsupported by the Handbook. Readers can find information on emerging and then installing this bootloader in the Syslinux article.


Restartování systému

Opusťte prostředí chroot a odpojte všechny připojené oddíly. Po té napište kouzelný příkaz, který zahájí konečný, opravdový test: reboot.

root #exit
cdimage ~#cd
cdimage ~#umount -l /mnt/gentoo/dev{/shm,/pts,}
cdimage ~#umount -R /mnt/gentoo
cdimage ~#reboot

Samozřejmě nezapomeňte vyjmout bootovací CD, jinak může dojít opět ke startu z CD namísto nově instalovaného systému Gentoo.

Jakmile jste zrestartovali do čerstvě nainstalovaného prostředí Gentoo, dokončete vše podle Dokončení instalace Gentoo.