Рубрики
gentoo Конспект

Конспект: gentoo BIOS + MBR

0.Вводное:

Страница загрузки:
https://www.gentoo.org/downloads/

live cd:
https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20220612T170541Z/install-amd64-minimal-20220612T170541Z.iso
https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20220605T170549Z/livegui-amd64-20220605T170549Z.iso


Официальная wiki gentoo на русском:
https://wiki.gentoo.org/wiki/Handbook:AMD64/ru

Не официальное:
https://pingvinus.ru/note/gentoo-easy-install
https://an9wer.github.io/2020/06/06_Gentoo%20installation.html

Настройка сети ручная:
ip a  a 192.168.1.100 dev eth0
ip route add default via 192.168.1.1
Настройка сети dhcp:
dhcp eth0
dhcpcd -HD eth0

Настройка DNS:
ping ya.ru
vim /etc/resolv.conf

Посмотреть текущий ip:
ip a

Смена пароля тукущего пользователя:
!!! Если требования к паролю кажутся очень завышенными, то редактируем файл /etc/security/passwdqc.conf
!!! min=1,1,1,1,1
!!! useradd -m -G wheel,audio,video <имя пользователя>
!!! passwd <имя пользователя>
passwd

Запуск sshd на livecd:
rc-service sshd start

!!! Теперь мы можем подключится по ssh и продолжить установку.

1. Рекомендованная разметка диска BIOS + MBR

Раздел	    Описание                                      Код для fdisk
/dev/vda1	Системный (и загрузочный) раздел MBR          -> код 83
/dev/vda2	Раздел подкачки                               -> код 82
/dev/vda3	Корневой раздел                               -> код 83
 
Разметка диска:
fdisk /dev/vda
p - показать разметку
o - сделать mbr таблицу
d - удалить
n - создать раздел (enter enter +128M)
n - создать раздел (enter enter +512M)
n - создать раздел (enter enter enter)
t - установить тип раздела (1 83)
t - установить тип раздела (2 82)
t - (не требуется 20 по умолчанию для нового раздела ) установить тип раздела (3 83)
 
Накатываем файловые системы и включаем swap
mkfs.ext2 /dev/vda1
mkfs.ext4  /dev/vda3
# # mkfs.ext4 -T small /dev/sda3 - рекомендуется если раздел меньше 9Гб
mkswap /dev/vda2
swapon /dev/vda2

2. Подготовка к установке stage3

Создаем директорию:
mkdir /mnt/gentoo
Монтируем:
mount /dev/vda3 /mnt/gentoo

Переходим в каталог  /mnt/gentoo:
cd /mnt/gentoo

Скачиваем stage3:
!!! Выбор правильного базового архива для системы впоследствии может сэкономить значительное количество времени, затраченное на установку.
!!! Рекомендуется выбрать multilab \ systemd
wget https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20220612T170541Z/stage3-amd64-desktop-systemd-20220612T170541Z.tar.xz

Распаковываем только что скаченный архив stage3:
!!! Убедитесь, что указаны те же самые параметры (xpf и --xattrs-include='*.*').
!!! x указывает на извлечение (extract)
!!! p для сохранения (preserve) прав доступа и f для обозначения, что мы хотим извлечь файл (file)
!!! а не стандартный ввод. --xattrs-include='*.*' позволит также сохранить расширенные атрибуты во всех пространствах имен хранящиеся в архиве
!!! --numeric-owner используется для того, чтобы убедиться что идентификаторы пользователей и групп распаковываемых файлов останутся такими же
!!! как и задумывались командой Gentoo по подготовке релизов (даже если предприимчивые пользователи не используют официальный установочный носитель Gentoo)

tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner


Настройка параметров компиляции:
!!! какой редактор выбрать решать вам, но в процессе установки у меня пропадал vim
!!! везде в руководстве используют nano -w
nano -w /mnt/gentoo/etc/portage/make.conf
vim  /mnt/gentoo/etc/portage/make.conf

Значения по умолчанию для (/mnt/gentoo/etc/portage/make.conf):
# Флаги компилятора, используемые для всех языков
COMMON_FLAGS="-march=native -O2 -pipe"
# Используйте те же настройки для обеих переменных
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
# Использование большого количества процессов может значительно повлиять на потребление памяти.
# Хорошая рекомендация — имейте не менее 2 Гб свободной оперативной памяти на каждый #поток (так, например, для -j6 потребуется не менее 12 ГиБ).
# Чтобы избежать нехватки памяти, уменьшите количество процессов
MAKEOPTS="-j2"

Необязательно: Выбор зеркала
mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
mkdir --parents /mnt/gentoo/etc/portage/repos.conf
cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

3. Копирование DNS:


cp --dereference /etc/resolv.conf /mnt/gentoo/etc/

4. Монтирование разделов

Монтирование необходимых файловых систем для продолжения установки:
!!! /proc/ — псевдофайловая система (она выглядит как обычные файлы, но на самом деле генерируется на лету), через которую ядро Linux предоставляет информацию для окружения
!!! /sys/ — псевдофайловая система, как и /proc/, которую она однажды заменит, также она более структурирована, чем /proc/
!!! /dev/ — это обычная файловая система, частично управляемая менеджером устройств Linux (обычно udev), которая содержит все файлы устройств
!!! /run/ — временная файловая система, используется для генерации файлов на лету used, таких как PID файлы или файлы блокировки
!!! Параметр --make-rslave необходим для дальнейшей поддержки systemd в ходе установки.
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

Переход в новое окружение:
!!! Выполнить последовательно по одной
chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) ${PS1}"

5. Установка и обновление portage

Настройка Portage:
!!! emerge-webrsync - для загрузки снимка используется только протоколы HTTP/HTTPS,а также когда необходимо снизить нагрузку канал сети
emerge-webrsync

Необязательно: Обновление репозитория ebuild-файлов Gentoo
emerge --sync
emerge --sync --quiet

Чтение новостей:
eselect news list
eselect news read
man news.eselect

Выбор подходящего профиля:
eselect profile list
eselect profile set 2

Обновление набора @world:
emerge --ask --verbose --update --deep --newuse @world

Необязательно: Настройка переменной USE:
!!! Полное описание всех доступных USE-флагов можно найти в файле /var/db/repos/gentoo/profiles/use.desc.
less /var/db/repos/gentoo/profiles/use.desc
Простой способ проверить какие настройки используются для USE:
emerge --info | grep ^USE - собственно не будем ничего мудрить вывод этой команды нам пригодится для сборки нашей системы


Необязательно: Добавим флаги USE:
!!! Если USE-флаг определён в /etc/portage/make.conf, он будет добавлен (или удалён, если перед USE-флагом написан знак -) в список по умолчанию.
!!! USE флаги могут быть удалены добавлением знака - перед флагом. Например, чтобы выключить поддержку для графических окружений X, нужно задать -X
nano -w /etc/portage/make.conf
------------------------------
USE="X kde bash-completion curl apache2 djvu doc gui gzip handbook man mmap lzma lz4 lzo mysql networkmanager pdf perl php plasma python rdp ssl systemd"
------------------------------


Настройка переменной ACCEPT_LICENSE
vim /etc/portage/make.conf
--------------------------
ACCEPT_LICENSE="*"
--------------------------

Установка vim:
emerge --ask app-editors/vim

6. Язык / время / locale

 ntpd -q -g


Временная зона:
echo "Europe/Moscow" > /etc/timezone
emerge --config sys-libs/timezone-data
ln -sf ../usr/share/zoneinfo/Europe/Moscow /etc/localtime

Настройка локалей:
nano -w /etc/locale.gen
-----------------------
en_US ISO-8859-1
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
-----------------------
Генерируем локали:
locale-gen

Выбор локали:
!!! Это всё ещё можно сделать вручную с помощью файла /etc/env.d/02locale (для Systemd с помощью файла /etc/locale.conf)
eselect locale list
eselect locale set 8

Заново перезагружаем окружение:
env-update && source /etc/profile && export PS1="(chroot) ${PS1}"

7.0 kernel, ручная сборка ядра:

Настройка ядра Linux:
emerge --ask sys-kernel/linux-firmware
emerge --ask sys-kernel/gentoo-sources

!!! Гайд https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Kernel/ru
!!! virtio https://wiki.gentoo.org/wiki/QEMU/Linux_guest
cd /usr/src/linux
#make defconfig
#make kvm_guest.config
make menuconfig
make && make modules_install
make install
!!! Необязательно: Сборка initramfs
!!! emerge --ask sys-kernel/dracut
!!! dracut --kver=4.9.16-gentoo

7.1 Kernel, автоматическая сборка ядра:

!!! Не рекомендую этот способ сборки ядра
!!! Обычно, символьная ссылка /usr/src/linux указывает на исходный код текущего работающего ядра.
!!! Однако, эта символьная ссылка не создаётся по умолчанию. Создать её поможет kernel модуль для eselect.
eselect kernel list
eselect kernel set 1
!!! Для сборки ядра
nano -w /etc/fstab
------------------
/dev/vda1	/boot	vfat	defaults	0 2
------------------
!!! ставим пакет genkernel и собираем ядро
emerge --ask sys-kernel/genkernel
!!! genkernel --menuconfig all - если требуется что то добавить, например virtio драйверы
!!! genkernel --no-clean --menuconfig all - очистка не будет производится
genkernel all
Устанавливаем файлы прошивки:
emerge --ask sys-kernel/linux-firmware
!!! Проверяем:
ls /boot/vmlinu* /boot/initramfs*
!!! Если для корневого раздела не используется файловая система ext4, возможно, придётся вручную настроить ядро используя genkernel --menuconfig all и добавив поддержку нужной ФС (т.е. не как модуля).
!!! Пользователям LVM2 следует также добавить --lvm в качестве аргумента.

7.2 Kernel virtio support

!!! Если вы используете genkernel, не создавайте драйверы VirtIO в виде модулей, скомпилируйте их в ядро.
!!! https://wiki.gentoo.org/wiki/QEMU/Linux_guest
Processor type and features  --->
    [*] Linux guest support --->
        [*] Enable Paravirtualization code
        [*] KVM Guest support (including kvmclock)
Device Drivers  --->
    [*] Virtio drivers  --->
        <*> PCI driver for virtio devices
    [*] Block devices  --->
        <*> Virtio block driver
    SCSI device support  --->
        [*] SCSI low-level drivers  --->
            [*] virtio-scsi support
    [*] Network device support  --->
        [*] Network core driver support
            <*> Virtio network driver
    Graphics support  --->
        <*> Virtio GPU driver
    Character devices ---> 
       <*>   Hardware Random Number Generator Core support --->
           <*>   VirtIO Random Number Generator support

7.3 Kernel Virtio drivers \ virtual host:

!!! https://wiki.gentoo.org/wiki/QEMU/Linux_guest

emerge --ask sys-kernel/linux-firmware
emerge --ask sys-kernel/gentoo-sources
cd /usr/src/linux
make defconfig
make kvm_guest.config
make && make modules_install
make install

!!! grub MBR
echo 'GRUB_PLATFORMS="pc"' >> /etc/portage/make.conf
echo 'sys-boot/grub -fonts -nls -themes' > /etc/portage/package.use/grub
emerge --ask sys-boot/grub:2

vim /etc/default/grub
---------------------
GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0"
GRUB_TERMINAL=console
---------------------

vim /etc/inittab
----------------
# SERIAL CONSOLES
s0:12345:respawn:/sbin/agetty -L 115200 ttyS0 vt100
----------------

grub-install /dev/vda
grub-mkconfig -o /boot/grub/grub.cfg

7.3 Готовые образы ядра

!!! Сборка ядра достаточно увлекательное занятие
!!! Если совсем все плохо, рекомендуется установить готовое ядро
emerge --ask sys-kernel/installkernel-systemd-boot
emerge --ask sys-kernel/gentoo-kernel-bin
emerge --ask @module-rebuild

8. Настройка системы:


монтирование дисков в fstab
!!! blkid - получаем UUID дисков, правильно будет монтировать диски по UUID
Вносим наши точки монтирования:
vim /etc/fstab
------------------
/dev/vda1   /boot        ext2    defaults,notime      0 2
/dev/vda2   none         swap    sw                   0 0
/dev/vda3   /            ext4    noatime              0 1
------------------
Проверяем:
mount -a


Информация об узле и домене:
nano -w /etc/conf.d/hostname
----------------------------
hostname="tux"
----------------------------

hostnamectl hostname tux

Сеть dhcp:
emerge --ask net-misc/dhcpcd
systemctl enable --now dhcpcd

Сеть статика:
emerge --ask --noreplace net-misc/netifrc
vim /etc/conf.d/net
-------------------
#config_eth0="dhcp"
config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"
routes_eth0="default via 192.168.0.1"
-------------------



Файл hosts:
vim /etc/hosts
--------------
# Это обязательные настройки для текущей системы
127.0.0.1     tux.homenetwork tux localhost

# Дополнительные настройки для других систем в сети
192.168.0.5   jenny.homenetwork jenny
192.168.0.6   benny.homenetwork benny
--------------




Опционально: поддержка PCMCIA-устройств:
emerge --ask sys-apps/pcmciautils



Пароль суперпользователя:
Изменить пароль суперпользователя (с именем root) можно с помощью команды passwd.
passwd


