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
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:
- https://wiki.archlinux.org/index.php/Partitioning#Example_layouts
- https://wiki.archlinux.org/index.php/EFI_system_partition
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:
- https://gist.github.com/mikroskeem/04ce5adcb63d6d20645a
- https://wiki.archlinux.org/index.php/Btrfs#SSD_TRIM
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:
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt /usr/bin/fish
- time zone:
ln -sf /usr/share/zoneinfo/America/Recife /etc/localtime
- locale:
echo "LANG=pt_BR.UTF-8" > /etc/locale.conf
echo "keymap=br-abnt2" > /etc/vconsole.conf
locale-gen
echo nome_qualquer > /etc/hostname
- mirrorlist:
- use o reflector:
pacman -S reflector
reflector --country 'brazil' --sort rate --latest 5 --save /etc/pacman.d/mirrorlist --verbose
- use o reflector:
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
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:
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:
- instalando o KDE:
pacman -S plasma-desktop plasma-wayland-session xorg-server-xwayland
- instalando o nm-applet por causa do KDE:
pacman -S networkmanager-qt nm-connection-editor network-manager-applet
systemctl enable NetworkManager.service
- 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
- primeiro veja o que tem disponível:
- zram-swap:
pacman -S zram-generator
cp /usr/share/doc/zram-generator/zram-generator.conf.example /etc/systemd/zram-generator.conf
- edite o arquivo, no meu caso prefiro usar zstd e ext4 e 50% da RAM
systemctl start zram-generator
- para mais informações:
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
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.