03.05.2021
Как я ставил Linux Gentoo на ноутбук "HP Compaq tc4200".

Есть у меня ноутбук от конторы HP, работал и работает исправно под Виндой для диагностики автоэлектроники и прошивок разных с программаторами, но, тормоз - двигатель прогресса! Хочу быстро и ловко! Надо подружить его с Линуксом и не абы каким, а самым быстрым и оптимальным - Gentoo.
Итак, имеем на борту:


Итак, качнул с офсайта образ, нарезал CD, и грузанулся с внешнего USB DVD
Вылезло приглашение:
livecd ~ #
что не может не радовать!
Проверил сеть: ping mail.ru - фунциклит! (Ctrl-C - прервать процесс) и дату: date - верная.
Первым делом - разметка диска со сносом Мастдая-7 (будет стоять Хрюшка, да и та, возможно, временно)

Используем, знакомую с DOS утилитку fdisk:
livecd ~ # fdisk /dev/sda
Жмём "p" для отображения текущей конфигурации разделов.
Жмём "d" для удаления разделов.

Разбивать диск буду так:
Раздел Тип раздела Файловая система Размер Описание
/dev/sda1 7 HPFS/NTFS/exFAT 128MB Загрузочный/системный раздел
/dev/sda2 82 Swap 2048MB Раздел подкачки
/dev/sda3 83 Ext4 32768MB Корневой раздел
/dev/sda4 7 NTFS Что осталосьWindows XP x32

Жмём "n" для создания загрузочного раздела, "p" для основного раздела, "1" номер раздела, "Enter" первый сектор по умолчанию (2048), и "+128m" размер раздела. Далее "t", "1", "7"
Жмём "n" для создания раздела подкачки, "p" для основного раздела, "2" номер раздела, "Enter" первый сектор, и "+2048m" размер раздела. Далее "t", "2", "82"
Жмём "n" для создания корневого раздела, "p" для основного раздела, "3" номер раздела, "Enter" первый сектор, "+32768m" размер раздела. Далее "t", "3", "83"
Жмём "n" для создания виндового раздела, "p" для основного раздела, "4" номер раздела, "Enter" первый сектор, "Enter" всё, что осталось. меняю тип раздела "t", "4", "7"
Жмём "w" для сохранения всего этого безобразия.


Поставил WinXP, как обычно. И, снова загруз с Gentoo Live CD и запуск fdisk:
livecd ~ # fdisk /dev/sda
но в этот раз делаем активный раздел 1 при помоци кнопки "a", затем жмакаем "w"

Форматируем корневой раздел в Ext4:
livecd ~ # mkfs.ext4 /dev/sda3

а загрузочный в NTFS:
livecd ~ # mkfs.ntfs /dev/sda1

Активируем swap:
livecd ~ # mkswap /dev/sda2
livecd ~ # swapon /dev/sda2

Монтируем новые разделы:
livecd ~ # mount /dev/sda3 /mnt/gentoo
livecd ~ # mkdir /mnt/gentoo/boot
livecd ~ # mount /dev/sda1 /mnt/gentoo/boot


Скачиваем stage tarball:
livecd ~ # cd /mnt/gentoo
livecd ~ # links gentoo.org/downloads/mirrors
Откроется текстовый браузер links. Выберал зеркало из Чехии, идём в releases/x86/autobuilds/свежайшая дата. Качаю файл stage3-i686-systemd-.tar.xz.

Разархивируем stage tarball:
livecd ~ # tar xf stage322:31 22.08.2021*.tar.xz --xattrs

Редактируем файл конфигурации с помощью редактора nano:
livecd ~ # nano -w /mnt/gentoo/etc/portage/make.conf

Установка основы системы
Выбираем близкие зеркала
Для файлов дистрибутива:
livecd ~ # mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
Для основного репозитория Gentoo:
livecd ~ # mkdir /mnt/gentoo/etc/portage/repos.conf
livecd ~ # cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

Копируем информацию о DNS
livecd /mnt/gentoo # cp -L /etc/resolv.conf /mnt/gentoo/etc/

Монтируем необходимые разделы
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

Входим в новое окружение
livecd ~ # chroot /mnt/gentoo /bin/bash
livecd / # source /etc/profile
livecd / # export PS1="(chroot) ${PS1}"

С этого момента все действия будут напрямую выполняться в новом Gentoo, но ликовать ещё рано. Обновление списка пакетов для Portage.
Эта команда получит снимок текущего состояния Portage, системы управления пакетами в Gentoo.
(chroot) livecd / # emerge-webrsync

Обновление репозитория ebuild-файлов Gentoo:
(chroot) livecd / # emerge --sync


Выбираем правильный профиль
(chroot) livecd / # eselect profile list
Выбираем вариант default/linux/x86/17.0/desktop (stable)
(chroot) livecd / # eselect profile set 5

Доступные часовые пояса:
(chroot) livecd / # ls /usr/share/zoneinfo
Москва - echo "Europe/Moscow" > /etc/timezone
Обновим информацию о часовом поясе в системе - emerge --config sys-libs/timezone-data

Настройка локалей:
(chroot) livecd / # nano -w /etc/locale.gen
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
Обновим информацию о локалях в системе
locale-gen
Смотрим список доступных локалей
eselect locale list
Надо выбрать en_US.utf8
eselect locale set 4

Обновляем окружение:
(chroot) livecd / # env-update && source /etc/profile && export PS1="(chroot) $PS1"

Собираем ядро
Установка исходников:
(chroot) livecd / # emerge --ask sys-kernel/gentoo-sources

Ставим утилиту genkernel:
(chroot) livecd / # emerge --ask sys-kernel/genkernel

Вылезло:
* IMPORTANT: 7 config files in ‘/etc/portage’ need updating.
* See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
* sections of the emerge man page to learn how to update config files.

Делаем:
(chroot) livecd / # etc-update

Теперь надо прописать /boot в /etc/fstab:
(chroot) livecd / # nano -w /etc/fstab
/dev/sda1 /boot ntfs defaults 0 2
/dev/sda2 none swap sw 0 0
/dev/sda3 / ext4 noatime 0 1
То, что /boot находится на /dev/sda1, мы выяснили командой fdisk -l

Запускаем компиляцию ядра
(chroot) livecd / # genkernel all

или, если нужно включить поддержку NTFS:
(chroot) livecd / # genkernel --menuconfig all
В появившемся псевдографическом окошке выбрал поддержку NTFS при помощи кнопки "Y"
File systems --->
DOS/FAT/NT Filesystems --->
<*> NTFS file system support
<*> NTFS write support

Вылезло:
* ERROR: kernel source directory "/usr/src/linux" was not found!

ls /usr/src показал папку linux-5.13.13-gentoo

Переименовываем её:
(chroot) livecd / # mv /usr/src/linux-5.13.13-gentoo /usr/src/linux

Компиляция началась в 10:32


Драйверы
(chroot) livecd / # emerge --ask sys-kernel/linux-firmware

Имя машины
(chroot) livecd / # nano -w /etc/conf.d/hostname
hostname="book"

Установка netifrc:
(chroot) livecd / # emerge --ask --noreplace net-misc/netifrc


Повылазило всяко:
* Error: the above package list contains packages which cannot be
* installed at the same time on the same system

(sys-apps/sysvinit-2.99:0/0::gentoo, ebuild scheduled for merge) pulled in by
>=sys-apps/sysvinit-2.86 additional kernel parameters that may be required to boot properly: calculating dependencies

Пробую
emerge --sync - не помогло.
emerge --ask --verbose sys-apps/portage - не помогло.
emerge --ask --verbose --update --deep --with-bdeps=y --newuse --changed-deps=y @world

!!! The ebuild selected to satisfy ">=sys-apps/dbus-1.9.8[systend]" has umet requirements. - sys-apps/dbus-1.12.20-r3:: gentoo USE="X elogind -debug -doc (-selinux) -static-libs -systemd -test -user-session"

The following required_use flag constraints are unsatisfied: at-most-one-of (eloging systemd)


29.08.2021 9:11 Установил Gentoolkit
emerge --ask app-portage/gentoolkit Теперь можно обновмть зависимости
emerge --update --deep --newuse @world emerge --depclean revdep-rebuild

удалил dbus

(chroot) livecd / # nano -w /etc/conf.d/net
config_enp16s0="dhcp" Автоподключение к сети при старте системы
cd /etc/init.d ln -s net.lo net.enp16s0 rc-update add net.enp16s0 default Ставим пароль для root
passwd Настройка загрузки и автозагрузки
nano -w /etc/conf.d/keymaps
keymap="us" windowkeys="YES" extended_keymaps="" dumpkeys_charset=""


Установка системных программ
System logger Чтобы можно было залогиниться в систему:
emerge --ask app-admin/sysklogd
rc-update add sysklogd default
Программы для файловых систем
Мы форматировали диск в ext4, поэтому ставим e2fsprogs:
emerge --ask sys-fs/e2fsprogs
Сетевые программы
Для DHCP:
emerge --ask net-misc/dhcpcd
Для PPPoE (пока не ставил):
emerge --ask net-dialup/ppp

Ставим Grub2:
emerge --ask --verbose sys-boot/grub:2

Установим загрузчик на нужный диск:
grub-install /dev/sda
Чтобы grub2 нашёл Windows, надо дополнительно поставить ещё пакеты os-prober и ntfs3g:
emerge --ask --newuse sys-boot/os-prober sys-fs/ntfs3g

USE="acl ntfsprogs xattr" Генерируем конфигурационный файл:
grub-mkconfig -o /boot/grub/grub.cfg
Винда не нашлась. Делаю так: nano /etc/default/grub
GRUB_DISABLE_OS_PROBER=false - не помогло
Ладно, перегружаемся:
exit? reboot/
Допиливание системы
Создаём пользователя
useradd -m -G users,wheel,audio,video -s /bin/bash efu
passwd efu

Устанавливаем sudo
emerge --ask app-admin/sudo
Добавить пользователю права использования sudo:
visudo
Подчищаем установочные файлы:
rm /stage3-*.tar.xz

Ставим иксы
Для поддержки тачпада нужен synaptics:
nano -w /etc/portage/make.conf
INPUT_DEVICES="evdev synaptics"
Видеокарта:
VIDEO_CARDS="intel i915" Обновим @world set
emerge --ask --changed-use --deep @world

Установка Xorg:
emerge --ask x11-base/xorg-server

Ошибки

Ставим dbus, который снёс ранее: emerge --ask sys-apps/dbus - не встаёт.

emerge --ask dev-haskell/dbus - встал

БЗЮ Завершение установки
env-update
source /etc/profile


Ставим рабочий стол XFCE:
nano -w /etc/portage/make.conf
XFCE_PLUGINS="battery brightness clock power"
emerge --ask xfce-base/xfce4-meta xfce-extra/xfce4-notifyd
emerge --ask app-portage/eix 13:25 USE_PYTHON="3.8 3.9" PYTHON_TARGETS="python3_8 python3_9" python-updater echo '*' >> /etc/eix-sync.conf
Вылезло:
IMPORTANT: 9 config files in ‘/etc/portage’ need updating.
* See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
* sections of the emerge man page to learn how to update config files.

Это означает, что некоторые конфигурационные файлы были изменены и их следует обновить. Для этого введите следующую команду:
etc-update
Видим список config files которые следует обновить. Жмём -5 - обновить без вопросов.
Пошла установка в 14:37, закончилась в 17:15 Удалим гномье:
emerge --ask --deselect=y xfce-extra/xfce4-notifyd Обновим окружение:
env-update && source /etc/profile Жмём Ctrl+D и логинимся юзером