Инициализация и конфигурация загрузки:
Рекомендуется запустить systemd-firstboot --prompt --setup-machine-id, чтобы убедиться, что система корректно настроена, но нужные шаги можно также запускаться отдельно.
systemd-firstboot --prompt --setup-machine-id


Системный журнал:
emerge --ask app-admin/sysklogd
Необязательно: планировщик задач Cron:
emerge --ask sys-process/cronie
Необязательно: Индексирование файлов:
emerge --ask sys-apps/mlocate
Утилиты для файловых систем:
emerge --ask sys-fs/e2fsprogs
emerge --ask sys-fs/dosfstools
Необязательно: Установка утилит для беспроводной сети
emerge --ask net-wireless/iw net-wireless/wpa_supplicant
Необязательно: Установка клиента PPPoE
emerge --ask net-dialup/ppp


9. Пример Установки загрузчика BIOS and MBR:


!!! https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Bootloader/ru
!!! https://wiki.gentoo.org/wiki/GRUB2_Quick_Start/ru#.D0.A0.D1.83.D1.87.D0.BD.D0.B0.D1.8F_.D0.BD.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0
!!! По умолчанию используется GRUB2.
!!! Обратите внимание что установка загрузчика MBR и UEFI отличается.
!!! Для UEFI убедитесь что раздел /boot примонтирован (ls /boot - есть файлы)

emerge --ask --verbose sys-boot/grub:2
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

10. Завершение установки:


exit
cd
umount -l /mnt/gentoo/dev{/shm,/pts,}
umount -R /mnt/gentoo
reboot


11. Приложения:


!!! https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/USE/ru
!!! https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/Portage/ru#.D0.9A.D0.BE.D0.B3.D0.B4.D0.B0_Portage_.D0.BD.D0.B0_.D1.87.D1.82.D0.BE-.D1.82.D0.BE_.D1.80.D1.83.D0.B3.D0.B0.D0.B5.D1.82.D1.81.D1.8F
Работа с пакетами:
emerge <пакет> - установка пакета
emerge --unmerge <пакет> - удаление пакета
emerge -avuDN @world - обновление
emerge --sync - синхронизация с репозиторием
layman -a <оверлей> - добавление оверлея
layman -d <оверлей> - удаление оверлея
layman -L - список оверлеев
Оверлеи - сторонние репозитории, что-то похожее на AUR.

emerge layman
Для их установки layman.

И самое важное - что делать если portage жалуется на что-то.
Для начала, не паникуйте и внимательно прочтите вывод программы.
Постарайтесь просто понять, что не так, при необходимости воспользуйтесь переводчиком.


Очистка устаревших пакетов:
emerge --depclean
Рубрики
gentoo Конспект

Конспект: gentoo UEFI + GPT

0.Вводное:

Страница загрузки:
https://www.gentoo.org/downloads/

live cd:
https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20220612T170541Z/install-amd64-minimal-20220612T170541Z.iso
https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20220605T170549Z/livegui-amd64-20220605T170549Z.iso


Официальная wiki gentoo на русском:
https://wiki.gentoo.org/wiki/Handbook:AMD64/ru

Не официальное:
https://pingvinus.ru/note/gentoo-easy-install
https://an9wer.github.io/2020/06/06_Gentoo%20installation.html

Настройка сети ручная:
ip a  a 192.168.1.100 dev eth0
ip route add default via 192.168.1.1
Настройка сети dhcp:
dhcp eth0
dhcpcd -HD eth0

Настройка DNS:
ping ya.ru
vim /etc/resolv.conf

Посмотреть текущий ip:
ip a

Смена пароля тукущего пользователя:
!!! Если требования к паролю кажутся очень завышенными, то редактируем файл /etc/security/passwdqc.conf
!!! min=1,1,1,1,1
!!! useradd -m -G wheel,audio,video <имя пользователя>
!!! passwd <имя пользователя>
passwd

Запуск sshd на livecd:
rc-service sshd start

!!! Теперь мы можем подключится по ssh и продолжить установку.

1.Рекомендованная разметка диска UEFI+GPT:

Раздел	    Описание                                      Код для fdisk
/dev/vda1	Системный (и загрузочный) раздел EFI (ESP)    -> код 1
/dev/vda2	Раздел подкачки                               -> код 19
/dev/vda3	Корневой раздел                               -> код 20

Разметка диска:
fdisk /dev/vda
p - показать разметку
g - сделать gpt таблицу
d - удалить
n - создать раздел (enter enter +256M)
n - создать раздел (enter enter +2G)
n - создать раздел (enter enter enter)
t - установить тип раздела (1 1)
t - установить тип раздела (2 19)
t - (не требуется 20 по умолчанию для нового раздела ) установить тип раздела (3 20)

