В отличии от предыдущей статьи, в которой рассматривалась установка Gentoo с использованием таблицы разделов MBR (DOS), здесь будет описана установка с использованием GPT. Она поддерживает диски размером более 2 ТБ.
После загрузки с инсталляционного диска необходимо создать разделы с помощью утилиты parted:
# parted -a optimal /dev/sda
задаём таблицу разделов GPT
(parted) : mklabel gpt
единица — Мегабайт
(parted) : unit MB
создаём раздел 2 МБ
(parted) : mkpart primary 1 3
задаём имя первому разделу grub
(parted) : name 1 grub
устанавливаем флаг bios_grub на первый раздел
(parted) : set 1 bios_grub on
создаём раздел 128 МБ
(parted) : mkpart primary 3 131
задаём имя второму разделу boot
(parted) : name 2 boot
устанавливаем флаг boot на второй раздел
(parted) : set 2 boot on
создаём раздел 2048 МБ (2 ГБ)
(parted) : mkpart primary 131 2179
задаём имя третьему разделу swap
(parted) : name 3 swap
создаём раздел, который займёт оставшееся место на диске
(parted) : mkpart primary 2179 -1
задаём имя четвёртому разделу rootfs
(parted) : name 4 rootfs
все необходимые разделы созданы, смотрим что получилось
(parted) : print
если ничего не забыли, выходим из parted
(parted) : quit
Переходим к форматированию разделов. sda2 и sda4 форматируем в ext4, sda3 — swap, sda1 не трогаем:
# mkfs.ext4 /dev/sda2 # mkfs.ext4 /dev/sda4 # mkswap /dev/sda3
Теперь для инсталляции необходимо примонтировать созданные разделы.
Сначала монтируем корневой раздел в каталог /mnt/gentoo
# mount /dev/sda4 /mnt/gentoo
затем создадим каталог /mnt/gentoo/boot и примонтируем к ней раздел загрузки sda2
# mkdir /mnt/gentoo/boot # mount /dev/sda2 /mnt/gentoo/boot
и после этого включаем подкачку
# swapon /dev/sda3
Переходим в каталог /mnt/gentoo и с помощью links загрузим страницу зеркала Яндекса
# cd /mnt/gentoo # links https://mirror.yandex.ru/gentoo-distfiles/releases/amd64/autobuilds/current-install-amd64-minimal/
Отсюда нам необходимо загрузить архив stage3-amd64-*.tar.xz.
После скачивания выходим из links (буквой q) и возвращаемся в консоль.
Затем распакуем полученный архив командой
# tar -xpvf stage3-amd64-20210317T214503Z.tar.xz
Таким образом, мы распакуем окружение системы и сможем продолжить установку.
Теперь необходимо выбрать зеркало для синхронизации портажей. Для этого запустим утилиту mirrorselect
# mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
Здесь пометим звёздочками https://mirror.yandex.ru/gentoo-distfiles и http://mirror.yandex.ru/gentoo-distfiles
Жмём OK и возвращаемся в консоль.
Затем скопируем файл resolv.conf на диск
# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
После этого примонтируем /proc, /dev и /sys к жёсткому диску
# mount -t proc none /mnt/gentoo/proc # mount -o bind /dev /mnt/gentoo/dev # mount -t sysfs none /mnt/gentoo/sys
и изменяем корень в режиме chroot
# chroot /mnt/gentoo /bin/bash
Затем создадим каталог /var/db/repos/gentoo
# mkdir /var/db/repos/gentoo
Обновим окружение
# env-update # source /etc/profile # export PS1="(chroot) $PS1"
Затем создадим каталог для портажей и синхронизируем их
# mkdir /usr/portage # emerge --sync
Теперь настроим поддержку русского языка в консоли. Открываем файл /etc/locale.gen
# nano /etc/locale.gen
и в конце файла добавим строчки
en_US.UTF-8 UTF-8 ru_RU.UTF-8 UTF-8
Перезапускаем локаль
# locale-gen
Настроим московское время
# cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Теперь установим и настроим ядро. Качаем исходники
# USE="-doc symlink" emerge gentoo-sources
Открываем файл /etc/portage/make.conf
# nano /etc/portage/make.conf
и в самый низ добавим строчку
ACCEPT_LICENSE="*"
После этого устанавливаем утилиту автоматической сборки ядра
# emerge genkernel
и запустим команду
# genkernel all
Этот процесс займёт некоторое время.
Затем устанавливаем утилиту автоматического распознавания устройств udev, службу журналирования syslog-ng, dcron, и, если необходимо, чтобы машина получала IP-адрес от DHCP-сервера, службу DHCP-клиента
# emerge udev syslog-ng dcron dhcpcd
Добавим всё это в автозагрузку
# rc-update add udev boot # rc-update add syslog-ng default # rc-update add dcron default # rc-update add dhcpcd default
Также, если необходимо будет работать с машиной через SSH, включаем в автозагрузку и SSH-сервер
# rc-update add sshd default
Чтобы подключиться через SSH с правами root, необходимо открыть конфиг /etc/ssh/sshd_config
# nano /etc/ssh/sshd_config
и добавить строчку
PermitRootLogin yes
Затем перезапустить SSH-сервер
# rc-service sshd restart
После этого открываем файл для автоматического монтирования разделов диска
# nano /etc/fstab
и пропишем в него следующие строки:
/dev/sda2 /boot ext4 noatime 1 2 /dev/sda4 / ext4 noatime 0 1 /dev/sda3 none swap sw 0 0 /dev/cdrom /mnt/cdrom auto noauto,ro 0 0
Теперь поправим имя хоста. Для этого открываем файл hostname
# nano /etc/conf.d/hostname
и вписываем свой.
Затем настроим сеть. Для этого создадим файл /etc/conf.d/net
# touch /etc/conf.d/net
открываем его
# nano /etc/conf.d/net
и впишем свои настройки сетевого интерфейса
config_enp0s3="192.168.1.45 netmask 255.255.255.0" routes_enp0s3="default via 192.168.1.1" dns_servers_enp0s3="8.8.8.8 8.8.4.4"
Если машина должна получить сетевые настройки через DHCP-сервер, то тогда впишем так:
config_enp0s3="dhcp"
После этого создадим символьную ссылку на net.enp0s3
# cd /etc/init.d # ln -s net.lo net.enp0s3 # cd /
и добавим сетевой интерфейс в автозагрузку
# rc-update add net.enp0s3 default
Теперь запаролим суперпользователя
# passwd
Настроим раскладку клавиатуры. Для этого откроем файл keymaps
# nano /etc/conf.d/keymaps
и исправим строчку
keymap="us"
на
keymap="ru"
Настроим часы
# nano /etc/conf.d/hwclock
исправим строчку
clock="UTC"
на
clock="local"
Теперь установим и сконфигурируем загрузчик grub:
# emerge grub # grub-install /dev/sda # grub-mkconfig -o /boot/grub/grub.cfg
Выходим из режима chroot
# exit
Размонтируем все подключённые разделы и файловые системы
# umount /mnt/gentoo/{proc,dev,sys} # umount /mnt/gentoo/boot
и перезагружаем машину
# reboot
Больше LiveCD нам не понадобится
После перезагрузки настроим русификацию консоли
Установим утилиты terminus-font, intlfonts, freefonts, cronyx-fonts, corefonts, kbd
# emerge terminus-font intlfonts freefonts cronyx-fonts corefonts kbd
Затем создадим файл /etc/env.d/02locale
# touch /etc/env.d/02locale
и внесём в него следующие строчки:
LC_ALL="" LANG="ru_RU.UTF-8"
После этого откроем файл /etc/conf.d/keymaps
# nano /etc/conf.d/keymaps
и исправим следующие строчки:
keymap="ru"
на
keymap="ruwin_alt_sh-UTF-8"
и
windowkeys="YES"
на
windowkeys="NO"
Остальные строчки должны быть такими:
extended_keymaps="" dumpkeys_charset="" fix_euro="NO"
Теперь откроем файл /etc/conf.d/consolefont
# nano /etc/conf.d/consolefont
в нём исправим следующие строки:
consolefont="default8x16"
на
consolefont="UniCyr_8x16"
раскомментируем и исправим
#consoletranslation="8859-1_to_uni"
на
consoletranslation=""
Добавим consolefont в автозагрузку:
# rc-update add consolefont boot
С настройкой русификации всё.
Теперь настроим файл hosts
# nano /etc/hosts
исправим
127.0.0.1 localhost
на свой, например
127.0.0.1 gentoo-test.homenet gentoo-test localhost
Для удобства установим файловый менеджер Midnight Commander
# emerge app-misc/mc
Запускаем его при необходимости
# mc
Теперь можно и перезагрузиться. Первоначальная настройка системы готова.
по вашим рекомендациям пробовал установить , но споткнулся на ошибке
#grub-install /dev/sda
Installing for [86_64-efi platform.
grub-install: error: cannot find EFI directory.
помогите пожалуйста.
Такая ошибка возникает в случае, когда не был создан раздел bios_grub размером 2 МБ. Проверьте, вы скорее всего что-то упустили. Я недавно проверял по этому мануалу, всё получилось.
Делал все по инструкции ничего не упустил, перепроверял каждую команду — в итоге:
(chroot) livecd / # grub-install /dev/sda
Installing for x86_64-efi platform.
grub-install: error: cannot find EFI directory.
Если сделать иначе, тоже ошибка:
grub-install —target=x86_64-efi —efi-directory=/boot
Installing for x86_64-efi platform.
grub-install: error: /boot doesn’t look like an EFI partition.
Помогать не нужно, сделал все по хэндбуку — работает отлично.
Что такое загрузочный раздел BIOS?
Загрузочный раздел BIOS необходим, только если вы комбинируете разметку дисков GPT с загрузчиком GRUB2 в режиме BIOS/Legacy. Он не требуется при загрузке в режиме EFI/UEFI, и также не требуется при использовании дисков MBR. Это очень маленький (1—2 Мб) раздел, в который загрузчики типа GRUB2 могут разместить дополнительные данные, которые не помещаются в выделенное хранилище. Мы не будем использовать его в данном руководстве.
Создание разделов на диске с GPT для UEFI
Следующие части объяснят, как создать структуру разделов из примера для установки с GPT/UEFI с использованием fdisk (пример структуры разделов приводился выше):
Раздел Описание
/dev/sda1 Системный (и загрузочный) раздел EFI (ESP)
/dev/sda2 Раздел подкачки
/dev/sda3 Корневой раздел
Ошибка тут про раздел в 2 мб
Плюс на скрине по разбивке дисков у вас sda1 — fat32 хотя вы пишете, что его трогать не следует, тогда как он стал fat32 если он не форматировался?
// Плюс на скрине по разбивке дисков у вас sda1 — fat32 хотя вы пишете, что его трогать не следует, тогда как он стал fat32 если он не форматировался?
его трогать действительно не нужно…
// Ошибка тут про раздел в 2 мб
нет здесь ошибки
// grub-install —target=x86_64-efi —efi-directory=/boot
вот этого как раз делать не нужно.
// Помогать не нужно, сделал все по хэндбуку — работает отлично.
хорошо, что у вас всё получилось 🙂