Я хотел бы рассказать об относительно простом способе установки Gentoo Linux на персональный компьютер. Во многом это будет "бинарная установка", однако на любом этапе вы способны выбрать source версию компонентов. Здесь будет просто ужимка Handbook'а и пара автоматизаций, которые я сам использую при установке Gentoo, поэтому для более полной картины можно прочитать сам Handbook.
Gentoo Handbook - https://wiki.gentoo.org/wiki/Handbook:Main_Page
Поехали!
Немного о процессе установки. В качестве Live-образа можно использовать как официальный Live-CD, так и любую другую систему такого типа. Лично я рекомендую использовать Linux Mint: загрузился и сразу начинаешь устанавливать ОС. Однако никто не мешает использовать что-то иное, тут уже на ваш выбор.
1. Узнаем название тома и откроем разметчик диска.
Для примера я буду использовать /dev/sda/
sudo su # не забываем про рут
lsblk
cfdisk /dev/sda
Отлично. Теперь разобьём диск на нужные разделы. Лично я всегда использую следующую разметку:
- /dev/sda1 (512MB) — /boot/efi
- /dev/sda2 (1GB) — swap
- /dev/sda3 (всё остальное) — /
Как вариант можно разделить root и home, однако тут уже по желанию.
2. Создаём файловые системы на нашем диске.
mkfs.fat -F 32 /dev/sda1 # раздел для Grub
mkswap /dev/sda2 # swap-раздел
mkfs.ext4 /dev/sda3 # раздел для корня в ext4
3. Монтируем!
Разработчики Gentoo рекомендуют монтировать разделы не в /mnt (как происходит, например, в Arch Linux), а именно в /mnt/gentoo. Не будем сильно противиться и сделаем по их рекомендации.
mkdir /mnt/gentoo # создаём общую директорию монтирования
mkdir -p /mnt/gentoo/boot/efi # создаём директорию для раздела загрузки
mount /dev/sda1 /mnt/gentoo/boot/efi
swapon /dev/sda2
mount /dev/sda3 /mnt/gentoo
4. Хватаем stage3 архив и скачиваем к нам в папку.
На сайте с загрузкой мы видим следующие виды архивов:
- Stage 3 (openrc) — базовая система с системой инициализации OpenRC.
- Stage3 (systemd | merged usr) — базовая система с systemd и объединенными /usr и /bin, /sbin, /lib, /lib64.
- Stage 3 (desktop profile | openrc) — система уже с собранным desktop-профилем и OpenRC (о профилях расскажу чуть позднее).
- Stage 3 (desktop profile | systemd | merged usr) — тут думаю понятно, что к чему.
Я лично использую Stage3 с OpenRC и готовым desktop профилем, однако вы можете выбрать любой архив под ваши задачи и нужды. Нажмём ПКМ по профилю и скопируем ссылку для скачивания. Загрузим архив в /mnt/gentoo.
cd /mnt/gentoo
wget https://distfiles.gentoo.org/releases/amd64/autobuilds/20240204T134829Z/stage3-amd64-desktop-openrc-20240204T134829Z.tar.xz # OpenRC + Desktop Profile
Распакуем архив.
tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner
5. Конфигурируем portage.
Думаю, я не буду затрагивать тему CFLAGS и CXXFLAGS, так как на таком раннем этапе это не очень актуально. После установки ОС вы сможете ознакомиться со всем с помощью отличной документации самого дистрибутива.
Зададим MAKEOPTS. Тут всё зависит от ресурсов вашего компьютера. Одна задача занимает около 2 гигабайт оперативной памяти. Следовательно, флаг "-j2" будет занимать 4 ГБ ОЗУ и так далее. В моем случае я возьму "-j6" как самый средний вариант.
nano /mnt/gentoo/etc/portage/make.conf
....
MAKEOPTS="-j6"
Сразу зададим зеркало для репозиториев. Зеркала можно посмотреть здесь:
https://www.gentoo.org/downloads/mirrors/
По аналогии с прошлым - скопируем ссылку и добавим в /mnt/gentoo/etc/portage/make.conf следующее:
....
GENTOO_MIRRORS="ваше зеркало"
Примем необходимые лицензии. Я принимаю все, потому пропишу:
....
ACCEPT_LICENSE="*"
6. "Чрутнемся" в нашу Gentoo.
Для начала скопируем информацию про DNS, чтобы сеть продолжала работать внутри новой системы. Также в Debian-based дистрибутивах можно установить пакет "arch-install-scripts", который поможет нам сделать действие в одну команду.
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
arch-chroot /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
Обязательно! Если используете не LiveCD от Gentoo, то проверим отсутствие симлинка с /dev/shm на /run/shm и сделаем /dev/shm временной файловой системой.
test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm
chmod 1777 /dev/shm /run/shm
Если вы не использовали arch-chroot, то зайдем в нашу систему.
chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) ${PS1}"
7. Обновляем репозитории.
emerge-webrsync
8. Выбираем профиль.
Профиль - это как набор пакетов, собранных для определенных целей или задач. Например, Desktop Profile представляет собой набор программного обеспечения, нацеленный на использование системы в качестве десктопа. Desktop Gnome предназначен для удобства работы с окружением GNOME на операционной системе и так далее. Такие профили помогают быстро настроить систему под определенные нужды пользователя.
Давайте посмотрим, какие профили вообще есть.
eselect profile list
Available profile symlink targets:
[1] default/linux/amd64/17.1 (stable)
[2] default/linux/amd64/17.1/selinux (stable)
[3] default/linux/amd64/17.1/hardened (stable)
[4] default/linux/amd64/17.1/hardened/selinux (stable)
[5] default/linux/amd64/17.1/desktop (stable) *
[6] default/linux/amd64/17.1/desktop/gnome (stable)
[7] default/linux/amd64/17.1/desktop/gnome/systemd (stable)
[8] default/linux/amd64/17.1/desktop/gnome/systemd/merged-usr (stable)
[9] default/linux/amd64/17.1/desktop/plasma (stable)
[10] default/linux/amd64/17.1/desktop/plasma/systemd (stable)
[11] default/linux/amd64/17.1/desktop/plasma/systemd/merged-usr (stable)
[12] default/linux/amd64/17.1/desktop/systemd (stable)
[13] default/linux/amd64/17.1/desktop/systemd/merged-usr (stable)
........
Здесь мы можем увидеть, какие профили есть в нашей системе. Если вы собираетесь использовать оконные менеджеры, или там Xfce или Mate, я советую выбрать профиль "default/linux/amd64/17.1/desktop (stable)". Если же вы планируете использовать Plasma или GNOME, то следует выбрать соответствующие профили. В моем случае я выберу 5-й профиль.
eselect profile set 5
9. USE-флаги и обновление "миров".
Маленькая справочка:
USE-флаги позволяют очень гибко конфигурировать ПО, включая или выключая те или иные возможности. Приведу пример. Вы хотите установить KDE Plasma, но не хотите тащить с ней GTK. В USE-флагах вы просто выставляете значение "-gtk", тем самым отключая поддержку GTK для всего ПО. Тут всё очень индивидуально, но в целом для базовой установки их можно не настраивать.
Пора обновить "миры", грубо говоря, установить пакеты из профиля и обновить систему.
emerge --ask --verbose --update --deep --newuse @world
Если вы взяли Stage3 без десктоп-профиля, но выбрали его позднее - ждите, просто ждите. У меня это заняло порядка 4 часов, и это ещё не так много. В общем, не стоит бояться, мы собираем Gentoo.
10. Настраиваем время и локали.
Если вы используйте OpenRC, то пропишите данную команду.
echo "Europe/Moscow" > /etc/timezone
Europe/Moscow это стандартное юниксовое время. Вы можете изменить его на своё, например, Europe/Saint Petersburg и так далее.
Если же у вас systemd, то всё так же как и в Arch Linux.
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Локали, как и в арче, находятся в /etc/locale.gen. Однако вместо списка там надо будет написать свои.
nano /etc/locale.gen
....
en_US.UTF-8 UTF-8 # английский
ru_RU.UTF-8 UTF-8 # русский
locale-gen
11. Ставим ядро.
Первое что рекомендую, так это установить linux-firmware.
emerge --ask sys-kernel/linux-firmware
Теперь, для установки ядра, установим пакет installkernel (не ядро). Однако перед установкой, добавим поддержку Dracut (без него у меня не завелось, по крайней мере).
nano /etc/portage/package.use/installkernel
....
sys-kernel/installkernel dracut
Давайте установим сам пакет.
emerge --ask sys-kernel/installkernel
Классно! Выбираем ядро.
Gentoo предлагает два варианта - gentoo-kernel и gentoo-kernel-bin. Если вы хотите сами собрать ядро, сконфигурировать его под своё железо и получить этот бесценный опыт сборки ядер, то берите стандартный gentoo-kernel.
Я же возьму бинарное, так как с ним куда меньше возни.
emerge --ask sys-kernel/gentoo-kernel-bin
12. Заполняем fstab.
Если вы установили пакет arch-install-scripts, то просто выполните следующее.
genfstab -U /mnt/gentoo > /mnt/gentoo/etc/fstab
Если нет, то можно взять скрипт с гитхаба: https://github.com/glacion/genfstab
13. Зададим hostname.
echo gentoo > /etc/hostname
Вместо "gentoo" можно брать любое, какое душе угодно, естественно.
14. Заполняем /etc/hosts.
К уже существующим строкам добавим:
....
127.0.0.1 gentoo
15. Ставим важный дополнительный софт.
Думаю, что без DHCP и Grub будет тяжеловато, поэтому установим их командой ниже.
emerge --ask net-misc/dhcpcd sys-boot/grub sys-boot/efibootmgr
16. Конфигурируем GRUB.
GRUB можно установить данными командами:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=gentoo
grub-mkconfig -o /boot/grub/grub.cfg
17. Задаём пароль и делаем юзера.
passwd # пароль для рута
useradd -m vantiki # добавляем пользователя
passwd vantiki # даём пароль пользователю
18. Перезагружаемся и получаем нашу Gentoo!
exit # выходим из chroot
umount -R /mnt/gentoo # отмонтируем все диски
reboot # перезагружаемся
Вот и всё. Дальше вы можете установить sudo, поставить иксы, рабочее окружение - тут уже всё зависит от вас и ваших предпочтений. Если интересно, могу подготовить статью по типу "Gentoo после установки", где расскажу как я всё настраивал в моем случае, какие проблемы возникли и как их решать.
Спасибо за прочтение и удачного дня.
Комментарии
15:07
15:48
15:51
16:26
Ну, не знаю, за неполные 10 лет на Линуксе чувствую себя стабильно и комфортно именно на плазменной Кальке (второй год уже...).
16:37
10:11
13:13
Да, это такой варианат "на минималках", потому что уже собрана Сашей на его серверах, серверы для скачивая в разных частях света, готовые сборки с разными окружениями, но и свои накатить можно из репозиориев.
Минус или нет, но это дистриубутив общего назначения, то есть подойдёт большинству, но вряд ли всем. Вот как разработчики Gentoo шаг в сторону упрощения/ускорения установки в виде формирования бинарных пакетов, так и тут — уже готовое.
13:19
Calc легко переходит в gentoo и наоборот, так что можно ставить calc и его в gentoo!))) Это быстрее всего вот этого)
14:17
Да и потом, кроме начальной сборки и установки надо потом смочь проблемы решить. Иначе зачем ставить?.. Так что и Gentoo-based не станут таковыми.
14:42
13:44
16:02
"Советуют ставить вручную" - выглядит как совет, а реально только это и остаётся, ведь при установке он не встаёт (а может уже поправили). И ещё там по умолчанию zram, поэтому нужно подумать, будет ли это вам полезно, а если нет, то как не включать, чтобы потом не возиться с отключением.
Из моего опыта, для обновлений зеркала mephi лучше, чем yandex.
16:23
13:18
Да и статью я тут как-то писал про установку calculate_linux_scratch - там вроде все разжевано и также ничего сложного (уж точно не сложнее генту, пусть даже и со stage-3)
13:37
14:24
https://postimg.cc/Yjb82ttV
15:46
15:48
15:53
16:27
Интересно и полезно.
Вот...
16:38
22:36
13:03
17:10
Собрал "мир", а он как на картинке - да ну нафиг!
18:50
07:13
10:08
Но ... красноглазить....
Продолжение с удовольствием прочитаю
03:40
Слава Богу хоть опенрц.
Уберите свои поганые руки от единственного оставшегося "островка свободы". :-)
Кстати не рекомендую arch-install-scripts. Глючит.
Пользуйтесь старым добрым blkid.
blkid >> /etc/fstab (после chroot !!!) а потом ручками подредактируете.
Так же не рекомендую сторонний образ для установки. Работают, но могут быть непредвиденные сложности. Проще скачать с сайта установочный образ. Кстати рекомендую образ admin.
Это были эмоции, теперь пойдём по пунктам.
Перед установкой советуй установить кириллический фонт(шрифт).
"setfont UniCyrExt_8x16" (кавычки при вводе не нужны)
а затем добавить его в /etc/conf.d/consolefont
и сделать: "rc-update add consolefont boot" (все эти шаги после chroot, ну или после перезагрузки)
Далее: на второй консоли (нажимаем Alt-F2) вводим то же "setfont UniCyrExt_8x16" (кавычки при вводе не нужны). Набираем "links gentoo.org" (кавычки при вводе не нужны)
Вы на сайте Gentoo. Идёте в саппорт-доки-хэндбук. Выбираете свой язык и платформу. И с Этого момента Вам, в приципе, все остальные руководства должны быть по-боку :-)
Но пока Вы туда не зашли, далее:
Не раскрыта тема кириллизации. И переключения раскладок до запуска X-ов.
в файле /etc/conf.d/keymaps есть строка: keymap="?????"
вставте туды свою любимую комбинацию.
Вcе возможные комбинации лежат в /usr/share/keymaps/i386/qwerty
И если Вы привыкли к стандартным клавиатурам, то начинаются они (раскладки) с ru_win_
Далее:
Зачем создавать Efi раздел? И вообще использовать EFI? Вы же Gentoo ставите. Достаточно создать раздел для /boot - 256-512 Mb ext2(4).
И если памяти в машине более 32 Гигов, то про свап тоже можете забыть. (IMHO)
И ещё, отдельная тема "Сеть".
При установки на "стационарный компьютер" проблемм быть не дОлжно. Да и вообще если сеть проводная тоже.
А вот при установке с ВайФайем. отдельная тема. надеюсь она Вас не коснётся.
далее имхо:
Раз уж Вы взялись за Гентоо, то уж извольте и ядро скомпилировать :-)
И для этого не обязательно ручками его редактировать.
Изначально достаточно установить пакет genkernel. И набрать "genkernel all" :-)
Правда если у Вас 2 ядра и 2 гига. :-) процесс займёт от 16 до 48 часов. :-)
В качестве ПостСкриптум. Если у Вас 2 ядра и 2 гига, как у моего ноута. То я предварительно устанавливаю и настраиваю distcc. Это в разы ускорят процесс установки самой системы, но не влияет на время компиляции ядра.
P.S.S.
Я думаю далее должна последовать установка "комфортной среды". Типа Матэ, Крысы или Кед. И там тоже есть подводные камни. По крайней мере при установке в Крысы (XFCE4)..
13:12