Накатываем файловые системы и включаем swap
mkfs.vfat -F 32 /dev/vda1
mkfs.ext4 /dev/vda3
mkswap /dev/vda2
swapon /dev/vda2

2. Подготовка к установке stage3

Создаем директорию:
mkdir /mnt/gentoo
Монтируем:
mount /dev/vda3 /mnt/gentoo

Переходим в каталог  /mnt/gentoo:
cd /mnt/gentoo

Скачиваем stage3:
!!! Выбор правильного базового архива для системы впоследствии может сэкономить значительное количество времени, затраченное на установку.
!!! Рекомендуется выбрать multilab \ systemd
wget https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20220612T170541Z/stage3-amd64-desktop-systemd-20220612T170541Z.tar.xz

Распаковываем только что скаченный архив stage3:
!!! Убедитесь, что указаны те же самые параметры (xpf и --xattrs-include='*.*').
!!! x указывает на извлечение (extract)
!!! p для сохранения (preserve) прав доступа и f для обозначения, что мы хотим извлечь файл (file)
!!! а не стандартный ввод. --xattrs-include='*.*' позволит также сохранить расширенные атрибуты во всех пространствах имен хранящиеся в архиве
!!! --numeric-owner используется для того, чтобы убедиться что идентификаторы пользователей и групп распаковываемых файлов останутся такими же
!!! как и задумывались командой Gentoo по подготовке релизов (даже если предприимчивые пользователи не используют официальный установочный носитель Gentoo)

tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner


Настройка параметров компиляции:
!!! какой редактор выбрать решать вам, но в процессе установки у меня пропадал vim
!!! везде в руководстве используют nano -w
nano -w /mnt/gentoo/etc/portage/make.conf
vim  /mnt/gentoo/etc/portage/make.conf

Значения по умолчанию для (/mnt/gentoo/etc/portage/make.conf):
# Флаги компилятора, используемые для всех языков
COMMON_FLAGS="-march=native -O2 -pipe"
# Используйте те же настройки для обеих переменных
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
# Использование большого количества процессов может значительно повлиять на потребление памяти.
# Хорошая рекомендация — имейте не менее 2 Гб свободной оперативной памяти на каждый #поток (так, например, для -j6 потребуется не менее 12 ГиБ).
# Чтобы избежать нехватки памяти, уменьшите количество процессов
MAKEOPTS="-j2"

Необязательно: Выбор зеркала
mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
mkdir --parents /mnt/gentoo/etc/portage/repos.conf
cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

3. Копирование DNS:


cp --dereference /etc/resolv.conf /mnt/gentoo/etc/

4. Монтирование разделов

Монтирование необходимых файловых систем для продолжения установки:
!!! /proc/ — псевдофайловая система (она выглядит как обычные файлы, но на самом деле генерируется на лету), через которую ядро Linux предоставляет информацию для окружения
!!! /sys/ — псевдофайловая система, как и /proc/, которую она однажды заменит, также она более структурирована, чем /proc/
!!! /dev/ — это обычная файловая система, частично управляемая менеджером устройств Linux (обычно udev), которая содержит все файлы устройств
!!! /run/ — временная файловая система, используется для генерации файлов на лету used, таких как PID файлы или файлы блокировки
!!! Параметр --make-rslave необходим для дальнейшей поддержки systemd в ходе установки.
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

Переход в новое окружение:
!!! Выполнить последовательно по одной
chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) ${PS1}"

5. Установка и обновление portage

Настройка Portage:
!!! emerge-webrsync - для загрузки снимка используется только протоколы HTTP/HTTPS,а также когда необходимо снизить нагрузку канал сети
emerge-webrsync

Необязательно: Обновление репозитория ebuild-файлов Gentoo
emerge --sync
emerge --sync --quiet

Чтение новостей:
eselect news list
eselect news read
man news.eselect

Выбор подходящего профиля:
eselect profile list
eselect profile set 2

Обновление набора @world:
emerge --ask --verbose --update --deep --newuse @world

Необязательно: Настройка переменной USE:
!!! Полное описание всех доступных USE-флагов можно найти в файле /var/db/repos/gentoo/profiles/use.desc.
less /var/db/repos/gentoo/profiles/use.desc
Простой способ проверить какие настройки используются для USE:
emerge --info | grep ^USE - собственно не будем ничего мудрить вывод этой команды нам пригодится для сборки нашей системы


