Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd

Simples "receita de bolo" para instalar Gentoo binário em desktops com criptografia.

[ Hits: 116 ]

Por: Xerxes em 20/01/2026


Introdução, discos, stage3, chroot e make.conf



Introdução

Artigo testado usando live-USB do Linux Mint 22.3. Mas os comandos devem funcionar em qualquer live Linux.

Este artigo foi feito e testado por mim e, posteriormente, melhorado com ajuda do ChatGPT, principalmente para mudar os comandos para ficar mais fácil de copiar e colar. Por exemplo, ao invés de dizer “edite o arquivo tal e coloque a informação X”, os comandos já fazem isso automaticamente com uso de cat e echo.

Você perceberá que há dois blocos de comandos, um para discos SATA e outro para NVMe. Escolha o bloco que for apropriado para o seu caso.

O que seria um Gentoo binário?

A maioria dos componentes serão pacotes binários. Pouca coisa será compilada na sua máquina, agilizando bastante o processo de instalação. Não pretendo discutir vantagens e desvantagens aqui. A forma tradicional continua disponível no handbook oficial:
Obs.: seguir este artigo implica em apagar o disco inteiro.

Preparação dos discos

Os comandos a seguir são para formatação e criação das partições e estão divididos em dois blocos. O bloco A é para SATA e o B para NVMe.

Arquitetura FINAL (válida para SATA e NVMe)

A ideia central é a seguinte: EFI e /boot ficam fora da criptografia. Todo o sistema fica dentro de um LUKS2.

EFI -> vfat -> /boot/efi [FORA do LUKS] /boot -> ext4 -> /boot [FORA do LUKS] LUKS2 -> Btrfs -> /, /home, /.snapshots

BLOCO A — DISCO SATA / SCSI (/dev/sda)

Parte 1 — Limpar e particionar o disco (UEFI)

sudo -i

wipefs -a /dev/sda

parted -s /dev/sda mklabel gpt

EFI

parted -s /dev/sda mkpart EFI fat32 1MiB 1025MiB

parted -s /dev/sda set 1 esp on

/boot fora do LUKS

parted -s /dev/sda mkpart BOOT ext4 1025MiB 2049MiB

root criptografado

parted -s /dev/sda mkpart ROOT 2049MiB 100%

lsblk

O que foi feito:

Criamos três partições:
  • EFI (vfat)
  • /boot (ext4)
  • root (para LUKS + Btrfs)

Parte 2 — Formatação + LUKS2 (Argon2id)

Agora formatamos EFI e /boot, e criamos o container criptografado.

mkfs.vfat -F32 /dev/sda1

mkfs.ext4 /dev/sda2

cryptsetup luksFormat \
--type luks2 \
--pbkdf argon2id \
--pbkdf-memory 262144 \
--pbkdf-parallel 2 \
/dev/sda3

cryptsetup open /dev/sda3 cryptroot

luksFormat: cria o container criptografado (Argon2id).

Parte 3 — Btrfs + subvolumes

mkfs.btrfs /dev/mapper/cryptroot

mount /dev/mapper/cryptroot /mnt

btrfs subvolume create /mnt/@

btrfs subvolume create /mnt/@home

btrfs subvolume create /mnt/@snapshots

umount /mnt

Por quê subvolumes?
  • facilitam snapshots
  • evitam múltiplas partições
  • tornam rollback e manutenção mais simples

Parte 4 — Montagem FINAL

mkdir -p /mnt/gentoo

mount -o subvol=@,compress=zstd /dev/mapper/cryptroot /mnt/gentoo

mkdir -p /mnt/gentoo/{home,.snapshots,boot}

mount -o subvol=@home,compress=zstd /dev/mapper/cryptroot /mnt/gentoo/home

mount -o subvol=@snapshots,compress=zstd /dev/mapper/cryptroot /mnt/gentoo/.snapshots

mount /dev/sda2 /mnt/gentoo/boot

mkdir -p /mnt/gentoo/boot/efi

mount /dev/sda1 /mnt/gentoo/boot/efi

BLOCO B — DISCO NVMe (/dev/nvme0n1)

Atenção: em NVMe as partições são p1, p2, p3.

Parte 1 — Limpar e particionar o disco (UEFI)

sudo -i

wipefs -a /dev/nvme0n1

parted -s /dev/nvme0n1 mklabel gpt

EFI

parted -s /dev/nvme0n1 mkpart EFI fat32 1MiB 1025MiB

parted -s /dev/nvme0n1 set 1 esp on

/boot fora do LUKS

parted -s /dev/nvme0n1 mkpart BOOT ext4 1025MiB 2049MiB

root criptografado

parted -s /dev/nvme0n1 mkpart ROOT 2049MiB 100%

lsblk

Parte 2 — Formatação + LUKS2 (Argon2id)

mkfs.vfat -F32 /dev/nvme0n1p1

mkfs.ext4 /dev/nvme0n1p2

cryptsetup luksFormat \
--type luks2 \
--pbkdf argon2id \
--pbkdf-memory 262144 \
--pbkdf-parallel 2 \
/dev/nvme0n1p3

cryptsetup open /dev/nvme0n1p3 cryptroot

Parte 3 — Btrfs + subvolumes

mkfs.btrfs /dev/mapper/cryptroot

mount /dev/mapper/cryptroot /mnt

btrfs subvolume create /mnt/@

btrfs subvolume create /mnt/@home

btrfs subvolume create /mnt/@snapshots

umount /mnt

Parte 4 — Montagem FINAL

mkdir -p /mnt/gentoo

mount -o subvol=@,compress=zstd /dev/mapper/cryptroot /mnt/gentoo

mkdir -p /mnt/gentoo/{home,.snapshots,boot}

mount -o subvol=@home,compress=zstd /dev/mapper/cryptroot /mnt/gentoo/home

mount -o subvol=@snapshots,compress=zstd /dev/mapper/cryptroot /mnt/gentoo/.snapshots

mount /dev/nvme0n1p2 /mnt/gentoo/boot

mkdir -p /mnt/gentoo/boot/efi

mount /dev/nvme0n1p1 /mnt/gentoo/boot/efi

Parte 5 — Stage3 + chroot (igual para ambos)

Aqui instalamos o Gentoo base.

cd /mnt/gentoo

Abra o navegador e acesse:
Copie o link do Stage3 Systemd:
Linux: Instalação do Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Baixe o Stage3 systemd e execute:

wget -c [URL_DO_STAGE3]

tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner

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

Parte 6 — make.conf

Aqui definimos otimizações, perfil binário (EMERGE_DEFAULT_OPTS="--binpkg-respect-use=y --getbinpkg=y"), driver de vídeo, licença...

Modelo genérico UNIVERSAL (funciona na grande maioria dos desktops)

Caso não queira configurar o make.conf pode usar este genérico. Basta copiar e colar para gerar o make.conf:

cat <<'EOF' > /etc/portage/make.conf
COMMON_FLAGS="-O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"

MAKEOPTS="-j$(nproc)"

VIDEO_CARDS="amdgpu radeonsi intel i915 nouveau"
INPUT_DEVICES="libinput"

USE="systemd -elogind"
ACCEPT_LICENSE="*"

FEATURES="getbinpkg"
EMERGE_DEFAULT_OPTS="--binpkg-respect-use=y --getbinpkg=y"

LC_MESSAGES=C.utf8
EOF

Exemplo 1 (usei em uma máquina Intel)

cat <<'EOF' > /etc/portage/make.conf
COMMON_FLAGS="-march=haswell -O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"

MAKEOPTS="-j5"

VIDEO_CARDS="intel i915"
INPUT_DEVICES="libinput"

USE="systemd -elogind"
ACCEPT_LICENSE="*"

FEATURES="getbinpkg"
EMERGE_DEFAULT_OPTS="--binpkg-respect-use=y --getbinpkg=y"

LC_MESSAGES=C.utf8
EOF

Exemplo 2 — (usei em um AMD Ryzen (znver2))

cat <<'EOF' > /etc/portage/make.conf
COMMON_FLAGS="-march=znver2 -O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

MAKEOPTS="-j12"

VIDEO_CARDS="amdgpu radeonsi"
INPUT_DEVICES="libinput"

USE="systemd -elogind"
ACCEPT_LICENSE="*"

FEATURES="getbinpkg"
EMERGE_DEFAULT_OPTS="--binpkg-respect-use=y --getbinpkg=y"

LC_MESSAGES=C.utf8
EOF

Na página seguinte veremos kernel, fstab e outros.
    Próxima página

Páginas do artigo
   1. Introdução, discos, stage3, chroot e make.conf
   2. Perfil, kernel, initramfs, GRUB, fstab
   3. Timezone, teclado, input, usuário, Plasma e Swap
   4. Checklist antes de reiniciar
   5. Flatpak, codecs, overlay GURU, zram e conclusão
Outros artigos deste autor

Ganhe uma camiseta do Viva o Linux ajudando o Viva o Android

Roubando bits (parte 2): como resolver questões rapidamente sem calculadora

Ganhe uma camiseta do Viva o Linux ajudando o Viva o Android

Brutal DOOM no Linux Mint (Ubuntu)

Como está o meu bebê?

Leitura recomendada

O mínimo que você precisa saber sobre o terminal (parte 1)

Instalação do Zabbix 1.6 no CentOS 5

Ubuntu 10.04 no Notebook Acer 5532

Criando uma ajuda mais aprimorada

Mamãe, quero Slack! (parte 3 - final)

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts