Instalação do Gentoo em HD Externo para dual boot com Windows

Resumo da instalação de Gentoo com Systemd, perfil desktop, com KDE Plasma em HD externo em dualboot com Windows, em modo GPT/UEFI.

[ Hits: 4.305 ]

Por: Xerxes em 22/06/2022


Introdução



Como sempre deixo avisado: a melhor documentação de instalação é o manual de instalação oficial do Gentoo, de preferência em inglês, sempre atualizado.

Este artigo é um resumo para consulta, que remove grande parte da informação do manual para atender a um caso específico: instalação do Gentoo em HD externo, para dualboot com Windows, usando sistema de arquivos ext4, GRUB, GPT/UFI. Há risco de que fique desatualizado em alguns meses, caso surja alguma alteração no Gentoo.

Manual de instalação: https://wiki.gentoo.org/wiki/Handbook:AMD64

Para começar, baixe a ISO mínima de instalação do Gentoo ou use outra distro como SystemRescue.
A vantagem do SystemRescue é que você terá um ambiente gráfico, navegador e várias ferramentas.

Grave a ISO em um dispositivo USB e inicie por ele.

FORMATAÇÃO

Como root, observe as partições disponíveis com:

# fdisk -l

Identifique aquela referente ao HD externo. Cuidado para não confundir com a partição do Windows.

Para o objetivo desse artigo suporemos que o dispositivo do HD externo seja "/dev/sdb".

Formate-o com os comandos:

# gdisk /dev/sdb

Crie a tabela de partição GPT:

Command: o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y

Crie a partição 1 (UEFI ESP):

Command: n
Partition Number: 1
First sector: ↵
Last sector: +512M
Hex Code: ef00

Crie a partição 2 (raiz):

Command: n
Partition Number: 2
First sector: ↵
Last sector: ↵
Hex Code: ↵

Escreva a tabela de partição no disco:

Command: w
Do you want to proceed? (Y/N): Y

Obs.: não criaremos partição de swap, pois ela poderá ser criada em arquivo posteriormente.

Formate as partições:

# mkfs.ext4 /dev/sdb2
# mkfs.vfat -F 32 /dev/sdb1

Monte as partições:

# mkdir -p /mnt/gentoo
# mount /dev/sdb2 /mnt/gentoo
# mkdir -p /mnt/gentoo/boot/efi
# mount /dev/sdb1 /mnt/gentoo/boot/efi

STAGE 3

Para baixar e extrair o stage3 prossiga com:

# cd /mnt/gentoo

Acesse: https://www.gentoo.org/downloads/

Baixe o stage3 com systemd para desktop.
Exemplo:

# wget -c [link do stage3]

Extraia com as permissões corretas:

# tar --xattrs-include='*.*' --numeric-owner -xpf stage3*

CHROOT

Agora vamos ao chroot:

# cd /mnt/gentoo
# 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
# cp /etc/resolv.conf etc && chroot . /bin/bash
# source /etc/profile

Em uma linha:

# cd /mnt/gentoo; 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; cp /etc/resolv.conf etc && chroot . /bin/bash; source /etc/profile

SINCRONIA E CRIAÇÃO DE USUÁRIO

Sincronize com o repositório Gentoo:

# emerge-webrsync

Crie a senha do root e um novo usuário.

A linha abaixo é opcional e serve para que o Gentoo aceite senhas fracas.

# sed -i s/everyone/none/ /etc/security/passwdqc.conf

Senha de root:

# passwd

Criação do seu usuário. Exemplo com usuário "xerxes":

# useradd -g users -G wheel,portage,audio,video,usb,cdrom -m xerxes
# passwd xerxes

CONFIGURAÇÃO DO FSTAB

Verifique o UUID do HD externo.

# blkid

E copie.

Edite o fstab:

# nano /etc/fstab

Adicione a linha referente ao HD Externo com base no UUID. Exemplo:

UUID=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx / ext4 noatime 0 1

Opcionalmente, se tiver muita RAM sobrando, pode colocar uma linha para montar o /tmp na RAM. Pode ser útil para compilar pacotes na RAM. No exemplo a seguir, coloquei 20GB:

tmpfs /tmp tmpfs noatime,nodev,nosuid,size=20G 0 0

Salve e feche.

EDIÇÃO DO MAKE.CONF

Edite o make.conf:

# nano /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
VIDEO_CARDS="radeon r600"
PORTAGE_TMPDIR="/tmp"
ACCEPT_LICENSE="*"
MAKEOPTS="-j14"
USE="pulseaudio"

O mais importante aqui é:

COMMON_FLAGS="-march=native -O2 -pipe"

O sinalizador "-march" instruirá o compilador a produzir um código específico para a CPU do sistema, com todos os seus recursos, conjuntos de instruções, peculiaridades etc.

VIDEO_CARDS="radeon r600"

Instrui o sistema a utilizar o driver correto para sua placa de vídeo. Veja qual é a sua em: https://wiki.gentoo.org/wiki/Category:Video_cards

PORTAGE_TMPDIR="/tmp"

É opcional, mas serve para compilar programas na RAM caso tenha colocado no fstab o ponto de montagem correto. Recomendo apenas se tiver muita memória RAM sobrando.