Необязательно: Добавим флаги USE:
!!! Можно обойтись без них, так как у каждого приложения свои флаги уже выставлены
!!! Если USE-флаг определён в /etc/portage/make.conf, он будет добавлен (или удалён, если перед USE-флагом написан знак -) в список по умолчанию.
!!! USE флаги могут быть удалены добавлением знака - перед флагом. Например, чтобы выключить поддержку для графических окружений X, нужно задать -X
nano -w /etc/portage/make.conf
------------------------------
USE="X kde bash-completion curl apache2 djvu doc gui gzip handbook man mmap lzma lz4 lzo mysql networkmanager pdf perl php plasma python rdp ssl systemd"
------------------------------


Настройка переменной ACCEPT_LICENSE
vim /etc/portage/make.conf
--------------------------
ACCEPT_LICENSE="*"
--------------------------

Установка vim:
emerge --ask app-editors/vim

6. Язык / время / locale

 ntpd -q -g

Временная зона:
echo "Europe/Moscow" > /etc/timezone
emerge --config sys-libs/timezone-data
ln -sf ../usr/share/zoneinfo/Europe/Moscow /etc/localtime

Настройка локалей:
nano -w /etc/locale.gen
-----------------------
en_US ISO-8859-1
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
-----------------------
Генерируем локали:
locale-gen

Выбор локали:
!!! Это всё ещё можно сделать вручную с помощью файла /etc/env.d/02locale (для Systemd с помощью файла /etc/locale.conf)
eselect locale list
eselect locale set 8

Заново перезагружаем окружение:
env-update && source /etc/profile && export PS1="(chroot) ${PS1}"

7. kernel, ручная сборка ядра:

Настройка ядра Linux:
emerge --ask sys-kernel/linux-firmware
emerge --ask sys-kernel/gentoo-sources
eselect kernel list
eselect kernel set 1
!!! Гайд https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Kernel/ru
!!! virtio https://wiki.gentoo.org/wiki/QEMU/Linux_guest
cd /usr/src/linux
#make defconfig
#make kvm_guest.config
make menuconfig
make && make modules_install
make install
!!! Необязательно: Сборка initramfs
!!! emerge --ask sys-kernel/dracut
!!! dracut --kver=4.9.16-gentoo

8. Настройка системы:


монтирование дисков в fstab
!!! blkid - получаем UUID дисков, правильно будет монтировать диски по UUID
Вносим наши точки монтирования:
vim /etc/fstab
------------------
/dev/vda3   /            vfat    defaults,noatime     0 1
/dev/vda1   /boot        ext2    defaults,noatime     0 2
/dev/vda2   none         swap    sw                   0 0
------------------
Проверяем:
mount -a


Информация об узле и домене:
nano -w /etc/conf.d/hostname
----------------------------
hostname="tux"
----------------------------

hostnamectl hostname tux

Сеть dhcp:
emerge --ask net-misc/dhcpcd
systemctl enable --now dhcpcd

Сеть статика:
emerge --ask --noreplace net-misc/netifrc
vim /etc/conf.d/net
-------------------
#config_eth0="dhcp"
config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"
routes_eth0="default via 192.168.0.1"
-------------------



Файл hosts:
vim /etc/hosts
--------------
# Это обязательные настройки для текущей системы
127.0.0.1     tux.homenetwork tux localhost

# Дополнительные настройки для других систем в сети
192.168.0.5   jenny.homenetwork jenny
192.168.0.6   benny.homenetwork benny
--------------




Опционально: поддержка PCMCIA-устройств:
emerge --ask sys-apps/pcmciautils



Пароль суперпользователя:
Изменить пароль суперпользователя (с именем root) можно с помощью команды passwd.
passwd


Инициализация и конфигурация загрузки:
Рекомендуется запустить systemd-firstboot --prompt --setup-machine-id, чтобы убедиться, что система корректно настроена, но нужные шаги можно также запускаться отдельно.
systemd-firstboot --prompt --setup-machine-id


Системный журнал:
emerge --ask app-admin/sysklogd
Необязательно: планировщик задач Cron:
emerge --ask sys-process/cronie
Необязательно: Индексирование файлов:
emerge --ask sys-apps/mlocate
Утилиты для файловых систем:
emerge --ask sys-fs/e2fsprogs
emerge --ask sys-fs/dosfstools
Необязательно: Установка утилит для беспроводной сети
emerge --ask net-wireless/iw net-wireless/wpa_supplicant
Необязательно: Установка клиента PPPoE
emerge --ask net-dialup/ppp


9. Настройка начального загрузчика:


!!! https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Bootloader/ru
!!! https://wiki.gentoo.org/wiki/GRUB2_Quick_Start/ru#.D0.A0.D1.83.D1.87.D0.BD.D0.B0.D1.8F_.D0.BD.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0
!!! По умолчанию используется GRUB2.
!!! Обратите внимание что установка загрузчика MBR и UEFI отличается.
!!! Для UEFI убедитесь что раздел /boot примонтирован (ls /boot - есть файлы)
emerge --ask --verbose sys-boot/grub
Установка загрузчика grub2 UEFI
!!! grub-install --target=x86_64-efi --efi-directory=/boot --removable
grub-install --target=x86_64-efi --efi-directory=/boot

Если рядом не будет других систем полезно добавить в grub
vim /etc/default/grub
-------------------------
GRUB_DISABLE_OS_PROBER=false
-------------------------

Генерируем меню загрузки:
grub-mkconfig -o /boot/grub/grub.cfg

9.1 Пример Установки загрузчика UEFI and GPT:

echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf
emerge --ask sys-boot/grub
grub-install --target=x86_64-efi --efi-directory=/boot --removable
grub-mkconfig -o /boot/grub/grub.cfg

Если требуется пересобрать grub (добавили платформу в potage) то используйте:
emerge --ask --update --newuse --verbose sys-boot/grub

9.2 Альтернатива grub efibootmgr

!!! https://wiki.gentoo.org/wiki/Efibootmgr
0. Сносим загрузчик:
cd /boot/
rm -rf * 
1. Собираем ядро
cd /usr/src/linux
make && make modules_install
make install

2. устанавливаем загрузчик
emerge --ask sys-boot/efibootmgr
mkdir -p /boot/efi/boot
cp /boot/vmlinuz-* /boot/efi/boot/bootx64.efi
efibootmgr -v - выводим доступные варианты загрузки
efibootmgr --create --disk /dev/vda --part 2 --label "Gentoo" --loader "\efi\boot\bootx64.efi"
#efibootmgr -c -d /dev/vda -p 2 -L "Gentoo" -l "\efi\boot\bootx64.efi" initrd='\initramfs-genkernel-amd64-4.9.16-gentoo'

P.S.
efibootmgr -b 2 -B  - удаление не правильной записи

9.3 Альтернатива grub Syslinux

!!! https://wiki.gentoo.org/wiki/Syslinux

emerge --ask sys-boot/syslinux

MBR:
dd bs=440 conv=notrunc count=1 if=/usr/share/syslinux/mbr.bin of=/dev/vda

GPT:
dd bs=440 conv=notrunc count=1 if=/usr/share/syslinux/gptmbr.bin of=/dev/vda


syslinux --install /dev/vda1

mkdir -p /boot/efi/EFI/syslinux

cd /usr/share/syslinux/efi64
cp syslinux.efi ldlinux.e64 menu.c32 libcom32.c32 libutil.c32 /boot/efi/EFI/syslinux

10. Завершение установки:


exit
cd
umount -l /mnt/gentoo/dev{/shm,/pts,}
umount -R /mnt/gentoo
reboot


11. Приложения:


!!! https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/USE/ru
!!! https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/Portage/ru#.D0.9A.D0.BE.D0.B3.D0.B4.D0.B0_Portage_.D0.BD.D0.B0_.D1.87.D1.82.D0.BE-.D1.82.D0.BE_.D1.80.D1.83.D0.B3.D0.B0.D0.B5.D1.82.D1.81.D1.8F
!!! https://www.funtoo.org/Emerge/ru
Работа с пакетами:
emerge <пакет> - установка пакета
emerge --unmerge <пакет> - удаление пакета
emerge -avuDN @world - обновление
emerge --sync - синхронизация с репозиторием
layman -a <оверлей> - добавление оверлея
layman -d <оверлей> - удаление оверлея
layman -L - список оверлеев
Оверлеи - сторонние репозитории, что-то похожее на AUR.

emerge layman
Для их установки layman.

И самое важное - что делать если portage жалуется на что-то.
Для начала, не паникуйте и внимательно прочтите вывод программы.
Постарайтесь просто понять, что не так, при необходимости воспользуйтесь переводчиком.

Поиск пакета:
emerge -s firefox
emerge --search firefox

Удаление пакетов:
emerge -C firefox
emerge --unmerge firefox
emerge -aC firefox
emerge -a --depclean

Обновление пакетов:
emerge -uDN @world
emerge -uavDN @world

Создание swap файла на лету с добавлением в fstab:

