Установка Gentoo на UEFI систему. Коротко и ясно

В статье рассмотрена установка gentoo на систему поддерживающую UEFI. В качестве системного диска выступает NVMe M.2 250GB Samsung 980 PRO. Чтобы не повторять некоторые этапы настроки буду направлять читателя на ранее опубликованый пост «Установка Gentoo. Коротко и ясно»

Начнем пожалуй

С сайта gentoo берем Minimal Installation CD, раскатываем на флешку и загружаемся с нее. Важно, на этапе заргузки при выборе устройсва загрузки выбрать UEFI CDROM или UEFI USB, а не просто CDROM или USB. Позже будет ясно почему так

Выполняем все инструкции поста «Установка Gentoo. Коротко и ясно» до пункта Разбивка диска

Разбивка диска

parted -a optimal /dev/nvme0n1

GNU Parted 3.5
Using /dev/nvme0n1
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted)

Посмотрим, что за SSD такой

print

Model: Samsung SSD 980 PRO 250GB (nvme)
Disk /dev/nvme0n1: 250GB
Sector size (logical/physical): 512B/512B
Partition Table:
Disk Flags:

Используем разметку gpt

mklabel gpt

Создание разделов

Для того, чтоб UEFI увидел данный диск в своем меню загрузки, нужно создать для него раздел и указать его загрузочным

mkpart primary 1 200
set 1 boot on
name 1 "EFI System Partition"

Далее создаем swap-раздел и рутовый раздел. Последней командой завершаем работу с parted

mkpart primary 200 10240
name 2 swap
mkpart primary 10240 -1
name 3 rootfs
quit

Раздел для EFI форматируем в fat32, рутовый раздел в ext4 и включаем swap

mkfs.fat -F 32 /dev/nvme0n1p1
mkfs.ext4 /dev/nvme0n1p3
mkswap /dev/nvme0n1p2
swapon /dev/nvme0n1p2

Если все сделано правильно, то

parted -l /dev/nvme0n1

должен показать

установка gentoo uefi

Важно, чтоб у раздела #1 были флаги boot, esp

Загружаем дополнительный модуль ядра. Потребуется позже

modprobe efivars

Переходим к монтированию разделов (чтоб не заморачиваться с настройками ядра установил бинарное ядро gentoo-kernel-bin-5.15.80 в которой уже есть поддержка EFI) и читаем аж до пункта Установка и конфигурирование загрузчика GRUB

Установка и конфигурирование загрузчика GRUB

После того, как настройка системы завершена и осталось установить загрузчик установим efibootmgr

emerge efibootmgr

Посмотрим с каких устройств может загружаться сервер

efibootmgr

BootCurrent: 0007
Timeout: 1 seconds
BootOrder: 0007,0006,0003,0004
Boot0003* Network Card BBS(Network,,0x0)0000474…
Boot0004* UEFI: Built-in EFI Shell VenMedia(5023b95c-db26-429b-a648-bd47664c8012)0000424f
Boot0006* USB CD BBS(10,,0×0)0000474f…
Boot0007* UEFI: CDROM YS0J, Partition 1 PciRoot(0x0)/Pci(0x1d,0x0)/USB(0,0)/USB(7,0)/USB(1,0)/CDROM(1,0×85,0x1680)/HD(1,MBR,0x0,0x0,0x1680)0000424f

Текущее устройство с которого мы загрузились 0007, тоесть UEFI: CDROM. Устройство nvmen1 все еще не загрузочное, его даже нет в списке. Устраняем эту неприятность сборкой grub’а с дополнительной опцией

GRUB_PLATFORMS="efi-64"

которую необходимо добавить в файл /etc/portage/make.conf (помним, что мы еще в chroot’е)

emerge --ask sys-boot/grub:2

После изменений внесенных в файл /etc/default/grub установим загрузчик на раздел /dev/nvmen1p1. Именно для этого раздела ранее были установлены флаги boot, esp

grub-install --efi-directory=/boot
grub-mkconfig -o /boot/grub/grub.cfg

И еще раз запустим efibootmgr

BootCurrent: 0007
Timeout: 1 seconds
BootOrder: 0000,0007,0006,0003,0004
Boot0000* gentoo HD(1,GPT,d304d48d-1fbf-48af-a823-05ef9b4609a5,0x800,0x5f000)/File(\EFI\gentoo\grubx64.efi)
Boot0003* Network Card BBS(Network,,0x0)0000474
Boot0004* UEFI: Built-in EFI Shell VenMedia(5023b95c-db26-429b-a648-bd47664c8012)0000424f
Boot0006* USB CD BBS(10,,0×0)0000474
Boot0007* UEFI: CDROM YS0J, Partition 1 PciRoot(0x0)/Pci(0x1d,0x0)/USB(0,0)/USB(7,0)/USB(1,0)/CDROM(1,0×85,0x1680)/HD(1,MBR,0x0,0x0,0x1680)0000424f

Видим, что появилось устройство 0000 с именем gentoo HD и в списке загрузочных оно первое

На этом все. Перезагрузка

установка gentoo uefi

P.S.

Если в результате выполнения grub-install выскочит ошибка

grub-install: error: /usr/lib/grub/i386-pc/modinfo.sh doesn’t exist. Please specify —target or —directory.

то один из вариантов должен помочь

  • выполнить команду grub-install —target=x86_64-efi —efi-directory=/boot
  • выйти из chroot и выполнить modprobe efivars
  • загрузиться с UEFI CDROM

1 2 голоса
Оцените статью
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии