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

Есть у меня ноутбук от конторы HP, работал и работает исправно под Виндой для диагностики автоэлектроники и прошивок разных с программаторами,
но, тормоз - двигатель прогресса! Хочу быстро и ловко! Надо подружить его с Линуксом и не абы каким, а самым быстрым и оптимальным - Gentoo.
Итак, имеем на борту:
- камушек одноядрёный Intel Pentium M760 Centrino 2,00 GHz MMX, SSE, SSE2;
- 2 планки DDR-2 по 1ГБ;
- гигабитный порт от Broadcom и WiFi от Intel, и так-же BlueTooth и Hayes модем;
- хард когда-то был mini-IDE, а сейчас SSD M.2 на 120 гигов через адаптер;
- видюшка Mobile Intel 915GM/GMS 910GML Express.
Итак, качнул с офсайта образ, нарезал CD, и грузанулся с внешнего USB DVD
Вылезло приглашение:
что не может не радовать!
Проверил сеть: 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
- CFLAGS="-O2 -pipe -march=i686"
- ACCEPT_KEYWORDS="~x86"
- MAKEOPTS="-j2"
- (количество ядер +1)
USE="-gnome -kde -minimal -qt4 dbus jpeg lock session startup-notification thunar udev X mmx sse sse2 aac acpi apm bluetooth gps" - (для графической оболочки XFCE)
CPU_FLAGS_X86="mmx sse sse2" - (дублируем из USE)
ACCEPT_LICENSE="*" - (иначе вылезит косяк с лицензиями)
Установка основы системы
Выбираем близкие зеркала
Для файлов дистрибутива:
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 и логинимся юзером