Установка Gentoo на thinkpad x230
Обновление биоса
Последняя версия BIOS для X230 https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x230/downloads
'geteltorito' извлечь загрузочный образ из iso (возможно, isobar.c тоже подойдет)
wget 'http://www.uni-koblenz.de/~krienke/ftp/noarch/geteltorito/geteltorito.pl'``` ```perl geteltorito.pl 8duj10uc.iso > biosupdate.img
Запись браза на флешку
ddrescue biosupdate.img /dev/usbthumdrive
Загрузочная флешка из gentoo-minimal.iso с помощью unetbootin
Разметка диска
300M /dev/sda1 Efy system 1-16 /dev/sda2 swap free space /dev/sda3 root
Форматирование диска
mkfs.vfat /dev/sdx2 mkfs.ext4 /dev/sdx4 mkswap /dev/sdx3 swapon /dev/sdx3
Монтирование корневого раздела и загрузка тарбола
mount /dev/sda3 /mnt/gentoo cd /mnt/gentoo
Синхронизация времени
ntpd -q -g
Скачивание тарбола
links mirror.yandex.ru
Распаковка тарбола
tar xpvf stage3*.tar.bz2 --xattrs-include='*.*' --numeric-owner
Настройка параметров компиляции
nano -w /mnt/gentoo/etc/portage/make.conf
Параметры процессора со странички <a href=«https://wiki.gentoo.org/wiki/Safe_CFLAGS» target=«_blank»>Safe CFLAGS</a>
Флаги компилятора
emerge --ask app-portage/cpuid2cpuflags cpuid2cpuflags >> /etc/portage/make.conf nano -w /mnt/gentoo/etc/portage/make.conf
Мой текущий make.conf без зеркал
COMMON_FLAGS="-march=ivybridge -O2 -pipe" CFLAGS="${COMMON_FLAGS}" CXXFLAGS="${COMMON_FLAGS}" FCFLAGS="${COMMON_FLAGS}" FFLAGS="${COMMON_FLAGS}" MAKEOPTS="-j5" ACCEPT_KEYWORDS="~amd64" ACCEPT_LICENSE="*" INPUT_DEVICES="libinput" VIDEO_CARDS="intel i965" CPU_FLAGS_X86="aes avx f16c mmx mmxext pclmul popcnt rdrand sse sse2 sse3 sse4_1 sse4_2 ssse3" USE="bash-complation X xorg python systemd libinput pulseaudio acpi opengl zlib c-ares snmp ssl \ kerberos threads selinux -ipv6 -perl -kde -qt5 -qt4 -qt3 -gnome" GRUB_PLATFORMS="efi-64" LC_MESSAGES=C
Настройка зеркал
nano -w /etc/resolv.conf nameserver 8.8.8.8 nameserver 8.8.4.4
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 cp --dereference /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 mount --bind /run /mnt/gentoo/run mount --make-slave /mnt/gentoo/run
Переход в устанавливаемую систему
chroot /mnt/gentoo /bin/bash source /etc/profile export PS1="(chroot) ${P S1}"
mount /dev/sda1 /boot
Настройка Portage
обновление списка репозиториев и базового профиля
emerge-webrsync
emerge --sync
Сжатие модуля ядра
/etc/portage/package.use
sys-apps/kmod lzma zlib zstd
Выбор профиля устанавлиемой системы
eselect profile list
eselect profile set
Обновление мира @world с выбранным профилем
emerge --ask --verbose --update --deep --newuse @world
Настройка часового пояса
ln -sf ../usr/share/zoneinfo/Europe/Brussels /etc/localtime
Генерация локалей
nano -w /etc/locale.gen en_US.UTF-8 UTF-8 ru_RU.UTF-8 UTF-8 locale-gen eselect locale list eselect locale set
*номер локали
перезапуск окружения для применения изменений
env-update && source /etc/profile && export PS1="(chroot) ${PS1}"
Установка файлов прошивки и микрокода
emerge --ask sys-kernel/linux-firmware emerge --ask sys-firmware/intel-microcode
Настройка и сборка ядра
Установка исходного кода gentoo
emerge --ask sys-kernel/gentoo-sources eselect kernel list eselect kernel set 1
Проверка символьной ссылки
ls -l /usr/src/linux cd /usr/src/linux make menuconfig emerge --ask sys-kernel/genkernel
Редактирование fstab
nano -w /etc/fstab /dev/sda1 /boot/efi vfat noauto 1 2 /dev/sda2 / ext4 noatime 0 1 /dev/sda3 none swap sw 0 0
Генерация ядра
Не забыть включить поддержку <a href=«https://cateee.net/lkddb/web-lkddb/MMC.html» target=«_blank»>MMC/SD/SDIO card support</a> в настройках ядра
genkernel --menuconfig all
Настройка сети
emerge --ask net-misc/dhcpcd
Установка утилит для беспроводных сетей
emerge --ask net-wireless/iw net-wireless/wpa_supplicant
Удаленный доступ
systemctl enable sshd
DHCP через dhcpcd
systemctl enable --now dhcpcd nano -w /etc/systemd/network/50-dhcp.network [Match] Name=en* [Network] DHCP=yes systemctl enable systemd-networkd.service systemctl start systemd-networkd.service emerge =net-misc/networkmanager-0.8.2-r10 --autounmask-write
Пароль суперпользователя
passwd
Инициализация и конфигурация загрузки
systemd-firstboot --prompt --setup-machine-id systemctl preset-all
Установка и настройка загрузчика
emerge --ask --verbose sys-boot/grub:2 echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf grub-install --target=x86_64-efi --efi-directory=/boot grub-mkconfig -o /boot/grub/grub.cfg
Финальные штрихи
rm /stage3-*.tar.* emerge --ask sudo useradd -m -G users,audio,video,wheel -s /bin/bash usernme passwd username
Сканер отпечатков пальцев
emerge fprint_demo
Работающий сканер отпечатков пальцев
emerge sys-auth/fprintd nano -w /etc/pam.d/system-auth auth sufficient pam_fprintd.so fprintd-enroll
Установка графической оболочки
В моем случае и лишь по моей прихоти остановил свой выбор на <a href=«https://wiki.gentoo.org/wiki/Xfce» target=«_blank»>XFCE</a>
emerge --ask x11-base/xorg-server emerge --ask x11-base/xorg-drivers emerge --ask xfce-base/xfce4-meta xfce-extra/xfce4-notifyd emerge --ask x11-misc/lightdm
Раздел для awesome wm
В планах
Выход из текущей системы и перезагрузка
exit cd umount -l /mnt/gentoo/dev{/shm,/pts,} umount -R /mnt/gentoo reboot
Вообще ни разу не претендует на звание лучшего <a href=«https://wiki.gentoo.org/wiki/Handbook:AMD64/ru» target=«_blank»>хэндбука</a>, но все работает.