Criando o seu Arch Linux – Parte 2
Deixe um comentário / Por Maurício / 02/07/2023
Vamos agora avançar na construção da nossa própria ISO personalizada do Arch Linux. Antes de prosseguir, verifique se você concluiu as etapas descritas no post anterior do guia. Caso você tenha chegado diretamente a este guia, é importante que você tenha concluído a etapa anterior.
Já aprendemos que o Archiso utiliza perfis como base. Na nossa experiência anterior, utilizamos o perfil RELENG, que é o perfil oficial da ISO do Arch Linux. Agora, iremos utilizar esse perfil como ponto de partida para a construção da nossa ISO personalizada.
Criando o seu Arch Linux – Parte 1
Neste guia, o objetivo é construir uma ISO com o ambiente de desktop KDE Plasma minimalista.
Copiando o profile para construir o Plasma KDE
Copiaremos o profile releng para um outro diretório que usaremos como profile chamado: plasma.
cp -r ~/Archiso/profiles/releng ~/Archiso/profiles/plasma
Lembre-se que até aqui temos o mesmo profile releng com um nome diferente. Vamos precisar mexer em alguns arquivos para deixar a iso funcional e bootável com o Plasma.
Editando a lista de pacotes
Utilizaremos o Kate para editar o arquivo, mas você poderá usar qualquer editor de textos, como o gedit por exemplo.
kate ~/Archiso/profiles/plasma/packages.x86_64
Pacotes para instalar o Plasma na ISO
Agora teremos que colocar os pacotes do plasma mínimo apenas com o essencial do plasma.Destacando que estamos usando os mesmos pacotes que o script Arch Install utiliza para gerar o Desktop → KDE Plasma.
#Arch Desktop Plasma
plasma-desktop
sddm
konsole
kwrite
dolphin
ark
Salve e feche o seu editor de arquivo.
Habilitando o SDDM para iniciar automaticamente
Criaremos agora um link simbólico para que o SDDM inicie automaticamente na iso em modo live.
sudo ln -s /usr/lib/systemd/system/sddm.service ~/Archiso/profiles/plasma/airootfs/etc/systemd/system/display-manager.service
Você deve perceber que o diretório / da ISO fica em airootfs/ dentro do perfil. Tudo o que você colocar lá será copiado para dentro da ISO. Nesse caso acima, apenas criamos o link simbólico, tal qual é criado pelo comando “sudo systemctl enable sddm.service”. Mas, como estamos fazendo um perfil, devemos fazer o processo manualmente a título de aprendizado. Existem outras formas de fazer isso, porém esta foi a escolhida a título de instrução deste guia.
Configurando o sudo
Vamos deixar o sudo pronto para o grupo wheel. Perceba que estamos copiando o que temos em nossa máquina.
sudo cp -rf /etc/sudoers.d ~/Archiso/profiles/plasma/airootfs/etc/
Configurando o locale.conf, locale.gen, vconsole.conf e o localtime
Aqui nós copiamos alguns arquivos de nossa máquina e o profile plasma que utilizaremos na iso e criamos um link simbólico para o fuso horário.
sudo cp -f /etc/locale.conf ~/Archiso/profiles/plasma/airootfs/etc/
sudo cp -f /etc/locale.gen ~/Archiso/profiles/plasma/airootfs/etc/
sudo cp -f /etc/vconsole.conf ~/Archiso/profiles/plasma/airootfs/etc/
sudo ln -sf /usr/share/zoneinfo/America/Sao_Paulo ~/Archiso/profiles/plasma/airootfs/etc/localtime
Fazendo um hook para executar o locale-gen
Esse passo é importante que o Plasma fique 100% em Português do Brasil. Criamos um hook para o pacman executar o locale-gen
echo '
[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = glibc
[Action]
Description = Gera locale-gen
When = PostTransaction
Exec = /usr/bin/locale-gen' | sudo tee -a ~/Archiso/profiles/plasma/airootfs/etc/pacman.d/hooks/40-locale-gen.hook
Adicionando o usuário liveuser
Lembre-se até o passo anterior o único usuário que existe na iso é o root, mas como dissemos antes o usuário root não é adequado para acessar ambientes desktops. Com isso vamos seguir alguns poucos passos para deixar o nosso usuário no profile. Vamos editar o arquivo shadow, é nesse arquivo que fica a senha do usuário
Para gerar uma senha você vai precisar usar o openssl passwd -6
openssl passwd -6
Geramos uma senha “live” que será usada no usuário liveuser
$6$KPQ2E4FU9BGba03B$i2YGq.REYx5JSEYE1PLKOzx9FqKfH6Okdo8ppQbX2djDDFkK0q6ziO7nxAaKqKR8JXbqeYqkMCf0nT2cO3fDB/
Agora vamos editar o arquivo e colar nele a senha da seguinte maneira:
kate ~/Archiso/profiles/arch-desktop-plasma/airootfs/etc/shadow
O arquivo deve ficar conforma abaixo:
root::14871::::::
#usuário liveuser com a senha live
liveuser:$6$KPQ2E4FU9BGba03B$i2YGq.REYx5JSEYE1PLKOzx9FqKfH6Okdo8ppQbX2djDDFkK0q6ziO7nxAaKqKR8JXbqeYqkMCf0nT2cO3fDB/:14871::::::
O próximo arquivo que devemos editar é o passwd
kate ~/Archiso/profiles/arch-desktop-plasma/airootfs/etc/passwd
Que deve ficar com o conteúdo com as linhas abaixo.
root:x:0:0:root:/root:/usr/bin/zsh
liveuser:x:1000:1000::/home/liveuser:/usr/bin/zsh
Precisamos definir os grupos do usuário live user em gshadow
kate ~/Archiso/profiles/arch-desktop-plasma/airootfs/etc/gshadow
O conteúdo deve ficar conforme abaixo:
root:::root
sys:!!::liveuser
network:!!::liveuser
power:!!::liveuser
adm:!!::liveuser
wheel:!!::liveuser
uucp:!!::liveuser
optical:!!::liveuser
rfkill:!!::liveuser
video:!!::liveuser
storage:!!::liveuser
audio:!!::liveuser
users:!!::liveuser
nopasswdlogin:!::liveuser
autologin:!::liveuser
liveuser:!::
Também temos que editar o arquivo group
kate ~/Archiso/profiles/arch-desktop-plasma/airootfs/etc/group
O conteúdo deve ficar conforme abaixo:
root:x:0:root
sys:x:3:bin,liveuser
network:x:90:liveuser
power:x:98:liveuser
adm:x:999:liveuser
wheel:x:998:liveuser
uucp:x:987:liveuser
optical:x:990:liveuser
rfkill:x:983:liveuser
video:x:986:liveuser
storage:x:988:liveuser
audio:x:995:liveuser
users:x:985:liveuser
nopasswdlogin:x:966:liveuser
autologin:x:967:liveuser
liveuser:x:1000:
Precisaremos definir as permissões em profiledef.sh
kate ~/Archiso/profiles/arch-desktop-plasma/profiledef.sh
Deixando dessa maneira o final do arquivo:
....
file_permissions=(
["/etc/shadow"]="0:0:400"
["/etc/gshadow"]="0:0:0400"
["/root"]="0:0:750"
["/root/.automated_script.sh"]="0:0:755"
["/usr/local/bin/choose-mirror"]="0:0:755"
["/usr/local/bin/Installation_guide"]="0:0:755"
["/usr/local/bin/livecd-sound"]="0:0:755"
)
Gerando a ISO do Plasma
sudo mkarchiso -v -w ~/Archiso/work -o ~/Archiso/iso ~/Archiso/profiles/arch-desktop-plasma
Testando a ISO em Legacy BIOS
run_archiso -i ~/Archiso/iso/archlinux-*.iso
Testando a ISO em UEFI
run_archiso -u -i ~/Archiso/iso/archlinux-*.iso
Limpando os arquivos de trabalho
sudo rm -Rf ~/Archiso/work/*
Lembre-se de que o desenvolvimento de seu próprio perfil personalizado no Arch Linux é um processo contínuo. À medida que você adquire mais conhecimento e experiência, pode ajustar e refinar suas configurações para atender às suas necessidades em constante evolução. Aproveite a jornada e desfrute da liberdade e flexibilidade que o Arch Linux oferece!