Handbook:SPARC/Blocks/Bootloader

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:SPARC/Blocks/Bootloader and the translation is 76% complete.


GRUB

When selecting a 64-bit profile during installation, then GRUB is the only supported bootloader.

Emerge

GRUB should be correctly configured for the platform automatically based on the profile. To make it explicit, however, specify it using:

root #echo 'GRUB_PLATFORMS="ieee1275"' >> /etc/portage/make.conf
root #emerge --ask --verbose sys-boot/grub

The GRUB software has now been merged to the system, but not yet installed as a bootloader.

Установка

GPT

If the disk is partitioned using GPT (the preferred method), then install GRUB to the BIOS boot partition. Presuming the first disk (the one where the system boots from) is /dev/sda, the following commands will do:

root #grub-install --target=sparc64-ieee1275 --recheck /dev/sda
Совет
Чтобы найти строку загрузочного устройства для ввода в прошивку, используйте утилиту grub-ofpathname. Если загрузочный раздел BIOS находится на первом разделе диска, выберите весь диск:

root #grub-ofpathname /dev/sda

Иначе явно укажите загрузочный раздел BIOS:

root #grub-ofpathname /dev/sda2

Sun partition table

If the disk is partitioned using a Sun partition table instead, GRUB must be installed using blocklists. In this mode, instead of providing the physical disk as an argument, provide the path to the partition on which /boot/grub is mounted.

root #grub-install --target=sparc64-ieee1275 --recheck --force --skip-fs-probe /dev/sda1

Настройка

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.

To generate the final GRUB2 configuration, run the grub-mkconfig command:

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

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 genkernel was used to build the kernel, the correct initrd image should be detected as well. If this is not the case, go to /boot/ and check the contents using the ls command. If the files are indeed missing, go back to the kernel configuration and installation instructions.

SILO, начальный загрузчик для SPARC

Если был выбран 32-битный профиль во время установки, то единственными поддерживаемым загрузчиком является только SILO (Sparc Improved boot LOader).

root #emerge --ask sys-boot/silo

Далее создайте /etc/silo.conf:

root #nano -w /etc/silo.conf

Ниже приведен пример файла silo.conf. В нем используется схема разбиения, которую мы применяем во всей книге, а также файл kernel-6.6.21-gentoo в качестве образа ядра и initramfs-genkernel-sparc64-6.6.21-gentoo в качестве initramfs.

ФАЙЛ /etc/silo.confПример файла настройки
partition = 1         # Загрузочный раздел (= корневой раздел)
root = /dev/sda1      # Корневой раздел
timeout = 150         # Ждать 15 секунд до начала загрузки раздела по умолчанию
  
image = /boot/kernel-6.6.21-gentoo
  label = linux
  append = "initrd=/boot/initramfs-genkernel-sparc64-6.6.21-gentoo root=/dev/sda1"

Если используете файлом-примером silo.conf, установленным Portage, обязательно закомментируйте все строки, которые не нужны.

Если файл /etc/silo.conf не находится на том же физическом диске, на который вы собираетесь установить SILO (в качестве загрузчика), необходимо скопировать файл /etc/silo.conf на раздел того диска, на который устанавливается загрузчик. Например, если /boot/ является отдельным разделом на этом диске, скопируйте настроечный файл в /boot/ и запустите /sbin/silo:

root #cp /etc/silo.conf /boot
root #/sbin/silo -C /boot/silo.conf
/boot/silo.conf appears to be valid

В противном случае, просто запустите /sbin/silo:

root #/sbin/silo
/etc/silo.conf appears to be valid
Заметка
Запускайте silo (с параметрами) каждый раз, когда обновляете или переустанавливаете пакет sys-boot/silo.