ACCEPT_LICENSE="*"

Para o Portage aceitar licenças de softwares automaticamente.

MAKEOPTS="-j14"

MAKEOPTS é uma variável que define quantos trabalhos em paralelos podem ser iniciados pelo Portage. Depende da quantidade de núcleos. Veja mais em: https://wiki.gentoo.org/wiki/MAKEOPTS

USE="pulseaudio"

PulseAudio é um servidor de som. É importante para permitir controlar o volume no KDE Plasma.

Após editar o make.conf, salve e feche.

LOCALIZAÇÃO

Edite o locale.gen:

# nano /etc/locale.gen

Descomente a linha que deseja ou então acrescente. Exemplo:

pt_BR.UTF8 UTF-8

Salve e feche. Execute:

# locale-gen
# eselect locale list
# eselect locale set [número]

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 kernel e firmwares:

# emerge sys-kernel/gentoo-kernel-bin
# emerge sys-kernel/linux-firmware x11-drivers/xf86-input-evdev

INICIALIZADOR

GRUB com OS-PROBER para detectar o Windows:

# emerge --ask os-prober

O os-prober vai puxar o GRUB.

Instale o GRUB e configure:

# grub-install --target=x86_64-efi --efi-directory=/boot/efi

Execute o seguinte comando para adicionar:

GRUB_DISABLE_OS_PROBER="false"

Ao arquivo do grub:

# echo 'GRUB_DISABLE_OS_PROBER="false"' >> /etc/default/grub

Continue:

# grub-mkconfig -o /boot/grub/grub.cfg

PERFIL DESKTOP

Mude o perfil para "desktop/plasma/systemd (stable)":

# eselect profile list
# eselect profile set [número]

REDE

Se pretende reiniciar em modo texto e continuar de lá, instale as ferramentas de rede com:

# emerge --ask sys-apps/iproute2 net-misc/dhcpcd

Habilite o dhcpcd:

# systemctl enable dhcpcd

Obs.: caso venha a utilizar o networkmanager, precisará desabilitar o dhcpcd para não dar conflito.

Se pretende continuar a instalação de onde está, em chroot, passe para o seguinte.

UTILIDADES

Aplicativos úteis:

# emerge --ask gentoolkit eix flaggie layman genlop

Pesquise sobre cada um na wiki do Gentoo caso não saiba para que servem.

AMBIENTE E NAVEGADOR

KDE Plasma completo e Firefox:

# emerge kde-plasma/plasma-meta kde-apps/kde-apps-meta www-client/firefox-bin

Habilite o SDDM:

# systemctl enable sddm

Se quiser mudar o nome do computador:

# hostnamectl hostname [novo nome]

REINICIANDO

Finalizando:

# exit
# cd /mnt
# umount -lR gentoo
# reboot

Quando o computador ligar, pressione o atalho para a seleção de inicialização e escolha Gentoo. No GRUB verá a opção para iniciar pelo Windows também.

Na próxima página, veja alguns passos extras.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Extras
Outros artigos deste autor

LAMP no Debian 8 (Apache 2, PHP 5 e MariaDB)

Como instalar o XAMPP no GNU/Linux

Curiosidades e mitos sobre Slackware

KISS vs. HUG

O que há de novo no Linux Mint 12?

Leitura recomendada

NFS sem segredos

Habilitando multilib no Slackware - Atualizado e simplificado

Instalação do Nagios no Ubuntu Linux

Squirrelmail em português sem gambiarra

Configurando o driver nVidia no Mandrake 10.1 community

  
Comentários
[1] Comentário enviado por maurixnovatrento em 09/07/2022 - 13:54h


Gentoo em HD Externo. Interessante.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10

[2] Comentário enviado por albertguedes em 12/07/2022 - 12:03h

Instalação bem exótica. É um cenário onde uma distro live daria conta facilmente, mas é interessante.


"Aquele que se empenha a resolver as dificuldades resolve-as antes que elas surjam. Aquele que se ultrapassa a vencer os inimigos triunfa antes que as suas ameaças se concretizem." - Sun Tzu

[3] Comentário enviado por xerxeslins em 18/08/2022 - 14:07h

Recentemente segui esse tutorial para testá-lo, para ver se ainda serve.

Sim, ainda serve.

Só alguns detalhes:

Precisa usar:

$ pulseaudio -start

Na sessão do usuário para habilitar o som.

Precisa usar:

# systemctl enable --now NetworkManager

Para habilitar a conexão.

Opcionalmente pode colocar "-webengine" no make.conf para evitar compilar o qtwebengine! Que é grande.



--
Chega uma hora na vida que você só quer bater o prego e não perder tempo estudando a ciência da construção de um martelo.

[4] Comentário enviado por ShireS em 25/08/2022 - 02:40h

Great article! I realized these are my favorite kinds of GI articles. Enough news and reviews, more stuff like this! Let the writers get creative!

https://www.mylifetouch.us/

[5] Comentário enviado por albfneto em 17/09/2022 - 16:15h

Maravilha de Artigo, Xerxes.
Favoritado.


¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: [i] Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva[/i].


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts