Parte 7 — Sistema Base + Kernel
Obs.: para este artigo foi escolhido o perfil Plasma Desktop com systemd. Adapte como preferir, mas o artigo assume Plasma + systemd.
Sincronização e escolha do perfil
emerge-webrsync
getuto
eselect profile list
Exemplo:
eselect profile set default/linux/amd64/23.0/desktop/plasma/systemd
Ou:
eselect profile set 8
Atualize o sistema base:
emerge --ask --update --deep --newuse @world
TIFF — Correção de erro circular (se ocorrer)
Se aparecer erro circular envolvendo
media-libs/tiff:
emerge --ask --oneshot --binpkg-respect-use=n --getbinpkg=y media-libs/tiff
emerge --ask --update --deep --newuse @world
Parte 7.1 — installkernel (+dracut OBRIGATÓRIO)
Mesmo não usando
Dracut diretamente, no Gentoo binário ele é dependência do
installkernel.
mkdir -p /etc/portage/package.use
echo "sys-kernel/installkernel dracut" > /etc/portage/package.use/installkernel
Instalação dos pacotes essenciais:
emerge \
sys-kernel/gentoo-kernel-bin \
sys-kernel/linux-firmware \
sys-fs/cryptsetup \
sys-fs/btrfs-progs \
sys-boot/grub \
sys-kernel/genkernel
Parte 8 — Kernel + initramfs
Instalação do kernel bináro, firmware, GRUB etc:
Obs.: válido para SATA e NVMe.
emerge \
sys-kernel/gentoo-kernel-bin \
sys-kernel/linux-firmware \
sys-fs/cryptsetup \
sys-fs/btrfs-progs \
sys-kernel/genkernel \
sys-boot/grub
Geração do initramfs com suporte a LUKS + Btrfs:
genkernel --install --luks --btrfs initramfs
Parte 9 — GRUB
Os comandos a seguir tem o objetivo de escrever a linha do "GRUB_CMDLINE_LINUX" em
/etc/default/grub.
Aqui há diferença apenas na partição LUKS, então há dois blocos (SATA e NVMe). Use o que for apropriado para seu caso.
SATA / SCSI (/dev/sda)
LUKS_UUID=$(blkid -s UUID -o value /dev/sda3)
BTRFS_UUID=$(blkid -s UUID -o value /dev/mapper/cryptroot)
sed -i '/^GRUB_CMDLINE_LINUX=/d' /etc/default/grub
echo "GRUB_CMDLINE_LINUX=\"crypt_root=UUID=${LUKS_UUID} root=UUID=${BTRFS_UUID} rootflags=subvol=@\"" >> /etc/default/grub
NVMe (/dev/nvme0n1)
LUKS_UUID=$(blkid -s UUID -o value /dev/nvme0n1p3)
BTRFS_UUID=$(blkid -s UUID -o value /dev/mapper/cryptroot)
sed -i '/^GRUB_CMDLINE_LINUX=/d' /etc/default/grub
echo "GRUB_CMDLINE_LINUX=\"crypt_root=UUID=${LUKS_UUID} root=UUID=${BTRFS_UUID} rootflags=subvol=@\"" >> /etc/default/grub
Instalação e geração do GRUB (igual para ambos)
mount -t efivarfs efivarfs /sys/firmware/efi/efivars
grub-install \
--target=x86_64-efi \
--efi-directory=/boot/efi \
--bootloader-id=Gentoo \
--recheck
grub-mkconfig -o /boot/grub/grub.cfg
Parte 10 — fstab
O comando "cat" a seguir vai escrever o arquivo
fstab automaticamente.
Aqui também há diferença nos dispositivos
EFI e
/boot, então há dois blocos.
SATA / SCSI (/dev/sda)
cat < /etc/fstab
/dev/sda1 /boot/efi vfat defaults,noatime 0 2
/dev/sda2 /boot ext4 defaults,noatime 0 2
UUID=${BTRFS_UUID} / btrfs rw,subvol=@,compress=zstd,noatime 0 1
UUID=${BTRFS_UUID} /home btrfs rw,subvol=@home,compress=zstd,noatime 0 2
UUID=${BTRFS_UUID} /.snapshots btrfs rw,subvol=@snapshots,compress=zstd,noatime 0 2
EOF
NVMe (/dev/nvme0n1)
cat < /etc/fstab
/dev/nvme0n1p1 /boot/efi vfat defaults,noatime 0 2
/dev/nvme0n1p2 /boot ext4 defaults,noatime 0 2
UUID=${BTRFS_UUID} / btrfs rw,subvol=@,compress=zstd,noatime 0 1
UUID=${BTRFS_UUID} /home btrfs rw,subvol=@home,compress=zstd,noatime 0 2
UUID=${BTRFS_UUID} /.snapshots btrfs rw,subvol=@snapshots,compress=zstd,noatime 0 2
EOF
Mais configurações na página seguinte.