fallocate -l 1G /.swap
chmod 600 /.swap
mkswap /.swap
echo '/.swap none swap defaults 0 0' >> /etc/fstab
swapon /.swap
Рубрики
gentoo

(old 2013) Как я ставил gentoo


1. настроил сеть 
ifconfig eth0 inet 192.168.3.13/24
route add default gw 192.168.3.1
echo nameserver 192.168.3.1 > /etc/resolv.conf

(net-setup eth0 можно настроить так)
/etc/init.d/sshd start
passwd root
ssh root@192.168.3.13

2.разбил fdisk /dev/sda
при указание размера можно в конечном цилиндре ставить +500M и размер будет 500 мегабайт
ну или считать цилиндры иногда не удобно считать цилиндры
разбил на 3 раздела 
/dev/sda1  83 boot  (нажал a и выбрал 1)
/dev/sda2  82 swap  (нажал t  и ввел 82)
/dev/sda3  83 /     (дефолт 83)

3. создать файловую систему 
mkfs.ext3 /dev/sda1
mkfs.ext3 /dev/sda3

4.
mkswap /dev/sda2 && swapon /dev/sda2

5. уст дату 
date 022815112012

6.
mount /dev/sda3 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/sda1 /mnt/gentoo/boot
cd /mnt/gentoo

Download a stage3 archive
wget http://distfiles.gentoo.org/releases/x86/current-stage3/stage3-i486-20131029.tar.bz2
time tar xjpfv stage3*

Download the latest Portage snapshot
cd /mnt/gentoo/usr
wget http://distfiles.gentoo.org/snapshots/portage-latest.tar.bz2
time tar xjfv portage-lat*

livecd usr # cd /
mount -t proc proc /mnt/gentoo/proc
mount --rbind /dev /mnt/gentoo/dev
cp -L /etc/resolv.conf /mnt/gentoo/etc/
chroot /mnt/gentoo /bin/bash
env-update && source /etc/profile
>>> Regenerating /etc/ld.so.cache...


7. поставили тайм зону
ls /usr/share/zoneinfo
cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
echo "Europe/Moscow" > /etc/timezone

8.установил время 
date 030600162006 (Format is MMDDhhmmYYYY)

8. именуем  пк
cd /etc
echo "127.0.0.1 manul.felis manul localhost" > hosts
sed -i -e 's/HOSTNAME.*/HOSTNAME="manul"/' conf.d/hostname
hostname manul
hostname -f

9.Kernel Configuration 

###если ядро не будет собираться тут я бы порекомендовал использовать genkernel 
###1) emerge genkernel gentoo-sources
###2) cd /usr/src/linux
###3) genkernel all (либо вот так=) genkernel --splash --no-install --no-clean --menuconfig all)

time emerge gentoo-sources
cd /usr/src/linux
make menuconfig
time make -j2
make modules_install
cp arch/i386/boot/bzImage /boot/kernel



10.fstab
livecd linux # cd /etc
livecd etc # nano -w fstab
/dev/sda1   /boot     ext2    noauto,noatime     1 2
/dev/sda3   /         ext3    noatime            0 1
/dev/sda2   none      swap    sw                 0 0

11.
cd init.d
ln -s net.lo net.eth0
cd ../conf.d
echo 'config_eth0="192.168.1.10 netmask 255.255.255.0 brd 192.168.1.255"' >> net
echo 'routes_eth0="default via 192.168.1.1"' >> net
echo 'hostname="myhostname"' > hostname
rc-update add net.eth0 default
rc-update add sshd default

12.
passwd

13.
/etc/timezone

14.
nano -w /etc/rc.conf
ano -w /etc/conf.d/keymaps

15.
time emerge syslog-ng vixie-cron
rc-update add syslog-ng default
rc-update add vixie-cron default

16.
emerge xfsprogs       (If you use the XFS file system)
emerge jfsutils       (If you use the JFS file system)
emerge reiserfsprogs  (If you use the Reiser file system)
emerge dhcpcd         (If you need a DHCP client)
emerge ppp            (If you need PPPoE ADSL connectivity)

17.
time emerge grub
nano -w /boot/grub/grub.conf

Example grub.conf
default 0
timeout 10

title Gentoo
root (hd0,0)
kernel /boot/kernel root=/dev/sda3

18.
grub
root (hd0,0)
setup (hd0)
quit

19.
Code Listing 2.30: Reboot
exit
umount -l /mnt/gentoo/dev{/shm,/pts,}
umount -l /mnt/gentoo{/proc,/boot,}
reboot