====== Установка 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 Вообще ни разу не претендует на звание лучшего хэндбука, но все работает.