[TUTORIAL] Instalando o Archlinux em uma jaula chroot e dando boot por ele

Instalando o Archlinux em uma jaula chroot e dando boot por ele
Da mesma forma que apresentei no tópico anterior, o mesmo procedimento vai ser realizado no Archlinux

Iniciamos fazendo o download do bootstrap mais recente, para isso acesse o link abaixo e escolha a forma de download torrent ou pelos espelhos disponíveis
https://archlinux.org/download/

Após ter baixado o archlinux-bootstrap-x86_64.tar.zst extraimos com o comando abaixo

sudo tar xvf archlinux-bootstrap-x86_64.tar.zst --numeric-owner

Na mesma pasta onde o arquivo foi extraído rode o comando abaixo para não ter mensagens de erro ao executar o comando pacman

sudo mount --bind $PWD/root.x86_64 $PWD/root.x86_64

Edite o arquivo mirrorlist e descomente uma das linhas com o espelho preferido

sudo nano root.x86_64/etc/pacman.d/mirrorlist

Exemplo:

## Brazil
Server = http://archlinux.c3sl.ufpr.br/$repo/os/$arch #Mirror escolhido
#Server = https://archlinux.c3sl.ufpr.br/$repo/os/$arch

Entre na jaula com o comando abaixo

sudo root.x86_64/bin/arch-chroot root.x86_64

Estando dentro da jaula rode o comando abaixo para configurar as chaves do pacman

pacman-key --init
pacman-key --populate

Crie uma senha para o usuário root com o comando abaixo

passwd

Verifique se os pacotes estão atualizados

pacman -Syu

Nessa parte você pode customizar a instalação da forma que bem entender eu vou estar instalando alguns pacotes e criar um usuário com o sudo
https://wiki.archlinux.org/title/Installation_guide#Time

Vou instalar os pacotes abaixo (Substitua os pacotes linux, dhcpcd e nano pelo kernel, gerenciador de internet e editor preferido)

pacman -S base-devel linux linux-firmware dhcpcd git nano

Configurando o timezone para São Paulo

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

Edite o locale.gen e descomente os locales necessários no meu caso e o en_US.UTF-8 UTF-8 e pt_BR.UTF-8 UTF-8

nano /etc/locale.gen

E gere os locales logo em seguida

locale-gen

Crie os arquivos abaixo para configurar a linguagem e o mapa do teclado no console(substitua conforme necessário)

echo "LANG=pt_BR.UTF-8" > /etc/locale.conf
echo "KEYMAP=br-abnt2" > /etc/vconsole.conf

Configure um hostname

echo "hostname" > /etc/hostname

Crie um usuário

useradd -m -s /bin/bash teste

Defina uma senha para o usuário criado

passwd teste

Edite o arquivo sudoers e desmarque a linha que cita o grupo wheel

EDITOR=nano visudo

Exemplo:

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

Adicione o usuário criado ao grupo wheel

usermod -aG wheel teste

Mude do usuário root para o usuário criado

su -l teste

Clone o repositório e entre na pasta

git clone https://github.com/flydiscohuebr/mkinitcpio-dir.git
cd mkinitcpio-dir

Dentro da pasta rode o comando abaixo

makepkg -si

Edite as configurações do mkinitcpio e adicione o dir na linha HOOKS

sudo nano /etc/mkinitcpio.conf
##   NOTE: If you have /usr on a separate partition, you MUST include the
#    usr and fsck hooks.
#HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block filesystems fsck)

#dir adicionado
HOOKS=(dir base udev autodetect microcode modconf kms keyboard keymap consolefont block filesystems fsck)

Volte para o usuário root apertando CTRL+D ou com o comando abaixo

exit

Gere um novo initramfs (Ao gerar o initramfs você deve ver o hook dir sendo construído)

mkinitcpio -P

Saia da jaula apertando CTRL+D e desmonte a pasta

sudo umount $PWD/root.x86_64

Adicione esse conteúdo no arquivo /etc/grub.d/40_custom
OBS.: dependendo da distro esse caminho pode ser diferente

menuentry "Arch linux (FROM A FOLDER)" {
  set IDK="/root.x86_64"
  search --no-floppy --fs-uuid --set=root af1b4e81-4323-4664-aa09-25bca222130e
  linux $IDK/boot/vmlinuz-linux root=UUID=af1b4e81-4323-4664-aa09-25bca222130e dir=$IDK rw
  initrd $IDK/boot/initramfs-linux.img
}

Substitua o af1b4e81-4323-4664-aa09-25bca222130e pelo UUID do hd onde foi instalado a jaula. Para ver, basta rodar o comando sudo blkid

Atualize a configuração do grub

sudo update-grub

Reinicie o pc e tente dar boot na opção Arch linux (FROM A FOLDER) se tudo der certo você será contemplado com a tela de login.
No caso de algum erro verifique o caminho e o nome da pasta onde esta a jaula no meu caso esta na raiz do hd com o nome root.x86_64.

3 curtidas