Artigo testado em:
- AMD Ryzen 7 3700X
- 32 GB RAM SSD4
- 128 GB SSD NVMe
- GPU RADEON R5220 2GB
Para a instalação foi usado o "Minimal Installation CD" disponível em:
Obs 1.: este artigo é bem específico para a minha situação (não poderia ser de outra forma se tratando do Gentoo GNU/Linux). Serve como guia superficial e lembrete do processo de instalação que pode, talvez, ajudá-lo de alguma forma. Mas caso queira um conteúdo "genérico" que se adapte a todas as situações, a melhor a opção seria ler o
"handbook" do Gentoo.
Obs 2.: caso você tenha alguma sugestão ou crítica construtiva, por favor deixe um comentário. Não tenho muita experiência com Gentoo
GNU/Linux e estou constantemente aprendendo.
Partições
Crie duas partições:
- 128 MB para UEFI ESP
- E o restante para a raiz
Para isso use o "gdisk".
Exemplo:
# gdisk /dev/nvme0n1
Tecle "o" para criar uma tabela de partição GPT, e confirme com "y".
Criação da tabela de partição GPT:
Command: o (Enter)
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y (Enter)
Criação da Partição 1 (UEFI ESP):
Command: n (Enter)
Partition Number: 1 (Enter)
First sector: (Enter)
Last sector: +128M (Enter)
Hex Code: EF00 (Enter)
Criação da Partição 2 (/):
Command: n (Enter)
Partition Number: 2 (Enter)
First sector: (Enter)
Last sector: (Enter)
Hex Code: (Enter)
Salvar alterações no disco:
Command: w (Enter)
Do you want to proceed? (Y/N): Y (Enter)
Formate:
# mkfs.xfs /dev/nvme0n1p2
# mkfs.vfat -F 32 /dev/nvme0n1p1
Monte:
# mkdir -p /mnt/gentoo
# mount /dev/nvme0n1p2 /mnt/gentoo
# mkdir -p /mnt/gentoo/boot/efi
# mount /dev/nvme0n1p1 /mnt/gentoo/boot/efi
Stage 3 e Chroot
Baixe o stage3 da versão "openrc" usando o navegador Links e extraia-o:
# cd /mnt/gentoo
# links https://www.gentoo.org/downloads/
# tar --xattrs-include='*.*' --numeric-owner -xpf stage3*
Chroot:
# cd /mnt/gentoo
# mount -t proc none proc
# mount --rbind /sys sys
# mount --make-rslave sys
# mount --rbind /dev dev
# mount --make-rslave dev
# cp /etc/resolv.conf etc
# chroot . /bin/bash
# source /etc/profile
Em uma linha:
# mount -t proc none proc; mount --rbind /sys sys; mount --make-rslave sys; mount --rbind /dev dev; mount --make-rslave dev; cp /etc/resolv.conf etc; chroot . /bin/bash; source /etc/profile
Sincronize o repositório:
# emerge-webrsync
Criação do Usuário e das Senhas
Exemplo com usuário "xerxes":
# sed -i s/everyone/none/ /etc/security/passwdqc.conf
# passwd
# useradd -g users -G wheel,portage,audio,video,usb,cdrom -m xerxes
# passwd xerxes
Arquivos de Configuração
Instale o Vim:
# emerge -vaq app-editors/vim
Edite o Fstab:
# vim /etc/fstab
Exemplo:
/dev/nvme0n1p2 / xfs defaults 0 1
/dev/nvme0n1p1 /boot/efi vfat defaults 0 0
tmpfs /tmp tmpfs noatime,nodev,nosuid,size=20G 0 0
Configure o make.conf:
# vim /etc/portage/make.conf
Exemplo:
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
COMMON_FLAGS="-march=native -O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
# NOTE: This stage was built with the bindist Use flag enabled
PORTDIR="/var/db/repos/gentoo"
DISTDIR="/var/cache/distfiles"
PKGDIR="/var/cache/binpkgs"
# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C
EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --jobs=16 --load-average=16"
MAKEOPTS="-j16"
GRUB_PLATFORMS="efi-64"
USE="X elogind alsa pulseaudio -ahavi -dbus -systemd -wayland -nls -doc -bluetooth -ios -aqua -cdrom -dvd -kde -qt -qt4 -qt5"
VIDEO_CARDS="radeon r600"
ACCEPT_LICENSE="*"
CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3"
PORTAGE_TMPDIR="/tmp"
Configure o "locale":
# vim /etc/locale.gen
Adicione:
en_US.UTF8 UTF-8
pt_BR.UTF8 UTF-8
C.UTF8 UTF-8
# locale-gen
# eselect locale list
# eselect locale set [número]
Troque o "hostname", se quiser. Por exemplo, se quiser trocar o nome da máquina para "ladybug":
# sed -i s/localhost/ladybug/ /etc/conf.d/hostname
Relógio (opcional):
# vi /etc/conf.d/hwclock
Escolha "local" ou "UTC".
Fuso-horário:
# ln -sf /usr/share/zoneinfo/America/Recife /etc/localtime
Obs.: troque "America/Recife" para sua capital.
# emerge --config sys-libs/timezone-data
Kernel
Instale o "gentoo-sources" e compile:
# emerge -av sys-kernel/gentoo-sources sys-kernel/linux-firmware
# cd /usr/src/linux
# make localyesconfig
# make menuconfig (ou nconfig)
# make -j16
# make modules_install
# make install
GRUB
Certifique-se de ter colocado GRUB_PLATFORMS="efi-64" no arquivo "make.conf". Depois execute:
# emerge --ask sys-boot/grub
# grub-install --target=x86_64-efi --efi-directory=/boot/efi
# grub-mkconfig -o /boot/grub/grub.cfg
Escolhendo o "Profile"
Mude o perfil, se quiser:
# eselect profile list
# eselect profile set [número]
Ferramentas de Rede
Instale as ferramentas de rede com:
# emerge --ask sys-apps/iproute2 net-misc/dhcpcd
Se precisar se conectar à uma rede sem fio, instale:
# emerge --ask net-wireless/wireless-tools net-wireless/iw net-wireless/wpa_supplicant
Habilite o dhcpcd:
# rc-update add dhcpcd default
Aplicativos Úteis
Se quiser, aproveite para instalar algumas coisas a mais.
Algumas utilidades:
# emerge --ask gentoolkit eix flaggie layman
Mais aplicativos, incluindo o openssh:
# flaggie p7zip +rar
# emerge --ask www-client/google-chrome sakura dmenu dwm slock xautolock p7zip htop openssh rust-bin xorg-server pulseaudio pulsemixer
# rc-update add sshd default
# rc-service sshd start
Truque para "enganar" o DWM e usar Sakura ao invés do St:
# ln -s /usr/bin/sakura /usr/bin/st
Finalizando:
# exit
# cd /mnt
# umount -lR gentoo
# reboot
Agora veremos a pós-instalação.