Handbook:AMD64/Blocks/Bootloader/cs

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 uvádíme jak nastavit buď GRUB2 nebo LILO pro systémy založené na BIOSu a  nebo efibootmgr pro systémy s UEFI.

V této sekci příručky rozlišujeme mezi nainstalováním (emerging) zavaděče a jeho nahráním (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
Dříve Gentoo Linux používal jako doporučený zavaděč program, zvaný dnes "GRUB Legacy". Jak jméno napovídá, starší balíčky GRUB již nejsou aktivně udržovány a byly nahrazeny GRUB2. Více informací o "GRUB Legacy" najdete v článku GRUB na Gentoo Wiki.

By default, the majority of Gentoo systems now rely upon GRUB2 (found in the package), which is the direct successor to GRUB Legacy. With no additional configuration, GRUB2 gladly supports older BIOS 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.

Emerge

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




 * When using newer UEFI capable systems, users will need to add  to  before emerging GRUB2 so that the package will be built with EFI functionality:






 * If GRUB2 was somehow emerged without first adding  to  the line (as shown above) can be added then and dependencies for the world package set re-calculated by passing the   options to :



The GRUB2 software has now been merged to the system, but not yet installed.

Install
Next, install the necessary GRUB2 files to the directory via the  command. Presuming the first disk (the one where the system boots from) is, one of the following commands will do:


 * When using BIOS:


 * When using UEFI:







Configure
Next, generate the GRUB2 configuration based on the user configuration specified in the file and  scripts. In most cases, no configuration is needed by users as GRUB2 will automatically detect which kernel to boot (the highest one available in ) and what the root file system is.

To generate the final GRUB2 configuration, run the command:

The output of the command must mention that at least one Linux image is found, as those are needed to boot the system. If an initramfs is used or was used to build the kernel, the correct initrd image should be detected as well. If this is not the case, go to and check the contents using the  command. If the files are indeed missing, go back to the kernel configuration and installation instructions.

Emerge
LILO, the LInuxLOader, is the tried and true workhorse of Linux boot loaders. However, it lacks features when compared to GRUB. LILO is still used because, on some systems, GRUB does not work and LILO does. Of course, it is also used because some people know LILO and want to stick with it. Either way, Gentoo supports both bootloaders.

Installing LILO is a breeze; just use emerge.

Configure
To configure LILO, first create :

In the configuration file, sections are used to refer to the bootable kernel. Make sure that the kernel files (with kernel version) and initramfs files are known, as they need to be referred to in this configuration file.

If an initramfs is necessary, then change the configuration by referring to this initramfs file and telling the initramfs where the root device is located:

If additional options need to be passed to the kernel, use an  statement. For instance, to add the  statement to enable framebuffer:

Users that used should know that their kernels use the same boot options as is used for the installation CD. For instance, if SCSI device support needs to be enabled, add  as kernel option.

Now save the file and exit.

Install
To finish up, run the executable so LILO can apply the  settings to the system (I.E. install itself on the disk). Keep in mind that must be executed each time a new kernel is installed or a change has been made to the  file in order for the system to boot if the filename of the kernel has changed.

Alternative 2: efibootmgr
On UEFI based systems, the UEFI firmware on the system (in other words the primary bootloader), can be directly manipulated to look for UEFI boot entries. Such systems do not need to have additional (also known as secondary) bootloaders like GRUB2 in order to help boot the system. With that being said, the reason EFI-based bootloaders such as GRUB2 exist is to extend the functionality of UEFI systems during the boot process. Using is really for those who desire to take a minimalist (although more rigid) approach to booting their system; using GRUB2 (see above) is easier for the majority of users because it offers a flexible approach when booting UEFI systems.

Remember application is not a bootloader; it is a tool to interact with the UEFI firmware and update its settings, so that the Linux kernel that was previously installed can be booted with additional options (if necessary), or to allow multiple boot entries. This interaction is done through the EFI variables (hence the need for kernel support of EFI vars).

Be sure to read though the EFI stub kernel article before continuing. The kernel must have specific options enabled to be directly bootable by the system's UEFI firmware. It might be necessary to recompile the kernel. It is also a good idea to take a look at the article.

Those that have decided to take this approach must install the software:

Then, create the location, and then copy the kernel into this location, calling it :

Next, tell the UEFI firmware that a boot entry called "Gentoo" is to be created, which has the freshly compiled EFI stub kernel:

If an initial RAM file system (initramfs) is used, add the proper boot option to it:

With these changes done, when the system reboots, a boot entry called "Gentoo" will be available.