Tutorial de instalação do Arch Linux com UEFI (atualizado em 24/01/2021)

Opção Secure Boot da bios

Secure boot
A imagem já vem pronta para funcionar o secutrity boot.
É necessário modificar a bios
LINK: http://www.rodsbooks.com/efi-bootloader … eboot.html

Para archiso veja no link abaixo para mais informação.
LINK: https://wiki.archlinux.org/index.php/Se … ot_archiso

Apoś iniciar a boot do cd.
1- Configure o layout do teclado ( padrão US )

loadkeys br-abnt2

Ou você pode usar o novo padrão:

localectl set-x11-keymap br abnt2

Opcional: Caso tenha problema com a fonte.

setfont lat0-16

Opcional: Por padrão, a lingua setada como padrão é o Inglês. Se quiser modificar:
Edite o arquivo locale.gen e descomente o que for pt_BR.
nano /etc/locale.gen

pt_BR.UTF-8 UTF-8

Depois execute os comandos

locale-gen

export LANG=pt_BR.UTF-8 ou LANG=pt_BR.UTF-8

1.1- Atualize o relógio do sistema
Use timedatectl para garantir que o relógio do sistema esteja certo:

timedatectl set-ntp true

2- Configure a rede

Teste a conexão de rede

ping -c 3 google.com

DHCP
Conexão de rede com fio e acesso a um servidor DHCP (ex. roteador) (Está opção é iniciada automaticamente)
dhcpcd

WI-FI

Entre no iwctl

# iwctl

Vamos listar os dispositivos disponíveis:

[iwd]# device list

Para escanear as redes:

[iwd]# station device scan

Para listar todas as redes disponíveis:

[iwd]# station device get-networks

Finalmente, conecte-se a rede ao seu SSID:

[iwd]# station device connect SSID

Sair do iwd

[iwd]# exit

WIRED
Atenção: Antes de iniciar a configuração é necessário desativar o dhcp

systemctl stop dhcpcd.service

Identifique o nome da interface de rede

Na versão 197 do systemd foi adicionado o suporte nativo para um número de diferentes políticas de nomeação adequada no systemd/udevd e tem um esquema similar ao nome de dispositivos bios por padrão (mas no geral mais poderoso, e mais perto dos esquenas internos do kernel de identificação de dispositivo). Os diferentes esquemas de nomeação para interfaces de rede que agora são suportados nativamente pelo udev:

Names incorporating Firmware/BIOS provided index numbers for **on-board devices** (example: eno1)

Names incorporating Firmware/BIOS provided **PCI Express hotplug slot** index numbers (example: ens1)

Names incorporating physical/geographical location of the **connector of the hardware** (example: enp2s0)

Names incorporating the **interfaces's MAC address** (example: enx78e7d1ea46da)

Classic, unpredictable **kernel-native ethX naming** (example: eth0)

ip link

ou

ip addr

ex.

lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
enp2s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000
link/ether 00:11:25:31:69:20 brd ff:ff:ff:ff:ff:ff
wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT qlen 1000
link/ether 01:02:03:04:05:06 brd ff:ff:ff:ff:ff:ff

  • Ative a interface de rede, por exemplo, para enp2s0f0:

ip link set enp2s0f0 up

Adicionando endereços
ip addr add <endereço ip>/ dev

ip addr add 192.168.1.2/24 dev enp2s0f0

Adicionando o gateway
ip route add default via

ip route add default via 192.168.1.1

Edite seu DNS (dns google):
nano /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4

3- Prepare o disco rígido
Se já estiver particionado. Você pode utilizar os comandos fdisk ou lsblk.

fdisk -l /dev/sda

ou

lsblk -f /dev/sda (este é equivalente a -o NAME,FSTYPE,LABEL,MOUNTPOINT)

Ferramentas para particionar os discos
parted: GPT and MBR
fdisk, cfdisk, sfdisk: GPT and MBR
gdisk, cgdisk, sgdisk: GPT
Recomendo utilizar uma dessas ferramentas: gdisk e cgdisk
Pode utilizar também o fdisk e cfdisk

CFDISK e CGDISK talvez sejam mais fáceis de configurar.

No modo UEFI, temos que criar uma partição boot ESP (EFI System Partition), com a formatação FAT32 (FAT32 – Wikipédia, a enciclopédia livre).

Utilizando o gdisk

Para listar as partições

gdisk -l /dev/sdx

para entrar no menu interativo

gdisk /dev/sdx

root@archiso ~# gdisk /dev/sda
p (Imprime a table de partições)
d (Deleta partições)
w (escrever as partições)
q (sair)
? ou help (abrir o menu de ajuda)

Cria um partição boot

n (Adicionar uma nova partição)
Partition number: {default}
First Sector: {default}
Last Sector: +300M
GUID: EF00

Se você quiser só mais uma partição e utilizar 100% do espaço restante.

n (Adicionar uma nova partição)
Partition number: {default}
First Sector: {default}
Last Sector: {default}
GUID: {default}

E caso queira separar as partições / (20GiB), swap (4GiB), e /home (com todo o espaço restante):

n (Adicionar uma nova partição)
Partition number: {default}
First Sector: {default}
Last Sector: +20G
GUID: {default}

n (Adicionar uma nova partição)
Partition number: {default}
First Sector: {default}
Last Sector: +4G
GUID: 8200

n (Adicionar uma nova partição)
Partition number: {default}
First Sector: {default}
Last Sector: {default}
GUID: {default}

Não esqueça antes de sair, escrever as partições com a opção w.

4- Configure dispositos de blocos, sistema de arquivo e ponto de montagem

  • Para criar o sistema de arquivo use mkfs.
  • Como mkfs é só um sistema unificado de interface de diferentes scripts.
    Scripts:
    e2fsprogs contém: mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.ext4dev
    dosfstools contém suporte FAT16 e FAT32: mkfs.vfat, mkfs.msdos
    ntfsprogs contém: mkfs.ntfs
    jfsutils contém: mkfs.jfs
    xfsprogs contém: mkfs.xfs
    reiserfsprogs contém: mkfs.reiserfs
    btrfs-progs contém: mkfs.btrfs
    Adicione o -L para criar a label da partição

Uma vez que as partições foram criadas, cada um deve ser formatado com um sistema de arquivo adequado, exceto para partições swap.

mkfs.ext4 /dev/sda2

mkfs.ext4 /dev/sda4

mkfs.fat -F32 -n BOOT /dev/sda1

Formate e ative a partição swap: (Importante para já está habilitada quando for gerar o fstab com o script genfstab)
Adicione o -L para criar a label da partição.
Ex.

mkswap -L swap /dev/sda3 && swapon /dev/sda3

Para verificar se a partição swap está funcionando, utilize o comando free ou swapon

swapon -s
free -h

5- Monte as partições
Montar a partição root na pasta /mnt.

mount /dev/sda2 /mnt

Crie e monte para toda partição separada que você precisa. No exemplo além da partição root, foi criada e montada para /home e /boot)

mkdir -p /mnt/home && mount /dev/sda3 /mnt/home

Atenção:
Se você pretende usar o grub. E quer utilizar a instalação automática no disco (grub-install /dev/sda)

mkdir -p /mnt/boot/efi && mount /dev/sda1 /mnt/boot/efi

Se você pretende usar o grub. E quer utilizar a instalação personalizada.

mkdir -p /mnt/boot && mount /dev/sda1 /mnt/boot

6- Selecione o espelho (mirror) para a instalação
A imagem do Arch já vem com o pacote reflector, que serve para buscar os melhores espelhos (mirros) para você baixar os pacotes.Utilizaremos o comando com as seguintes opções

-c para falar o pais
-f busca um número de espelhos mais rápidos
–save aonde salvar o arquivo mirrorlist

reflector -c brazil -f 5 --save /etc/pacman.d/mirrorlist

ou

latest - os mais recentes
sort - ordenar por taxa de download

reflector -c brazil --latest 5 --sort rate –save /etc/pacman.d/mirrorlist

7- Instale o sistema base
Nota: Um sistema mínimo exige o pacote do grupo base, também a instalação do grupo de pacote base-devel neste momento é altamente recomendado.

pacstrap /mnt base base-devel linux linux-firmaware linux-headers vim nano man-db pacman-contrib

8-Gerar o fstab
Gere o fstab com o script genfstab(se preferir adicione a opção -U (UUIDs) ou -L (labels), respectivamente).

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

Verifique com cat

cat /mnt/etc/fstab

Adicione a linha swap no fstab - (Só será necessário, caso não tenha montado e ativado a partição swap anteriormente )

/dev/sda3 none swap defaults 0 0

Opcional: Apenas a partição root(/) precisa de 1 no último campo. Todo o resto deve ser 2 ou 0. Além disso, data=ordered devem ser removidos. Esta opção será usada automaticamente. Você também pode adicionar a opção noatime.
nano /mnt/etc/fstab
Ex.Retirado do https://wiki.archlinux.org/index.php/Fs … efinitions

tmpfs /tmp tmpfs nodev,nosuid 0 0
/dev/sda1 / ext4 defaults,noatime 0 1
/dev/sda2 none swap defaults 0 0
/dev/sda3 /home ext4 defaults,noatime 0 2

OBS: O tmpfs não é mais necessário no /mnt/etc/fstab . O unit tmp.mount systemd gerencia automaticamente esta opção.

9- Chroot no sistema
Faremos um chroot dentro de nosso sistema recém-instalado.

arch-chroot /mnt

Nota: Se você esqueceu de instalar pacotes com o script pacstrap, pode instalá-los após o chroot com:

pacman -S

Opcional: Este procedimento pode ser feito após a instalação. Verifique as cinco chaves mestras para evitar um aviso de erro, informando que não pode verificar se a assinatura de alguns pacotes é verdadeira nos repositórios principais. (core,extra,community,multilib,testing,community-testing e multilib-testing)

pacman-key --init && pacman-key --populate archlinux

10- Configure o sistema
editar os arquivos
Info: Alguns atalhos para NANO
Ctrl+W - procurar por string. Ex. .br/
PageUp e PageDown - chave para subir e descer ( pode utilizar as setas ) .
Ctrl+K - para recortar. Você pode recortar todas as linhas de servidores do Brazil
Ctrl+U - para colar. Colar todas as linhas de servidores do Brazil no ínicio do arquivo.
Ctrl+X - para sair, se foi modificado, irá peguntar se quer salvar, responda y ou n.

[ LINGUA ]
nano /etc/locale.gen
Descomente
pt_BR.UTF-8 UTF-8
pt_BR ISO-8859-1

nano /etc/locale.conf
LANG=pt_BR.UTF-8

Execute o comando
locale-gen

export LANG=pt_BR.UTF-8 ou LANG=pt_BR.UTF-8

[ TECLADO ]

nano /etc/vconsole.conf

KEYMAP=br-abnt2
FONT=lat0-16
FONT_MAP=

[ HORA ]

/etc/localtime ( link simbólico )

Execute o comando para criar o link simbólico

ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime

/etc/adjtime ( Crie o arquivo automaticamente)
#UTC
hwclock --systohc --utc
#LOCALTIME
hwclock --systohc --localtime

Atenção: Para localtime, só aceita a configuração

0.0 0.0 0.0
0
LOCAL

Dica: Se for necessário, ajuste a hora.
Veja a hora
date
-Ajuste a hora
hwclock --set --date="data hora"
hwclock --set --date="7/18/09 19:23:00"

[ NOME DA MÁQUINA E HOSTS ]
nano /etc/hostname

myhostname

nano /etc/hosts
Adicione o hostname no arquivo hosts
Alguns programas utilizam o 127.0.1.1, por isso é recomendado adicionar

127.0.0.1 localhost
127.0.1.1 myhostname.localdomain myhostname
::1 localhost

Verifique novamente o dns (dns google)
nano /etc/resolv.conf

nameserver 8.8.8.8
nameserver 8.8.4.4
search example.com

11- Kernel Módulos

  • Crie arquivos dentro da pasta com nomes dos programas ou tarefas dos módulos com extensão “.conf”.
  • Cada módulo é separado por linha

[ HARDWARE ]
Ex.
/etc/modules-load.d/virtio-net.conf

#Load virtio-net.ko at boot
virtio-net

/etc/modules-load.d/firewall.conf

#módulos iptables para rodar no boot
ip_tables
nf_conntrack_netbios_ns
nf_conntrack

/etc/modprobe.d/nobeep.conf

#Não rodar o módulo pcspkr no boot

blacklist pcspkr

12- Crie um ambiente ramdisk inicial

mkinitcpio -p linux

13- Instale e configure o bootloader ( Gerenciador de Inicialização )

1- systemd-boot

A partição tem que estar GPT, e ter uma partição de sistema EFI (tipo gdisk EF00, formatado com FAT32) montada em / boot.

Instale o systemd-boot para a patição EFI:
# bootctl install

E tambem é muito importante lembrar que se você optar pelo SystemD Boot é necessário criar os arquivos:

  • /boot/loader/loader.conf
  • /boot/loader/entries/arch.conf
  • Respectivamente com os seguintes conteúdos:

timeout 2
default arch
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=/dev/sda2 rw

Onde:

/vmlinuz-linux e /initramfs-linux.img são relativos a partição /boot e na verdade estão em /boot/vmlinuz-linux e /boot/initramfs-linux.img

/dev/sda2 é a partição /

Mais informação sobre o system-boot
https://wiki.archlinux.org/index.php/Systemd-boot

2- Grub

Instale o grub

pacman -S grub

Instale o efibootmgr

pacman -S efibootmgr

Instale no disco rígido contendo a sua partição de boot. Instalação automática.

grub-install /dev/sda

ou
Caso dê erro de efi directory. Pode ser porque você não criou a partição esp com formatação FAT32 ou a ponto de montagem foi /mnt/boot.
Use a instalação personalizada. Caso queira alterar o nome da pasta, por exemplo, --bootloader-id=grub para --bootloader-id=arch
Como montamos a partição em na pasta boot ( Lembra? mount /dev/sda1 /mnt/boot).
Então vamos usar /boot no --efi-directory=

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub --recheck

Para verificar se o arquivo efi foi instalado na pasta grub ou arch

ls /boot/EFI/arch/

Deverá aparecer o arquivo o arquivo grubx64.efi

Atenção: Se você está instalando via virtualbox, terá que mudar o nome de pasta e arquivo porque o
virtualbox não salva a NVRAM.
Por exemplo:
Se o caminho do arquivo efi estiver assim:
/boot/EFI/arch/grubx64.efi

Atera o nome da pasta arch para BOOT e o nome do arquivo para bootx64.efi
Ficará assim:
/boot/EFI/BOOT/bootx64.efi/color]

Crie o arquivo grub.cfg.

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

14- Definir a senha root

passwd

15- Opcional: Instalação da base da interface gráfica

Instale o xorg (Opcional xorg-server-utils e xorg-xinit [para o startx])

pacman -S xorg-server xorg-xinit

Você pode definir o layout do teclado
/etc/X11/xorg.conf.d/10-keyboard.conf

Section “InputClass”
Identifier “keyboard default”
MatchIsKeyboard “yes”
Option “XkbLayout” “br”
Option “XkbVariant” “abnt2”
EndSection

ou

/etc/X11/xorg.conf.d/10-evdev.conf
Adicione
Option “XkbLayout” “br”
Option “XkbVariant” “abnt2”

em
Identifier “evdev keyboard catchall”
Section “InputClass”
Identifier “evdev keyboard catchall”
MatchIsKeyboard “on”
MatchDevicePath “/dev/input/event*”
Driver “evdev”
Option “XkbLayout” “br”
Option “XkbVariant” “abnt2”
EndSection

Instale o video padrão…ou use o video da intel ou nvidia, por exemplo

xf86-video-intel
nvidia

pacman -S xf86-video-vesa

Caso esteja instalando no virtualbox, use o driver xf86-video-fbdev

pacman -S xf86-video-fbdev

Configure o sudo , usa o editor vim

visudo

Caso queira usar o editor nano

EDITOR=nano visudo

Descomente a opção

## Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL) ALL
%wheel ALL=(ALL) ALL

Crie o usuário
Opções do useradd
-d diretório_home : caminho completo do diretório home do usuário.
-m : Cria o diretório home fornecido pela opção “-d” com os arquivos e estrutura definidas na configuração de /etc/skell
-G grupos : lista de grupos separados por uma virgula
-g grupo padrão

useradd -m -g users -G wheel swatquest

Crie a senha - passwd usuário

passwd swatquest

16- Instalando ambiente gráfico

Instalando xfce4

pacman -S xfce4 xfce4-goodies

pacman -S pacman -Ssq gvfs

pacman -S file-roller unzip unace 7zip p7zip unrar

pacman -S networkmanager network-manager-applet

Instalando gerenciador de login

pacman S lightdm lightdm-gtk-greeter

Configurando gerenciador de login

nano /etc/lightdm/lightdm.conf

Caso queira colocar habilitar o autologin

Descomente e modifique

greeter-session=lightdm-gtk-greeter
autologin-user=seuusuário

E salve a modificação* Crie o grupo autologine adicione seu usuário
groupadd -r autologin

gpasswd -a seuusuário autologin

E por fim, coloque para iniciar junto com sistema o serviço de rede e gerenciador de login
systemctl enable NetworkManager lightdm

Para finalizar, crie o arquivo .xinitrc no pasta do usuário na home e adicione

exec startxfce4

17- Sair do chroot

Saia do chroot, digite “exit”, ou +

Desmonte os pontos de montagem e reinicie o sistema.

umount -R /mnt

e reboot

11 curtidas

instalando gnome

pacman -S gnome gnome-extra

.xinitrc para gnome veja em
https://wiki.archlinux.org/index.php/GNOME#Manually

systemctl enable gdm NetworkManager

instalando cinnamon

pacman -S cinnamon xed lightdm

adicione e dite o arquivo
nano home/seuusuário/.xinitrc

exec cinnamon-session

Caso queira colocar habilitar o autologin

Descomente e modifique

greeter-session=lightdm-gtk-greeter
autologin-user=seuusuário

E salve a modificação* Crie o grupo autologine adicione seu usuário
groupadd -r autologin

gpasswd -a seuusuário autologin

E por fim, coloque para iniciar junto com sistema o serviço de rede e gerenciador de login
systemctl enable NetworkManager lightdm

5 curtidas

Opa, então digamos que deu tudo certo, e que finalmente tenho o Arch Linux, então qual interface ele terá? É padrão eu ter que usar gnome? ou eu posso optar em usar XFCE?

desde já agradeço :smiley:

Vc pode ter o ambiente que quiser.

Só sugeri algumas interfaces

Patra xfce

https://wiki.archlinux.org/title/xfce

Ok ok, fazendo os passos eu vi ali o xfce, agora o problema é quando incio o arch T.T

Ele mostra esses erros:

Time out waiting for device /dev/sda3
Dependency failed for /dev/sda3
Dependency failed for Swaps
Failed to Start Light Display Manager

Esses aí rsrs

Eu não fiz swap, deixei somente um sda1 com o Boot e um sda com File System

O que é arch T.T?

O sdax

X o número são as partições.

/dev/sda é para instalação do grub.

Exemplo

/dev/sda1 /

Root é o sda1

era para ser o emoji chorando acho…

@Yuu, você habilitou o lightdm?

sudo systemctl enable lightdm.service

lembrando que para systemd-boot o ideal é montar em /boot¹ ou /efi²

bootctl install¹ ou bootctl --path=/boot install¹
bootctl --boot-path=/boot --esp-path=/efi install²

https://wiki.archlinux.org/title/systemd-boot

Como no início a partição foi montada em /mnt/boot/efi, o certo seria:
--efi-directory=/boot/efi

https://wiki.archlinux.org/title/GRUB_(Português)
https://wiki.archlinux.org/title/EFI_system_partition_(Português)#Montar_a_partição

1 curtida

Como no início a partição foi montada em /mnt/boot/efi , o certo seria:
--efi-directory=/boot/efi

Não há necessidade de informar

Como foi montada no boot/efi

Com o simples comando --install já funciona

1 curtida

petição para adicionar efistub e refind

1 curtida

Apoio. Muito funcional também!

cara, acabei de reinstalar com efistub (usava systemd-boot) e meu… que DELÍCIA!!! boota muito mais rápido e é estupidamente simples de configurar (efibootmgr). Poxa, a UEFI foi a melhor invenção, oriunda da unificação das fabricantes em busca de um sistema de boot mais inteligente e prático :heart_eyes:

1 curtida

eu tentei fazer uma instalção com UEFI e durante o processo não tive nenhum erro. Mas na hora de ligar pela primeira vez deu aquela tela de reparo da bios…

enfim, sei que é difícil assim meio por cima mas queria saber o por quê. nunca consegui instalar no modo uefi