Formatando e Particionando
Eu prefiro utilizar outra distribuição para instalar o Void
Linux, pois apesar das ISOs do Void serem suficientes, prefiro ter um sistema mais completo e automatizado para fazer outras coisas enquanto instalo e também para não correr riscos de faltar algum software específico. Pode ser Fedora, Ubuntu, Manjaro ou mesmo o Void Linux, fica a seu critério.
Assim que baixar a distribuição de sua escolha, crie o seu pendrive USB bootável. No meu caso, escolhi o Manjaro XFCE.
# dd if=manjaro-kde.iso of=/dev/sdc
Onde:
/dev/sdc é o meu pendrive.
Agora é só reiniciar o computador e bootar no pendrive.
Feito isso, é hora de particionar. No Manjaro, eu utilizo o GParted para facilitar o processo. Irei utilizar o sistema de arquivos BTRFS para a partição raiz.
Tudo ficará dessa maneira:
- /dev/sda1: FAT32 > 600MB (partição EFI, onde ficará o kernel).
- /dev/sda2: EXT4 > 1 GB (partição: /boot).
- /dev/sda3: BTRFS (restante do espaço onde ficará a partição raiz e diretório Home).
Montando a partição raiz e criando sub-volumes no sistema de arquivos BTRFS:
# mount -o rw,noatime,ssd,compress=zstd,space_cache,commit=120 /dev/sda3 /mnt
# btrfs subvolume create /mnt/@
# btrfs subvolume create /mnt/@home
# btrfs subvolume create /mnt/@snapshots
Agora, desmonte a partição para remontarmos novamente utilizando os sub-volumes:
# umount /mnt
Montando as Partições e Instalando o Sistema
Montando a partição raiz e sub-volumes:
# mount -o rw,noatime,ssd,compress=zstd,space_cache,commit=120,subvol=@ /dev/sda3 /mnt
# mkdir /mnt/{home,snapshots}
# mount -o rw,noatime,ssd,compress=zstd,space_cache,commit=120,subvol=@home /dev/sda3 /mnt/home
# mount -o rw,noatime,ssd,compress=zstd,space_cache,commit=120,subvol=@snapshots /dev/sda3 /mnt/snapshots
Montando partição BOOT e EFI:
# mkdir /mnt/boot
# mount -o rw,noatime /dev/sda2 /mnt/boot
# mkdir /mnt/boot/efi
# mount -o rw,noatime /dev/sda1 /mnt/boot/efi
Hora de instalar o sistema base. Você precisará baixar o arquivo "rootfs" do Void Linux no
site. O arquivo, no meu caso, é o "void-x86_64-ROOTFS-20191109.tar.xz".
Assim que finalizar o download, iremos descompactar no diretório raiz do sistema que acabamos de montar:
# tar xvf void-x86_64-ROOTFS-20191109.tar.xz.tar.xz -C /mnt
Agora iremos entrar no novo sistema:
# mount -t proc proc /mnt/proc
# mount -t sysfs sys /mnt/sys
# mount -o bind /dev /mnt/dev
# mount -t devpts pts /mnt/dev/pts
# cp -L /etc/resolv.conf /mnt/etc/
# cd /mnt
# chroot /mnt /bin/bash
Pronto! Estamos no Void Linux.
O próximo passo é criar a senha para o root e ajustar as permissões:
# passwd root
# chown root:root / && chmod 755 /
Antes de seguir com a instalação, irei bloquear alguns pacotes de serem instalados.
No meu caso, não quero que sejam instalados os pacotes "linux-firmware-amd", "wpa_supplicant" e "dhcpcd".
O primeiro, porque não tenho nada da AMD no meu Laptop. O segundo e terceiro, porque utilizarei o "iwd" e "openresolv" pra conectar o Wi-Fi. Como o "iwd" também tem um cliente "dhcp" interno, é desnecessário utilizar o "dhcpcd".
# echo "ignorepkg=linux-firmware-amd" > /etc/xbps.d/10-ignore.conf
# echo "ignorepkg=wpa_supplicant" >> /etc/xbps.d/10-ignore.conf
# echo "ignorepkg=dhcpcd" >> /etc/xbps.d/10-ignore.conf
Instalando o sistema:
# xbps-install -Su xbps
# xbps-install -u
# xbps-install base-system
# xbps-remove base-voidstrap
# xbps-remove -o
Instalação básica completa! Agora iremos configurar.
Configurando o Sistema
Especifique o hostname em
/etc/hostname e edite
/etc/rc.conf com suas preferências.
Escolha a(s) localização(ões) correta(s) editando o arquivo
/etc/default/libc-locales removendo o
# do início da linha desejada e digite o comando a seguir:
# xbps-reconfigure -f glibc-locales
Hora de editar o
/etc/fstab. Primeiro, copie o arquivo de referência:
# cp /proc/mounts /etc/fstab
Remova as linhas que começam com: "proc", "sys", "devtmpfs and pts". Troque o último
0 por
1 da linha referente à partição raiz e das outras linhas troque por
2.
Agora a parte chata, você deve substituir todos os
/dev/sda*/ por seus respectivos UUIDS.
Para descobrir cada UUID, digite:
# blkid -s UUID
Por fim, ajuste as linhas referentes ao
/boot e
/boot/efi para "defaults,noatime" e adicione a linha seguinte para montar
/tmp na memória RAM.
Meu
/etc/fstab ficou assim:
UUID=7c29705b-086c-49b6-a1ae-3b3dbf594dde / btrfs rw,noatime,compress=zstd:3,ssd,space_cache,commit=120,subvolid=256,subvol=/@ 0 1
UUID=7c29705b-086c-49b6-a1ae-3b3dbf594dde /home btrfs rw,noatime,compress=zstd:3,ssd,space_cache,commit=120,subvolid=257,subvol=/@home 0 2
UUID=7c29705b-086c-49b6-a1ae-3b3dbf594dde /snapshots btrfs rw,noatime,compress=zstd:3,ssd,space_cache,commit=120,subvolid=258,subvol=/@snaps
UUID=e2f9d238-fc81-44ea-b2c4-11d40ee1e49c /boot ext4 defaults,noatime 0 2
UUID=3D6A-2654 /boot/efi vfat defaults,noatime 0 2
tmpfs /tmp tmpfs defaults,nosuid,nodev 0 0
Instalando e Configurando o GRUB
Adicionaremos o módulo BTRFS no dracut e também uma linha de referência ao diretório temporário:
# echo 'add_dracutmodules+="btrfs"' >> /etc/dracut.conf
# echo 'tmpdir=/tmp' >> /etc/dracut.conf
Instale o GRUB:
# xbps-install grub-x86_64-efi
Como tenho placa Nvidia e Intel no Laptop, adicionei "nvidia-drm.modeset=1" e "i915.modeset=1" na configuração do GRUB em
/etc/default/grub. Pode pular esta etapa caso não tenha.
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=4 slub_debug=P page_poison=1 nvidia-drm.modeset=1 i915.modeset=1"
Reconfigurando dracut:
# dracut --force --hostonly --kver 5.8.14_1 #coloque a versão do seu kernel
Instalando o bootloader:
# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=void_grub --boot-directory=/boot --recheck --debug
Caso apareça o erro "EFI variables are not supported on this system", abra um outro terminal (que irá estar fora do Void Linux) e digite:
# mount -B /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars
Rode novamente o comando para instalar o GRUB.
Vamos nos certificar de que todos os pacotes estão devidamente configurados:
# xbps-reconfigure -fa
Instalo agora os drivers de vídeo, Xorg e também o IWD e Openresolv para conectar a internet:
# xbps-install void-repo-nonfree
# xbps-install nvidia xf86-video-intel xf86-video-fbdev intel-video-accel mesa-vulkan-intel
# xbps-install xorg-minimal xf86-input-evdev
# xbps-install iwd openresolv
O seu sistema está pronto para bootar. Pode instalar tudo o que quiser agora antes de reiniciar. Fica a seu critério.
Saindo do chroot e reiniciando:
# exit
# umount -R /mnt
# shutdown -r now
Configurando Internet e Finalizando
Para conectar o Wi-Fi com o IWD, é necessário adicionar os serviços ao sistema.
# ln -s /etc/sv/dbus /var/service/
# ln -s /etc/sv/iwd /var/service/
Para utilizar o IWD, você encontra vários tutoriais na Internet, mas ele é muito mais estável e simples do que o "wpa_supplicant". Aqui só irei ensinar como configurá-lo para utilizar o cliente DHCP interno e o Openresolv.
Edite ou crie o arquivo
/etc/iwd/main.conf e coloque:
[General]
EnableNetworkConfiguration=true
[Network]
NameResolvingService=resolvconf
Se for utilizar o NetworkManager para conectar a Internet, ele também pode ser configurado para utilizar o IWD e Openresolv.
Crie um arquivo em
/etc/NetworkManager/conf.d/ com o nome de sua preferência, como "rc-manager.conf" por exemplo, e coloque:
[main]
rc-manager=resolvconf
Para utilizar o IWD, crie outro arquivo em
/etc/NetworkManager/conf.d/, como "wifi.conf", com o seguinte conteúdo:
[device]
wifi.backend=iwd
Coloque o serviço para iniciar:
# ln -s /etc/sv/NetworkManager /var/service/
Feito. Utilize o NetworkManager normalmente como utilizaria em qualquer outro sistema.
Agora é só prosseguir normalmente criando seu usuário (coloque ele no grupo "network" para poder conectar a Internet e utilizar o NetworkManager), instalando os programas que quiser e, por fim, começar a utilizar uma das distribuições Linux mais enxutas e rápidas atualmente!