====== Установка 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
Параметры процессора со странички Safe CFLAGS
**Флаги компилятора**
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
**Генерация ядра**
Не забыть включить поддержку MMC/SD/SDIO card support в настройках ядра
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
**Установка графической оболочки**
В моем случае и лишь по моей прихоти остановил свой выбор на XFCE
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
Вообще ни разу не претендует на звание лучшего хэндбука, но все работает.