Установка Gentoo Linux

Установка Gentoo Linux

Gentoo Linux (произносится дже́нту [ˈdʒɛntuː], сленг — ге́нта, джента, ге́нту; по названию быстроплавающего папуанского пингвина) — это GNU/Linux дистрибутив, который довольно популярен и имеет гибкую, мощную технологию Portage. Данный дистрибутив совмещает в себе, возможность конфигурировать, настраивать и автоматизировать систему управления пакетами. Дэниель Роббинсом, положил начало Gentoo Linux с дистрибутива Enoch Linux который разрабатывал в 1999 году. Очень сильной особенностью генты, — есть то, что ее можно оптимизировать под конкретное аппаратное железо и добиться максимальной производительности.

Установка Gentoo Linux

Я за 5 лет администрирования Linux, только работал с deb’s и rpm’s ОС. Что касается Unix — то немного работал с FreeBSD. Спорный вопрос стоит с Mac OS X, многие будут говорить что это Unix, некоторые — что нет, из-за того, что BSD ядро, переписали и по мнению многих — не осталось ничего от предшественника. Я считаю что они заблуждаются (по крайней мере я хочу так верить) и это Unix система. Но тема не об этом… Пришло время до установки gentoo linux. Это моя первая установка. Я буду описывать процесс установки в очень подробной форме, чтобы многие смоги воспроизвести мои действия и «пощупать» данный дистрибутив.

Идем на официальный сайт и качаем один из образов:

  • Minimal Installation CD с amd64 aka x86_64 архитектурой.
  • Minimal Installation CD с x86 архитектурой.

У для меня подходит 1-й вариант. Я выкачал данный CD и подключил его в VMware, я буду использовать именно такую установку, но вы можете записать данный образ на диск или флешку и продолжить установку по моей статье.

Live загрузка gentoo

Т.к у меня — это виртуальная машинка, я запустил на ней ssh:

livecd ~ # service sshd restart

И сменил пароль для root, чтобы подключится к данной машине (я ленивый и не хочу все команды вводить руками).

Разбивка диска на разделы

Можно использовать различные варианты:

Я буду юзать parted утилиту. Она уже имеется в системе. Для начала, я проверяю какое блочное устройство у меня используется в качестве диска:

livecd ~ # fdisk -l | grep -E "/dev/[sh]d?"
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors

Видим, что это — /dev/sda, что собственно и логично т.к у меня один диск. Начнем разбиение диска:

livecd ~ # parted /dev/sda 
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

Проверяем какая партиция используется:

(parted) print                                                            
Error: /dev/sda: unrecognised disk label
Model: ATA VMware Virtual S (scsi)                                        
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags: 
(parted)

И это собственно логично!

MBR:

Создаем метку:

(parted) mklabel msdos

Разметка готова! Я выполню разбивку следующим образом:

(parted) mkpart primary ext4 2M 200M
(parted) set 1 boot on

Данный раздел я буду использовать для загрузки. Сейчас я, выделю 2 Гб свопика:

(parted) mkpart primary linux-swap 200M 2200M

А под все остальное, все оставшееся место:

(parted) mkpart primary ext4 2.2G 100%

И смотрим что получилось:

(parted) print
Model: ATA VMware Virtual S (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system     Flags
 1      2097kB  200MB   198MB   primary  ext4            boot, lba
 2      200MB   2200MB  2000MB  primary  linux-swap(v1)  lba
 3      2200MB  21.5GB  19.3GB  primary  ext4            lba

(parted)

GPT:

Не могу привести разметку. Не было необходимости!

Все имеется, но осталось подключить swap + отформатировать разделы:

livecd ~ # mkswap /dev/sda2 -L swap

Этим мы отформатировали свап раздел.

livecd ~ # swapon /dev/sda2

Действием что выше, подключили свап!

livecd ~ # mkfs.ext4 /dev/sda1
livecd ~ # mkfs.ext4 /dev/sda3

И последними командами, я форматнул разделы.

PS: Как я уже говорил я буду использовать MBR и дальше я буду приводить примеры по нему (при первой возможности, я дополню данный материал и для GPT).

Монтируем раздел:

livecd ~ # mount /dev/sda3 /mnt/gentoo/

Создаем папку для boot-а:

livecd ~ # mkdir /mnt/gentoo/boot

Монтируем boot:

livecd ~ # mount /dev/sda1 /mnt/gentoo/boot

Смаунчено все и почти готово к установке.

Скачиваем STAGE{1,2,3}

  • stage1 — самостоятельная подготовка минимальной системы для установки, и основные компоненты тоже придется самостоятельно собирать из исходников. Все выкачивается из интернета и компилируется из сорцов под железо чем самым, достигается максимальная оптимизация. Но на это все, вы потратите много времени ( собственно — это логично, т.к ВСЕ-ВСЕ будет компилироватся из исходного кода и под конкретную железяку). Для примера, чтобы собрать KDE на средней машине — вам потребуется около 55 часов.
  • stage2 — Минимальная система для установки уже создана (base layout), а вам остается только самостоятельно собрать основные компоненты из сорцов, которые будут качаться из интернета. На установку требуется меньше времени, но система менее оптимизированная.
  • stage3 — иногда называют Gentoo Reference Platform (так званая, эталонная платформа). Выкачивается архив со стейтом3 — который несет в себе систему. Установка заключается в компилировании ядра ( у меня заняло около 1ч, т.к у меня 2 проца + 2 Гб РАМ) и после чего, ставим весь необходимый софт из сорцов или бинарных пакетов.

Мною был выбран — stage3. Выкачиваем самый свежий (на момент написание статьи):

livecd ~ # cd /mnt/gentoo/ && wget http://distfiles.gentoo.org/releases/amd64/autobuilds/20170427/stage3-amd64-20170427.tar.bz2

PS: Т.к ссылка что выше, не стабильная, то можно воспользоваться консольным браузером,  например:

livecd ~ # cd /mnt/gentoo && links http://distfiles.gentoo.org/releases/amd64/autobuilds/

Находим нужный файл ( я покажу пример что и выше) и скачиваем его:

Использование links браузера

Скачали, нужно распаковать скачанный архив:

livecd ~ # cd /mnt/gentoo/ && tar xvjpf stage3-*.tar.bz2 && rm -f stage3-*.tar.bz2

Почти все готово к установке.

Преднастройка до установки GENTOO LINUX

Для быстроты установки, выберем зеркало для установки:

livecd ~ # mirrorselect -i -o >>/mnt/gentoo/etc/portage/make.conf

Выбираем зеркало для установки ( ближайшее).

Сейчас нужно настроить DNS:

livecd ~ # cp -L /etc/resolv.conf /mnt/gentoo/etc/

Монтируем необходимые ФС:

livecd ~ # mount -t proc /proc /mnt/gentoo/proc
livecd ~ # mount -o rbind /dev/ /mnt/gentoo/dev/
livecd ~ # mount --make-rslave /mnt/gentoo/dev
livecd ~ # mount --rbind /sys /mnt/gentoo/sys
livecd ~ # mount --make-rslave /mnt/gentoo/sys

Выполняем переход в созданное окружение:

# chroot /mnt/gentoo/ /bin/bash
# env-update && source /etc/profile
# export PS1="(chroot) $PS1"

Создаем папку для портажей:

(chroot) livecd / # mkdir /usr/portage

Делаем слепок дерева portage:

(chroot) livecd / # emerge-webrsync

Обновим портажы:

(chroot) livecd / # emerge --sync

Приступаем к настройке часового пояса

(chroot) livecd / # ln -sf /usr/share/zoneinfo/Region/City /etc/localtime

Где,

  • Region — ваш регион.
  • City — ваш город.

У меня данная команда, выглядела:

(chroot) livecd / # ln -sf /usr/share/zoneinfo/Europe/Kiev /etc/localtime

Приступаем к настройке самих часов:

(chroot) livecd / # nano /etc/conf.d/hwclock

И приводим к виду:

clock="UTC"
clock_systohc="YES"
clock_hctosys="YES"
clock_args=""

Выставляем дату:

(chroot) livecd / # date 043012082017

Sun Apr 30 12:08:00 EEST 2017

Где,

date ММДДччммГГГГГ (формат: Месяц, День, часы, минуты и Год)

Выполняем синхронизацию:

(chroot) livecd / # hwclock --systohc

Или:

(chroot) livecd / # hwclock -w

Настроим локаль:

(chroot) livecd / # nano -w /etc/locale.gen

И добавляем:

en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8

Обновляем информацию:

(chroot) livecd / # locale-gen

Давайте посмотрим список локалей которые доступны:

(chroot) livecd / # eselect locale list


  [1]   C
  [2]   POSIX *
  [3]   en_US.utf8
  [4]   ru_RU.utf8
  [ ]   (free form)

Видим что стоит на 2. Надо выбрать en_US:

# eselect locale set 3

И можно переходить у установке генты.

Выбираем правильный профиль:

(chroot) livecd / # eselect profile list

 [1]   default/linux/amd64/13.0 *
  [2]   default/linux/amd64/13.0/selinux
  [3]   default/linux/amd64/13.0/desktop
  [4]   default/linux/amd64/13.0/desktop/gnome
  [5]   default/linux/amd64/13.0/desktop/gnome/systemd
  [6]   default/linux/amd64/13.0/desktop/plasma
  [7]   default/linux/amd64/13.0/desktop/plasma/systemd
  [8]   default/linux/amd64/13.0/developer
  [9]   default/linux/amd64/13.0/no-multilib
  [10]  default/linux/amd64/13.0/systemd
  [11]  default/linux/amd64/13.0/x32
  [12]  hardened/linux/amd64
  [13]  hardened/linux/amd64/selinux
  [14]  hardened/linux/amd64/no-multilib
  [15]  hardened/linux/amd64/no-multilib/selinux
  [16]  hardened/linux/amd64/x32
  [17]  hardened/linux/musl/amd64
  [18]  hardened/linux/musl/amd64/x32
  [19]  default/linux/uclibc/amd64
  [20]  hardened/linux/uclibc/amd64

Сейчас стоит на 1. Чтобы изменить, используйте (взято для примера):

(chroot) livecd / # eselect profile set 7

Выше, я выбрал 7-й пункт что подразумеваем использования KDE 5 plasma, для такого изменения необходимо изменить make.conf, А именно — дописать нужные «USE» параметры. Но для начала, посмотрим какие имеются в использовании:

(chroot) livecd / # less /usr/portage/profiles/use.desc

Просмотрели, ознакомились и пришло время внести изменения:

(chroot) livecd / # nano /etc/portage/make.conf

В переменной «USE», указываются значения, которые влияют на параметры компиляции. Например, параметр «qt5», включает компиляцию с поддержкой «qt5″», для всех программ, которые могут поддерживать «qt5». А минус перед параметром, например, «-gtk» отключает поддержку «gtk».

Я пропустил данный этап и оставил все как и было!

Можно просмотреть информацию:

(chroot) livecd / # emerge --info

Все подготовлено, можно приступить к компиляции генты.

Установка Gentoo Linux

Я пришел к самому интересному, сборки генты.

-===СПОСОБ 1 — использовать genkernel==-

Установка ядра

Устанавливаем исходных кодов ядра и програмульки genkernel:

(chroot) livecd / # time emerge gentoo-sources -av
(chroot) livecd / # time emerge sys-kernel/genkernel -av

PS: Можно собрать все руками (выкачать и скомпилить ядро). Я выполняю установку через genkernel.

Настройка genkernel

немного модифицируем конфиг:

(chroot) livecd / # nano /etc/genkernel.conf

Приводим к виду:

MENUCONFIG="yes"
CLEAN="no"
SAVE_CONFIG="yes"
MAKEOPTS="-j3"
DISKLABEL="yes"
E2FSPROGS="yes"

MAKEOPTS — определяет, сколько параллельных процессов компиляции должно запускаться при установке пакета. Выставляем данный параметр по количество процессоров или ядер (Не всегда, но его устанавливают на 1 больше) .

Настройка ядра

Настроим ядро для установки с различными компонентами:

(chroot) livecd / # genkernel --menuconfig all

Получил вот такую псевдографику:

Настройка ядра в Gentoo Linux

Сейчас, необходимо включить поддержку ext2-4 (смотря что вы используете), для этого:

File systems --->
   <M> Second extended fs support                                                                                                      │ │  
  │ │                                                             [*]   Ext2 extended attributes                                                                                                      │ │  
  │ │                                                             [*]     Ext2 POSIX Access Control Lists                                                                                             │ │  
  │ │                                                             [*]     Ext2 Security Labels                                                                                                        │ │  
  │ │                                                             <M> The Extended 3 (ext3) filesystem                                                                                                │ │  
  │ │                                                             [*]   Ext3 POSIX Access Control Lists                                                                                               │ │  
  │ │                                                             [*]   Ext3 Security Labels                                                                                                          │ │  
  │ │                                                             {M} The Extended 4 (ext4) filesystem                                                                                                │ │  
  │ │                                                             -*-   Ext4 POSIX Access Control Lists                                                                                               │ │  
  │ │                                                             -*-   Ext4 Security Labels                                                                                                          │ │  
  │ │                                                             [*]   Ext4 Encryption                                                                                                               │ │  
  │ │                                                             [*]   EXT4 debugging support                                                                                                        │ │  
  │ │                                                             [*] JBD2 (ext4) debugging support

Потом нажимаем на сохранить и нажимаем на «save» и потом на «exit». Да начнется после этого — компилирование ядра….

Если ничего не хотите настраивать и оставить все как есть, то выполните:

(chroot) livecd / # genkernel all

-===СПОСОБ 2 ==-

PS: Еще не уверен в полной документации!

А можно, не устанавливать его и собрать все ручками, например (я ядро выкачал через «emerge gentoo-sources -av», но можно скачать его руками — так вы можете получить более новые версии):

(chroot) livecd / # cd /usr/src/linux

Начинаем настройку:

(chroot) livecd / # make menuconfig

После команды этой команды, вы должны выбрать поддержку аппаратного и программного обеспечения.

И начинаем сборку:

(chroot) livecd / # time make -j3

Параметр «-j3», выставляется по количеству ядер ( идеально, ставить «количество ядер +1»). И да, у меня данной действие заняло около 12 минут!

Потом, устанавливаем модули:

(chroot) livecd / # time make modules_install

И перемещяем ядро:

(chroot) livecd / # cp arch/arm64/boot/bzImage /boot/kernel

Где, arm64 —  это архитектура! У вас может отличатся.  ПРИМЕР:

(chroot) livecd /  cp arch/x86_64/boot/bzImage /boot/4.9.16-gentoo

Я указал утилиту «time» для того чтобы посмотреть за сколько оно скомпилируется.

Настройка GENTOO LINUX после установки

Ставим vim и еще ПО которое вспомнил:

(chroot) livecd / # emerge vim htop net-tools net-dns/bind-tools -av

Пропишем хостнейм:

(chroot) livecd / # vim /etc/conf.d/hostname

И, приведем к следующему виду:

HOSTNAME="gentoo-linux"

Еще открываем один файл:

(chroot) livecd / # vim /etc/hosts

И, приведем к следующему виду:

127.0.0.1	localhost gentoo-linux gentoo-linux.localhost
::1		localhost gentoo-linux gentoo-linux.localhost

Ставим logrotate, syslog, vixie, udev:

(chroot) livecd / # emerge logrotate syslog-ng vixie-cron udev sys-fs/e2fsprogs -av

Добавим syslog в автозагрузку:

(chroot) livecd / # rc-update add syslog-ng default

Добавим vixie в автозагрузку:

(chroot) livecd / # rc-update add vixie-cron default

Добавим ssh в автозагрузку:

(chroot) livecd / # rc-update add sshd default

Добавим в автозагрузку демоны:

(chroot) livecd /# rc-update add udev boot

Ставим Gentoolkit:

(chroot) livecd / # emerge gentoolkit -av

Ставим lspci:

(chroot) livecd / # emerge sys-apps/pciutils -av

Ставим dhcp:

(chroot) livecd / # emerge --ask net-misc/dhcpcd

Настрою STATIC IP для моей сетевой карты

Немного отредактируем конфиг :

(chroot) livecd / # vim /etc/dhcpcd.conf

Приводим к виду:

static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

Смотрим что имеется (я за интерфейсы) и запускаем:

(chroot) livecd / # ifconfig 
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.13.184  netmask 255.255.255.0  broadcast 192.168.13.255
        inet6 fe80::20c:29ff:fef4:f748  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f4:f7:48  txqueuelen 1000  (Ethernet)
        RX packets 511220  bytes 484152843 (461.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 349883  bytes 53914988 (51.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eno33554952: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.126  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::20c:29ff:fef4:f752  prefixlen 64  scopeid 0x20<link>
        inet6 fd86:94c4:705c:0:20c:29ff:fef4:f752  prefixlen 64  scopeid 0x0<global>
        ether 00:0c:29:f4:f7:52  txqueuelen 1000  (Ethernet)
        RX packets 367  bytes 43349 (42.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 86  bytes 7883 (7.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

(chroot) livecd / # dhcpcd eno16777728
DUID 00:01:00:01:20:98:fb:04:00:0c:29:f4:f7:48
eno16777728: IAID 29:f4:f7:48
eno16777728: probing address 192.168.0.10/24
eno16777728: soliciting an IPv6 router
eno16777728: using static address 192.168.0.10/24
eno16777728: adding route to 192.168.0.0/24
eno16777728: adding default route via 192.168.0.1
forked to background, child pid 15740
(chroot) livecd / # 

Настрою DHCP для моей сетевой карты

Приступим к настройке сети:

(chroot) livecd / # vim /etc/conf.d/net

И приводим к виду:

config_eno33554952="dhcp"
routes_eno33554952="default via 192.168.0.1"

PS: eno33554952 — это сетевой интерфейс.

И делаем так, чтобы оно работало:

(chroot) livecd / # ln -s /etc/init.d/net.lo /etc/init.d/net.eno33554952
(chroot) livecd / # rc-update add net.eno33554952 default

Сеть — готова!

Вывод:

captain@gentoo-linux ~ $ ifconfig 
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.13.184  netmask 255.255.255.0  broadcast 192.168.13.255
        inet6 fe80::137e:b586:1782:c006  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f4:f7:48  txqueuelen 1000  (Ethernet)
        RX packets 93  bytes 15060 (14.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 78  bytes 13337 (13.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eno33554952: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.127  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fd86:94c4:705c:0:119a:245a:4ec:40c1  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::20c:29ff:fef4:f752  prefixlen 64  scopeid 0x20<link>
        inet6 fd86:94c4:705c::fc8  prefixlen 128  scopeid 0x0<global>
        ether 00:0c:29:f4:f7:52  txqueuelen 1000  (Ethernet)
        RX packets 127  bytes 12099 (11.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 140  bytes 12523 (12.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

captain@gentoo-linux ~ $ 

Переходим к загрузчику.

Используем загрузчик

Их существует несколько, но я буду использовать классический вариант — grub.

-===СПОСОБ 1 — Установка и настройка grub==-

Выполняем экспорт списка всез UUID разделов:

(chroot) livecd / # blkid | grep sda >> /etc/fstab

И просмотрим его:

(chroot) livecd / # cat /etc/fstab | grep -Ev "#|^$"

У меня вышел вот такой вывод:

/dev/sda1: UUID="2dee3fa9-1c6c-4b7d-97d8-3412e2a57eec" TYPE="ext4" PARTUUID="7d59c901-01"
/dev/sda2: LABEL="swap" UUID="2e04f1a7-604b-4ec4-8e70-399913b3b3ae" TYPE="swap" PARTUUID="7d59c901-02"
/dev/sda3: UUID="a2f91a0c-f9d9-4f4b-bc44-f0673f0647dc" TYPE="ext4" PARTUUID="7d59c901-03"

Для установки GRUB2 сначала задайте для переменной GRUB_PLATFORMS одно или более значение в системном make.conf. Если не определять переменную, то GRUB2 сам определит, какая платформа установлена в системе. Он определит pc (для MBR стиля установки) для архитектур x86/amd64:

(chroot) livecd / # vim /etc/portage/make.conf

Прописываем:

# Стандартный PC (BIOS)
GRUB_PLATFORMS="pc"
 
# UEFI на amd64
GRUB_PLATFORMS="efi-64"
 
# Обе UEFI и PC
GRUB_PLATFORMS="efi-64 pc"

ИЛИ, ЭТО МОЖНО СДЕЛАТЬ ОДНОЙ КОМАНДОЙ:

(chroot) livecd / # echo 'GRUB_PLATFORMS="efi-64 pc"' >> /etc/portage/make.conf

Устанавливаем GRUB2:

(chroot) livecd / # emerge --ask --newuse --deep sys-boot/grub:2

Чтобы автоматически определять другие ОС ( например windows, Linux), нужно установить следующий пакет:

(chroot) livecd / # emerge --ask --newuse sys-boot/os-prober

Если будет использоваться винда, то еще ставим:

(chroot) livecd / # emerge --ask --newuse sys-fs/ntfs3g

Установим загрузчик для BIOS:

Создаем папку под граб:

(chroot) livecd / # mkdir /boot/grub

Для установки GRUB2 в MBR, используем:

(chroot) livecd / # grub-install /dev/sda

Installing for i386-pc platform.
Installation finished. No error reported.

При помощи следующей команды, генерируем конфиг под grub:

(chroot) livecd / # grub-mkconfig -o /boot/grub/grub.cfg

Generating grub configuration file ...
Found linux image: /boot/kernel-genkernel-x86_64-4.9.16-gentoo
Found initrd image: /boot/initramfs-genkernel-x86_64-4.9.16-gentoo
done

Все!

Установим загрузчик для EFI:

Чтобы автоматически определять другие ОС ( например windows, Linux), нужно установить следующий пакет:

(chroot) livecd / # emerge --ask --newuse sys-boot/os-prober

Создаем папку под граб:

(chroot) livecd / # mkdir /boot/grub

При помощи следующей команды, генерируем конфиг под grub:

(chroot) livecd / # grub-mkconfig -o /boot/grub/grub.cfg

Если хотите, можно просмотреть:

(chroot) livecd / # vim /boot/grub/grub.cfg

Включение или отключение конфигурационных скриптов
Каталог /etc/grub.d/ содержит скрипты, которые использует grub-mkconfig для генерации файла grub.cfg. По умолчанию содержимое этого каталога должно выглядеть примерно так:

(chroot) livecd / # ls /etc/grub.d/

00_header  10_linux  20_linux_xen  30_os-prober  40_custom  41_custom  README

GRUB2 использует все установленные скрипты, которые помечены как выполняемые (по умолчанию они все включены). Чтобы отключить любой из этих скриптов, просто удалите бит выполнения с скрипт-файла используя команду chmod. В следующем примере все скрипты, кроме 00_header и 10_linux, отключены:

(chroot) livecd / # chmod -x /etc/grub.d/{20_linux_xen,30_os-prober,40_custom,41_custom}

После редактирования скриптов (или удаления бита выполнения), перегенерируйте конфигурационный файл GRUB2 используя grub-mkconfig:

(chroot) livecd / # grub-mkconfig -o /boot/grub/grub.cfg

Generating grub configuration file ...
Found linux image: /boot/kernel-genkernel-x86_64-4.9.16-gentoo
Found initrd image: /boot/initramfs-genkernel-x86_64-4.9.16-gentoo
done

Установка GRUB2 на EFI совместимую систему, используем:

(chroot) livecd / # grub-install --target=x86_64-efi --efi-directory=/boot--bootloader-id=grub

-===СПОСОБ 2 — Установка и настройка LILO==-

Не будет использоваться в рамках данной статьи. Просто описал что он имеются.

-===СПОСОБ 3 — Установка и настройка efibootmgr==-

Не будет использоваться в рамках данной статьи. Просто описал что он имеются.

Последние шаги

Меняем пароль от пользователя root:

(chroot) livecd / # passwd

Создаем нового пользователя для входа:

(chroot) livecd / # useradd -m -G users,wheel,audio -s /bin/bash captain

Назначаем ему пароль:

(chroot) livecd / # passwd captain

И так, уже почти все готово….. Выйдем из виртуальной среды:

(chroot) livecd / # exit

Все примаунченое — уже не нужно, по этому — выполним отмантирование:

# umount /mnt/gentoo/boot 
# umount /mnt/gentoo/dev 
# umount /mnt/gentoo/proc 
# umount /mnt/gentoo

PS: В принципе, можно не выполнять демонтирование, т.к оно само отпадет при ребуте.

И, собственно, сама перезагрузка ОС:

# reboot

Ну что, вот и установленная гента.

Установка  sudo

Я не буду говорить зачем нужно sudo, тут и так понятно. Для начала, логинимся как рут и потом выполняем:

gentoo-linux ~ # emerge --ask app-admin/sudo

Выставим права sudo для моего пользователя:

gentoo-linux ~ # visudo

И прописываем:

root     ALL=(ALL) ALL
captain  ALL=(ALL) NOPASSWD:ALL

Круто, да? Я думал что будет сложно, но потратив около 10-12ч на все — я понял что все просто.

В следующей статье, я опишу установку графической среды ( GUI), а на этом — я завершаю данную тему «Установка Gentoo Linux».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.