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

Atenção:
Alterações

#####Atualizado 15/11/2019#####
corrigido a formatação no swapon -s ou free -h
#####Atualizado 03/11/2019#####
Modificando o pacote wifi-menu para netctl
#####Atualizado 25/10/2019#####
Adicionado man-db na instalação básica

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

Arch com LVM:
Autor leoarcher - http://blog.leandroinacio.eti.br/archives/418

Pesquisados para o tuto:
https://wiki.archlinux.org/index.php/Kernel_modules#Blacklisting
https://wiki.archlinux.org/index.php/Systemd
https://wiki.archlinux.org/index.php/Rc.conf
https://wiki.archlinux.org/index.php/GRUB2
https://wiki.archlinux.org/index.php/File_Systems
https://wiki.archlinux.org/index.php/Pacman-key
https://wiki.archlinux.org/index.php/Official_Repositories
https://wiki.archlinux.org/index.php/Fstab#Field_definitions
https://wiki.archlinux.org/index.php/Configuring_Network

------[ Baixe o arquivo e verifique a integridade ]-----

  • Baixe o arquivo em http://www.archlinux.org/download/

  • Na mesma página baixe os checksums e salve no mesmo diretório que está o arquivo iso

  • Execute o comando no diretório ( execute o pacman-key como root )

$ sudo pacman-key -v archlinux-2013.01.04-dual.iso.sig && md5sum --check md5sums.txt && sha1sum --check sha1sums.txt

A saída

gpg: Signature made Sex 07 Set 2012 07:59:54 UTC using RSA key ID 9741E8AC gpg: Good signature from "Pierre Schmitz <pierre@archlinux.de>" archlinux-2012.09.07-dual.iso: SUCESSO archlinux-2012.09.07-dual.iso: SUCESSO

Queime um CD ou DVD, ou instale via usb

  • Para montar em um pen driver
dd if=archlinux-2013.01.04-dual.iso of=/dev/sdc bs=4M

Ex. A saída

96+0 records in 96+0 records out 402653184 bytes (403 MB) copied, 105,791 s, 3,8 MB/s

Integridade do arquivo - Repare a saída do comando acima

  • O número de registros ao gravar foi 96
  • O checksum deverá ser o mesmo que o checksum original

https://www.archlinux.org/iso/2013.01.04/sha1sums.txt
dd if=/dev/sdx count=<número de registos> bs=4M status=noxfer | sha1sum

dd if=/dev/sdc count=96 bs=4M status=noxfer | sha1sum

A saída

96+0 records in 96+0 records out bcf9b6b1ad197956332bcc92098cc6f7023aca09 -

OBS: Normalmente programas de gravação de CD/DVD, fazem a verificação de integridade.
Caso queira fazer manualmente. Insira o CD/DVD no drive e execute o comando

md5sum /dev/cdrom

A chave terá que ser a mesma do arquivo original md5sums.txt

Pode também adicionar ou modificar o destino da chave no arquivo md5sums.txt, e depois execute md5sum --check md5sums.txt

ee5f707458f09f6773956fd5d3c1d12c archlinux-2012.09.07-dual.iso ee5f707458f09f6773956fd5d3c1d12c /dev/cdrom

--------[ Instalação ]------

1- Configure o layout do teclado ( padrão US )

loadkeys br-abnt2

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

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:

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.

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

  • 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)

  • Para particionar use o cfdisk
cfdisk /dev/sda

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
    Ex.

mkfs.ext4 /dev/sda1 mkfs.ext4 /dev/sda3 mkfs.ext4 -L boot /dev/sda6

  • 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/sda1 /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 /mnt/home && mount /dev/sda3 /mnt/home mkdir /mnt/boot && mount /dev/sda6 /mnt/boot

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.
    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.
nano /etc/pacman.d/mirrorlist

Nota: ftp.archlinux.org 50KB

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 -p /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>

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
OBS: Alguns arquivos citados abaixo não existem. Ao editar e salvar os arquivos com o aplicativo nano eles serão automaticamente criados.

                            TABELA DE CONFIGURAÇÃO
Configuração                                                       Arquivos             
[  LOCALIZATION]  Locale                                          /etc/locale.conf      /etc/locale.gen
[  LOCALIZATION]  Console fonts and Keymap                        /etc/vconsole.conf
[  LOCALIZATION] Timezone                                         /etc/timezone         /etc/localtime
[  LOCALIZATION] Hardware clock                                   /etc/adjtime
[  NETWORKING ]  Hostname                                         /etc/hostname        /etc/hosts                                                             
[ HARDWARE ] Lista branca (modules)                               /etc/modules-load.d/           
[ HARDWARE ] Lista negra  (modules)                               /etc/modprobe.d/   

Utilize o aplicativo nano para 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.

[ LOCALIZATION ]
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

nano /etc/vconsole.conf

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

/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

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”

[ NETWORKING ]
nano /etc/hostname

myhostname

nano /etc/hosts

  • Adicione o hostname no arquivo 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.
/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

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 syslinux. ( Gerenciador de Inicialização )

Grub

  • Instale o grub2
pacman -S  grub
  • Habilite o módulo dm-mod
modprobe dm-mod
  • Instale no disco rígido contendo a sua partição de boot.
grub-install --target=i386-pc --recheck --debug /dev/sda

ou

grub-install /dev/sda
  • Para evitar uma mensagem de erro (inofensiva) no momento da inicialização:

mkdir -p /boot/grub/locale cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo

  • Crie o arquivo grub.cfg.
grub-mkconfig -o /boot/grub/grub.cfg

Syslinux

  • Instale o syslinux
pacman -S syslinux
  • Se instalou o syslinux, edite o /boot/syslinux/syslinux.cfg para apontar para a partição root / . Em seguida, digite o seguinte comando para instalar (-i), definir o boot flag (-a) e instalar o MBR (-m).

  • Modifique para as partições instalados
    nano /boot/syslinux/syslinux.cfg

  • Execute o comando

/usr/sbin/syslinux-install_update -iam

14- Definir a senha root

passwd

15- Opcional: Instalação da desktop

Instale o xorg (Opcional xorg-server-utils)

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

pacman -S xf86-video-vesa

Instale outros pacotes como sudo e o alsa-utils para o som

pacman -S sudo alsa-utils

Configure o sudo

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

Configure o som e salve a configuração

alsamixer alsactl store

Instale um desktop ( ex. LXDE)

pacman -S lxde

Configure o .xinitrc
nano .xinitrc

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 partições e reinicie o sistema.

umount /mnt/home && umount /mnt/boot

ou

umount /mnt/{boot,home,} 

e

reboot

Sugestões e correções serão bem-vindas

Informações extras:

  • Há duas fontes para baixar pacotes no arch: pacman e AUR
  • Se for utilizar AUR recomendo ler sobre o arquivo Makepkg
4 Curtidas

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

erro: alvo nao encontrado: wifi-menu

OK.

vendo pelo comando pacman

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

pacman -S wireless_tools wpa_supplicant netctl dialog

Se tiver mais algum erro informe, pois aqui nào tenho como testar

Caso venha utilizar o networkmanage, e já instale a interface na instalação , então você não precisará deste procedimento.

#####Atualizado 15/11/2019#####
corrigido a formatação no swapon -s ou free -h
2 Curtidas