Skip to content

Instantly share code, notes, and snippets.

@demacdolincoln
Last active April 10, 2022 03:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save demacdolincoln/23223fdfc1c02f3f624e64aabea4fb57 to your computer and use it in GitHub Desktop.
Save demacdolincoln/23223fdfc1c02f3f624e64aabea4fb57 to your computer and use it in GitHub Desktop.

Roteiro de instalação do ArchLinux

configurando coisas básicas no modo live

loadkeys br-abnt2

#---> se precisar se conectar ao wifi, basicamente:

iwctl

device list

station _a_interface_de_rede_escolhida scan

station _a_tal_interface get-networks

station _a_tal_interface connect SSID

#---> para detalhes: https://wiki.archlinux.org/title/Iwd#iwctl

ping -c 3 8.8.8.8 # para verificar se está conectado

Obs.: tenho um velho roteador que me conectando a ele via cabo eu precisa executar para conectar: dhclient

1. discos

use cfdisk para definir as partições (ao iniciar escolha GPT) e mkfs para formatar:

UEFI + BTRFS:

/dev/sda1 ~> /boot ~> fat32 ~> 260Mb

/dev/sda2 ~> / ~> BTRFS ~> o resto do disco

leituras recomendadas:

criando os subvolumes do BTRFS:

monte a partição /dev/sda2 em /mnt e:

# criando os subvolumes
for subv in root var home snapshots
    btrfs subvolume create /mnt/@$subv

# desmontando a partição e montando os subvolumes
unmount /mnt
mount -o noatime,discard=async,compress=zstd,space_cache,subvol=@root /dev/sda2 /mnt

# criando os diretórios onde os outros subvolumes serão montados
mkdir /mnt/{boot,var,home,snapshots}

# montando os subvolumes
for subv in var home snapshots
    mount -o noatime,discard=async,compress=lzo,space_cache,subvol=@$subv /dev/sda2 /mnt/$subv

Devido ao UEFI, podemos montar a partição com fat32 em /boot:

mkdir -p /mnt/boot

mount /dev/sda1 /boot

Obs1.: não sugiro criar uma partição de swap porque é mais confortável usar swap em arquivo

Obs2.: não defina os parâmetros de montagem apenas porque os usei aqui, leia a wiki do arch e a man page do BTRFS

leituras recomendadas:

2. instalação

pacstrap /mnt base linux linux-firmware

Obs1.: no Arch há outras compilações do kernel linux além da padrão, recomendo pelo menos dar uma olhada no zen kernel (linux-zen)

Obs2.: na realidade você pode instalar qualquer coisa aqui, normalmente instalo logo o fish que eu prefiro usar no lugar do bash, também instalo o vim. vamos fingir que instalei também o fish e aproveitar para instalar logo o sudo: pacstrap /mnt base linux-zen linux-firmware fish sudo

leituras recomendadas:

3. pós-instalação

definindo os pontos de montagem automaticamente:

genfstab -U /mnt >> /mnt/etc/fstab

entrando no sistema intalado:

arch-chroot /mnt /usr/bin/fish

configurações básicas:

  1. time zone: ln -sf /usr/share/zoneinfo/America/Recife /etc/localtime
  2. locale:
    1. echo "LANG=pt_BR.UTF-8" > /etc/locale.conf
    2. echo "keymap=br-abnt2" > /etc/vconsole.conf
    3. locale-gen
  3. echo nome_qualquer > /etc/hostname
  4. mirrorlist:
    • use o reflector: pacman -S reflector
    • reflector --country 'brazil' --sort rate --latest 5 --save /etc/pacman.d/mirrorlist --verbose

usuários:

passwd ~> define a senha de root

useradd -m -g users -G wheel -s /usr/bin/fish nome_de_usuario

passwd nome_de_usuario ~> define a senha para o usuário criado

Obs.: existem vários grupos úteis, então recomendo que veja a archwiki: https://wiki.archlinux.org/index.php/Users_and_groups#User_groups

Obs2.: o grupo wheel pode permitir ao usuário executar comandos com sudo sem precisar usar senha, basta retirar o comentário da linha que diz %wheel ALL=(ALL) NOPASSWD: ALL em /etc/sudoers

boot:

usando o UEFI, o GRUB não é estritamente necessário, mas considerando os recursos do BTRFS, especialmente em relação aos snapshots, o GRUB pode realmente ser útil por causa do grub-btrfs que cria entradas no menu de inicialização para os snapshots automaticamente, é uma questão de segurança que pode ser importante para computadores usados no trabalho.

primeiro instale o grub e o efibootmgr, e se quiser criar entradas no menu do grub para os snapshots do BTRFS, grub-btrfs

grub-install --target=x86_64-efi /dev/sdx --efi-directory=/boot/EFI grub-mkconfig -o /boot/grub/grub.cfg

para mais detalhes sobre o GRUB: para saber mais sobre o grub-btrfs: https://github.com/Antynea/grub-btrfs

acerca dos snapshots automáticos: https://wiki.archlinux.org/title/Snapper#Tips_and_tricks

se preferir o boot de forma mais direta:

efibootmgr --disk /dev/sda --part 1 --create \
           --label "ArchLinux" \
           --loader vmlinuz-linux --unicode \
           "root=PARTUUID=xxxxxxxxx......" \
           rw initrd=\initramfs-linux.img

para saber o UUID das partições, use lsblk -f

leitura recomendada:

aproveitando para instalar mais coisas

na prática, assim que você usar o chroot, você já está usando o sistema instalado, então, não custa nada cuidar de algumas coisas:

  1. instalando o KDE:
    • pacman -S plasma-desktop plasma-wayland-session xorg-server-xwayland
  2. instalando o nm-applet por causa do KDE:
    • pacman -S networkmanager-qt nm-connection-editor network-manager-applet
    • systemctl enable NetworkManager.service
  3. drive de vídeo:
    • primeiro veja o que tem disponível: pacman -Ss intel (ou amd ou nvidia)
    • drive opensource (normalmente o que funciona melhor): pacman -S xf86-video-intel
    • também estão disponíveis drives vulkan e opencl
  4. zram-swap:

um gerenciador de sessões é completamente desnecessário, podemos definir o login automático usando o getty (é o que eu faço): https://wiki.archlinux.org/index.php/Getty#Virtual_console

e se for usar o fish como shell, podemos iniciar automaticamente o KDE adicionando as seguintes linhas em ~/.config/fish/fish.conf:

if status --is-login
    if test -z "$DISPLAY" -a $XDG_VTNR -eq 1
        QT_QPA_PLATFORM=wayland XDG_SESSION_TYPE=wayland dbus-run-session startplasma-wayland 
        # exec startx -- -keeptty # se for iniciar pelo x.org
    end
end

para mais informações: https://wiki.archlinux.org/index.php/KDE#Starting_Plasma

últimas observações e reiniciando:

reiniciar o sistema: ctrl+alt+delete

se algo não funcionou e especialmente se não conseguir logar como root e/ou não conseguir se conectar à internet, pode voltar ao live-usb e usar o arch-chroot para mexer confortavelmente no sistema.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment