[Tuto/Dica] Instalação arch no modo UEFI (Atualizado 15/11/2019)

Alterações

#####Atualizado 15/11/2019#####
consertado mkdir -p /mnt/boo/efi para  mkdir -p /mnt/boot/efi …
corrigido a formatação no swapon -s ou free -h
#####Atualizado 03/11/2019#####
Modificando o pacote wifi-menu para netctl
#####Atualizado 28/10/2019#####
Melhorando o passo a passo do tutorial
#####Atualizado 25/10/2019#####
Adicionado man-db na instalação básica

Dica: Para criar um usb bootável de Linux no Windows

Instalação do arch - UEFI

Este tutorial foi criado para facilitar os usuários na hora de instalar o arch no modo UEFI.
O processo utilizado abaixo foi testado via virtualbox.

Para saber se você inciciou o CD/USB em modo UEFI, veja se o seguinte diretório está preenchido

ls /sys/firmware/efi/efivars

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-bootloaders/secureboot.html

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

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

Na instalação do Arch, rode o programa:

wifi-menu

Escolha a rede e digite sua senha.

E pronto, você está conectado. :smiley:

Dê um ping para testar a conexão:

ping www.google.com

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

ip link ou ip addr

ex.

1: 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
2: 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
3: 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 search exemplo.com

3- Prepare o disco rígido

Dica

Veja também aqui
https://wiki.archlinux.org/index.php/Partitioning

Segue algumas recomendações. Não há nenhuma regra rígida sobre o tamanho da partição.

Se usa ssd deixe no total 25% do tamanho do ssd livre. Mais informações https://wiki.archlinux.org/index.php/Solid_State_Drives#TRIM

O tamanho das partições depende da preferência pessoal, mas as seguintes informações podem ser úteis:

/boot/efi - 50 MB UEFI.
Ele requer apenas cerca de 100 MB, mas se tem várias imagens de kernels no /boot pode ser util aumentar o uso, 200 MB ou 500 MB, e /boot/efi no máximo 50 MB se for UEFI.
/ - 15-20 GB
Tradicionalmente contém o diretório /usr, que pode crescer significativamente dependendo de quanto software está instalado. 15-20 GB deve ser suficiente para a maioria dos usuários com discos rígidos modernos. Se você planeja armazenar um arquivo swap aqui, talvez seja necessário um tamanho de partição maior.
/var - 8-12 GB
Conterá, entre outros dados, a árvore ABS e o cache pacman. Manter esses pacotes é útil no caso de uma atualização de pacote causar instabilidade, exigindo um downgrade para um pacote arquivado mais antigo. O cache do pacman, em particular, vai crescer à medida que o sistema é expandido e atualizado, mas pode ser limpo com segurança se o espaço se tornar um problema. 8-12 GB em um sistema de desktop deve ser suficiente para /var, dependendo de quanto software será instalado. Não é recomendado usar em um SSD já que trabalha com muitos arquivos pequenose logs do sistema. Neste caso armazene em um HDD separado.
/home - [varia]
É tipicamente onde residem dados de usuários, downloads e multimídia. Em um sistema de desktop, /home geralmente é o maior sistema de arquivos na unidade. O uso também é recomendado em um HDD,
swap - [varia] - caso queira criar, recomendo utilizar o swapfile
Historicamente, a regra geral para o tamanho da partição swap era alocar duas vezes a quantidade de RAM física. Como os computadores ganharam capacidades de memória cada vez maiores, esta regra está desatualizada. Por exemplo, em máquinas desktop médias com até 512MB RAM, a regra 2x é geralmente adequada. Se uma quantidade suficiente de RAM (mais de 1024MB) estiver disponível, talvez seja possível ter uma partição de swap menor.

  • Se já estiver particionado. Você pode utilizar os comandos fdisk ou lsblk.

fdisk -l /dev/sda ou lsblk -o MAJ:MIN,NAME,TYPE,LABEL,UUID,MOUNTPOINT,GROUP,MODEL,STATE,SCHED /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 (https://pt.wikipedia.org/wiki/FAT32).
Atenção: pode-se utilizar cgdisk ou cfdisk se achar mais fácil.
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: +512M
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/sda3 mkfs.ext4 /dev/sda2 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/sda2 && swapon /dev/sda2
  • Para verificar se a partição swap está funcionando, utilize o comando free ou swapon
swapon -s
ou
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
mkdir -p /mnt/boot/efit && mount /dev/sda1 /mnt/boot/efi

6- Selecione o espelho (mirror) para a instalação

  • Antes de instalar, você pode precisa editar o arquivo /etc/pacman.d/mirrorlist de tal forma que o espelho preferido seja o primeiro. Esta cópia da mirrorlist será instalada no seu novo sistema pelo pacstrap.
nano /etc/pacman.d/mirrorlist

7- Instale o sistema base

pacstrap /mnt base base-devel linux linux-firmware nano sudo man-db

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

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

/dev/sda5  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/Fstab#Field_definitions

# <file system>        <dir>         <type>    <options>             <dump> <pass>

tmpfs                  /tmp          tmpfs     nodev,nosuid          0      0

/dev/sda1              /             ext4      defaults,relatime      0      1
/dev/sda2              none          swap      defaults              0      0
/dev/sda3              /home         ext4      defaults,relatime      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 <pacote>

10- Configure o sistema
OBS: Alguns arquivos citados abaixo não existem. Ao editar e salvar os arquivos com o aplicativo nano eles serão automaticamente criados.

Definir o Idioma
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

Definir o telado
nano /etc/vconsole.conf

KEYMAP=br-abnt2

Hora e Localização
/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

[ NETWORKING ]
nano /etc/hostname

myhostname

nano /etc/hosts

127.0.0.1	localhost
::1		localhost
127.0.1.1	myhostname.localdomain	myhostname
  • 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.
Para carregar módulos
/etc/modules-load.d/virtio-net.conf

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

Para lista negra
/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- Configurando o Wi-Fi no ambiente Arch Linux

pacman -S wireless_tools wpa_supplicant netctl dialog

Habilitando a rede Wireless
Habilitando a rede wireless automaticamente no boot do sistema:

Talvez seja necessário executar o wifi-menu novamente

$ cd /etc/netctl
Obs.: dê um ls, para ver o conteúdo da pasta.

Dentro do diretório, vai ter um arquivo de perfil, algo como:

ou
Para listar os perfis:

netctl list

ATENÇÃO: veja se no arquivo criado tem a senha e outras configurações preenchidas.

wlp1s0-MeuWifi

Esse arquivo é gerado quando você conecta-se em uma rede com o wifi-menu, onde ficam as informações do roteador que o wifi-menu vai se conectar.

Para habilitar o wifi-menu, para que conecte-se automaticamente toda vez que o sistema iniciar, dê o comando:

$ netctl enable wlp1s0-MeuWifi

Para desabilitar:

$ netctl disable wlp1s0-MeuWifi

Mais informação: https://wiki.archlinux.org/index.php/Netctl
Atenção: Você pode instalar também programas como NetworkManager e Wicd.
Mais informação: https://wiki.archlinux.org/index.php/Network_configuration

13- Instale e configure o bootloader. Escolha um gerenciador: grub ou systemd-boot ( 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
grub-install /dev/sda 

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

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/grub/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 desktop

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

Instale o video

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 ( não instalado)

visudo

Caso queira usar o editor nano ( instalado)

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  nomedousuário

Crie a senha - passwd usuário

passwd nomedousuário

Instale um desktop ( ex. LXDE)

pacman -S lxde

Configure o .xinitrc
https://wiki.archlinux.org/index.php/xinitrc
O .xinitrc não é mais enviado para pasta skel
Crie o .xinitrc

touch  ~/.xinitrc

nano .xinitrc
E adicione o exec para lxde

exec startlxde

Configure os serviços do systemd ao iniciar

systemctl enable lxdm.service dhcpcd.service

16- Se ainda está no ambiente chroot, desmonte as partições que foram montadas sobre /mnt e reinicie.
Saia do chroot, digite “exit”, ou <CTRL>+<D>
Desmonte os pontos de montagem e reinicie o sistema.

umount -R /mnt

Pronto. Você instalou o arch.
Reinicie o computador

8 Curtidas

Bem galera,
Se estiver muito complicado, falem para que eu possa modificar.
Até.
Bem-vindo ao Arch Linux

E para LEGACY/BIOS? :stuck_out_tongue:


Segue o link

Muito obrigado :slight_smile: Estava procurando esse atualizado

Muito completo o tutorial.

PS: avisa na seção 13- Instale e configure o bootloader ( Gerenciador de Inicialização ), para utilizar o systemd-boot ou grub, quem não sabe pode se atrapalhar e instalar um por cima do outro.

Consertado. Adicionei o texto : Escolha um gerenciador: grub ou systemd-boot

1 Curtida

#####Atualizado 25/10/2019#####
Adicionado man-db na instalação básica

Para acessar manual tem que ter este pacote

#####Atualizado 03/11/2019#####
Modificando o pacote wifi-menu para netctl

O wifi-menu está no pacote netctl agora

Pode ser visto com o comando pacman -Fx

~ $ sudo pacman -Fx wifi-menu
core/netctl 1.20-1 (base)
usr/bin/wifi-menu
usr/share/bash-completion/completions/wifi-menu

Na seção 5, sobre montagem de partições, parece ter um pequeno erro de digitação.

Errado:
mkdir -p /mnt/boo/efit …

Correto:
mkdir -p /mnt/boot/efi …

Mas no geral, é um belo tutorial, parabéns pela iniciativa.

1 Curtida

Consertado.

#####Atualizado 15/11/2019#####
consertado mkdir -p /mnt/boo/efi para  mkdir -p /mnt/boot/efi …