Установка Gentoo. Короткая инструкция
Установка Gentoo. Короткая инструкция.⌗
0. Разбивка диска⌗
- EFI System Partition (ESP) - для хранения загрузчика и файлов EFI.
- Swap-раздел - для подкачки и использования в качестве дополнительной памяти, если оперативная память будет исчерпана.
- Корневой раздел - для хранения основных системных файлов и программ.
- /home раздел - для хранения пользовательских данных и настроек. Пример разбивки на основном диске /dev/sda:
/dev/sda1 - 512M - EFI System Partition (ESP)
/dev/sda2 - 8G - Linux swap
/dev/sda3 - 50G - Linux filesystem (ext4) - корневой раздел /
/dev/sda4 - оставшееся пространство - Linux filesystem (ext4) - раздел /home
Выполните разбивку диска с помощью утилиты gdisk или parted:
gdisk /dev/sda
или
parted /dev/sda
Создайте файловые системы на разделах и смонтируйте их:
mkfs.fat -F32 /dev/sda1
mkswap /dev/sda2
swapon /dev/sda2
mkfs.ext4 /dev/sda3
mkfs.ext4 /dev/sda4
Теперь смонтируйте разделы в соответствующие места:
mount /dev/sda3 /mnt/gentoo
mkdir /mnt/gentoo/home
mount /dev/sda4 /mnt/gentoo/home
После установки Gentoo, не забудьте указать разделы в файле /etc/fstab. Вот пример файла /etc/fstab для данной разбивки диска:
/dev/sda1 /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/sda2 none swap sw 0 0
/dev/sda3 / ext4 defaults 1 2
/dev/sda4 /home ext4 defaults 1 2
1. Stage-3⌗
Первым делом загрузите актуальный образ
wget https://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3-amd64-openrc/stage3-amd64-openrc-20220320T170531Z.tar.xz
извлекаем
tar xpf stage3* --xattrs-include='*.*' --numeric-owner
Монтируем и делаем chroot
cd /mnt/gentoo
mount --types proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
mount --bind /run /mnt/gentoo/run
mount --make-slave /mnt/gentoo/run
cp /etc/resolv.conf etc && chroot . /bin/bash
source /etc/profile
export PS1="(chroot) ${PS1}"
2. Настройка системы⌗
2.1 Конфигурация репозитория⌗
Пример базового make.conf
CFLAGS="-march=broadwell -O2 -pipe"
CXXFLAGS="${CFLAGS}"
CHOST="x86_64-pc-linux-gnu"
USE_X=""
USE_SYSTEM=""
USE_MEDIA=""
USE_NET=""
USE_DEV=""
USE_OFFICE=""
USE_VIRT=""
USE_ARCHIVES="lzo rar zip"
USE_CPUFLAGS_LEGACY="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"
USE_LLVM=" -llvm_targets_AArch64 -llvm_targets_AMDGPU -llvm_targets_ARM -llvm_targets_AVR -llvm_targets_BPF -llvm_targets_Hexagon -llvm_targets_Lanai -llvm_targets_MSP430 -llvm_targets_Mips -llvm_targets_NVPTX -llvm_targets_PowerPC -llvm_targets_RISCV -llvm_targets_Sparc -llvm_targets_SystemZ -llvm_targets_XCore -llvm_targets_ARC -llvm_targets_CSKY -llvm_targets_M68k -llvm_targets_VE"
USE="-bindist $USE_X $USE_SYSTEM $USE_MEDIA $USE_NET $USE_OFFICE $USE_VIRT $USE_ARCHIVES $USE_DEV $USE_LLVM"
MAKEOPTS="-j8 -s"
EMERGE_DEFAULT_OPTS="--jobs 2 --load-average 10 --quiet-build y"
CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"
FEATURES="parallel-fetch metadata-transfer candy sandbox -xattr"
GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/"
ABI_X86="64"
ACCEPT_LICENSE="*"
# PORTDIR="/var/db/repos/"
REPOSDIR="/var/db/repos"
DISTDIR="${REPOSDIR}/distfiles"
PKGDIR="${REPOSDIR}/packages"
DARKELF_FEATURES="postmerge_distclean"
LINGUAS="ru ru_RU"
L10N="$LINGUAS"
GRUB_PLATFORMS="efi-64"
VIDEO_CARDS="nvidia i965"
ALSA_CARDS="hda-intel intel8x0"
INPUT_DEVICES="evdev mouse"
CAMERAS="ptp2"
PYTHON_TARGETS="python3_10"
PYTHON_SINGLE_TARGET="python3_10"
LLVM_TARGETS="X86 WebAssembly"
Синхронизируем и обновляем
emerge-webrsync && emerge -avuDN @world
2.2 Установка локали⌗
Добавить в /etc/env.d/02locale
LANG=ru_RU.UTF8
LC_COLLATE="C"
Добавить в /etc/locale.gen
ru_RU.UTF-8 UTF-8
en_US.UTF-8 UTF-8
C.UTF8 UTF-8
и запустить
locale-gen
2.3 Установка имени хоста⌗
Добавить в /etc/conf.d/hostname
HOSTNAME="dmitry-pc"
2.3 Установка часового пояса⌗
Делаем симлинк для файла с нужным временем в /etc/localtime
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
2.4 Настройка ядра⌗
2.4.1 Подготовка⌗
Устанавливаем исходники и genkernel
emerge -av sys-kernel/gentoo-sources sys-kernel/linux-firmware sys-kernel/genkernel
Проверяем, что ядро есть в списке
eselect kernel list
и выбираем его как основное
eselect kernel set 1
это создаст симлинк на /usr/src/linux/
.
2.4.2 Настраиваем genkernel⌗
Перед конфигурацие ядра надо настроить /etc/genkernel.conf
в соответствии с системой где это все будет работать
2.4.3 Настройка и сборка ядра⌗
Генерируем конфигурационный файл ядра и собираем его(sys-apps/pciutils может помочь собрать данные о модулях)
genkernel --menuconfig all
если конфиг уже есть (/usr/src/linux/.config
), тогда просто запускаем
genkernel --oldconfig all
2.4.4 Пересобираем систему с новым конфигом ядра (опционально)⌗
emerge -e @world
2.4.5 Параметры загрузчика⌗
В файле /etc/default/grub
устанавливаем параметры ядра с которыми система будет загружена. Т.к. у меня видеокарта Nvidia и использую проприоритарные драйверы по-умолчанию, то добавляю в черный список opensource драйверы и активирую drm
GRUB_CMDLINE_LINUX="rd.driver.blacklist=nouveau modprobe.blacklist=nouveau net.ifnames=0 biosdevname=0 nvidia-drm.modeset=1 resume=/dev/mapper/VolGroup-lvolswap rd.lvm.lv=VolGroup/lvolswap hid_apple.fnmode=2 retbleed=stuff mitigations=off rhgb quiet splash"
Так же переключаю на старое именование сетевых интерфейсов (eth0/1/2,wlan0/1/2) net.ifnames=0 biosdevname=0
.
Начиная с ядра 6.2 стало возможно исправить проблему Retbleed установив специальный параметр retbleed=stuff mitigations=off
и тем самым немного повысить производительность CPU в системе. Подробнее можно прочитать тут: https://www.phoronix.com/review/skylake-retbleed-stuff
Для сохранения изменений выполняем
sudo grub-mkconfig -o /boot/grub/grub.cfg
3. Настройка пользователей⌗
Устанавливаем пароль для root
passwd
Создаем нового пользователя с группой по-умолчанию
groupadd dmitry
useradd -g dmitry -G wheel,portage,audio,video,usb,cdrom -m dmitry
задаем пароль
passwd dmitry
4. Настройка окружения⌗
4.1 vsonsole⌗
Vconsole - это инструмент для настройки параметров виртуальной консоли, таких как шрифты и раскладки клавиатуры. Установите его и настройте согласно вашим предпочтениям:
emerge --ask sys-apps/v86d
nano /etc/vconsole.conf
...
FONT=ter-v12n
4.2 eix⌗
Eix - это инструмент для поиска и работы с пакетами в Gentoo. Установите его и обновите его базу данных:
emerge --ask app-portage/eix
eix-update
4.2 KDE⌗
Прежде чем устанавливать KDE Plasma, нужно установить Xorg, базовую систему отображения графического интерфейса. Для этого выполните следующую команду
emerge --ask x11-base/xorg-drivers x11-base/xorg-server
Затем следует выбрать профиль, который содержит описания пакетов для KDE
eselect profile list
eselect profile set <номер профиля с KDE>
И устанавливаем мета-пакет
emerge --ask --verbose --update --deep --newuse @world
emerge --ask kde-plasma/plasma-meta
4.2.1 Вход⌗
Еще нужно окно входа в сеанс, будем использовать sddm
emerge --ask x11-misc/sddm
systemctl enable sddm
4.2.2 Звук⌗
Установите систему звука PulseAudio и соответствующие утилиты:
emerge --ask media-sound/pulseaudio
4.2.3 Приложения⌗
Gentoo предоставляет множество приложений KDE, которые можно установить по желанию. Например, установите набор приложений из KDE Applications:
emerge --ask kde-apps/kde-apps-meta
Теперь все готово для использования KDE Plasma на вашей системе Gentoo! Завершите установку, выполнив перезагрузку:
reboot
После перезагрузки вы увидите экран приветствия SDDM, и сможете войти в свой аккаунт. Наслаждайтесь вашим новым рабочим окружением KDE Plasma на Gentoo Linux!
Полную инструкцию по установке и настройке Gentoo всегда можно найти тут: Handbook