Archiso (Português)

Archiso é uma ferramenta altamente customizável para construir imagens ISO do Arch Linux live CD/USB. As imagens oficiais são construídas com Archiso. Ele pode ser usado como base para sistemas de resgate, instaladores de linux ou outros sistemas. Este artigo wiki explica como instalar o Archiso, e como configurá-lo para controlar aspectos da imagem ISO resultante, tais como pacotes e arquivos incluídos. Requisitos técnicos e etapas de construção podem ser encontrados na documentação oficial do projeto. O Archiso é implementado com uma série de scripts bash. O componente central do Archiso é o comando mkarchiso. Suas opções estão documentadas em mkarchiso -h e não são cobertas aqui.

Status de tradução: Esse artigo é uma tradução de Archiso. Data da última tradução: 2021-12-25. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Instalação

Install O pacote archiso ou archiso-gitAUR.

Preparar um perfil personalizado

Archiso vem com dois perfis, releng e baseline.

  • releng é utilizado para criar a ISO oficial de instalação mensal. Ela pode ser usada como ponto de partida para a criação de uma imagem ISO personalizada.
  • baseline é uma configuração minimalista, que inclui apenas os pacotes mínimos necessários para arrancar o ambiente vivo a partir do meio.

Para construir uma versão não modificada dos perfis, pule para #Construir a ISO. Caso contrário, se você desejar adaptar ou personalizar um dos perfis enviados pela Archiso, copie-o de /usr/share/archiso/configs/profile-name/ para um diretório gravável com um nome à sua escolha. Por exemplo:

$ cp -r /usr/share/archiso/configs/profile/ archlive

Proceder às seções seguintes para personalizar e construir o perfil personalizado.

Estrutura do perfil

Um perfil archiso contém uma configuração que define a imagem ISO resultante. A estrutura do perfil é documentada em /usr/share/doc/archiso/README.profile.rst.

Selecionando pacotes

Edite para selecionar quais pacotes devem ser instalados na imagem live do sistema, listando os pacotes linha por linha.

Repositório local personalizado

''archlive''/pacman.conf
...
[''customrepo'']
SigLevel = Optional TrustAll
Server = file://''/path/to/customrepo''
...

Pacotes de multilib

Para instalar pacotes do repositório multilib, simplesmente descomente esse repositório em .

Adicionando arquivos para a imagem

O diretório airootfs é usado como ponto de partida para o diretório root () do sistema live da imagem. Todo o seu conteúdo será copiado para o diretório de trabalho antes que os pacotes sejam instalados.

Coloque quaisquer arquivos e/ou diretórios personalizados no local desejado sob airootfs/. Por exemplo, se você tiver um conjunto de scripts iptables em seu sistema atual que você deseja utilizar em sua imagem live, copie-os tal como:

$ cp -r /etc/iptables archlive/airootfs/etc

Da mesma forma, é necessário algum cuidado com arquivos de configuração especiais que residem em algum lugar abaixo da hierarquia. Partes em falta da estrutura do diretório podem ser simplesmente criadas com .

Por padrão, permissions será para arquivos e para diretórios. Todos eles serão de propriedade do usuário root. Para definir diferentes permissões ou propriedade para arquivos e/ou pastas específicos, use a matriz associativa file_permissions em . Veja README.profile.rst para detalhes.

Kernel

Embora ambos os perfis incluídos no Archiso tenham apenas , as ISOs podem ser feitas para incluir outros ou mesmo múltiplos kernels.

Primeiro, edite para incluir os nomes dos pacotes do kernel que você deseja. Quando mkarchiso for executado, incluirá todos os arquivos e work_dir/boot/initramfs-*.img no arquivo ISO (e adicionalmente na imagem FAT usada para inicialização da UEFI).

mkinitcpio predefinidos por padrão construirão imagens de initramas de recurso. Para uma ISO, a imagem principal do initramfs não incluiria normalmente o gancho tornando assim desnecessária uma imagem adicional de fallback. Para evitar a criação de uma imagem de fallback initramfs, para que ela não tome espaço ou retarde o processo de construção, coloque um preset personalizado em por exemplo, para :

Finalmente criar configuração do boot loader para permitir a inicialização do(s) kernel(s).

Boot loader

Archiso suporta syslinux para a inicialização da BIOS e systemd-boot para a inicialização da UEFI. Consulte os artigos dos boot loaders para obter informações sobre sua sintaxe de configuração.

mkarchiso espera que a configuração systemd-boot esteja no diretório , e a configuração syslinux nos diretórios e .

UEFI Secure Boot

Se você quiser tornar seu Archiso inicializável em um ambiente UEFI Secure Boot habilitado, você deve usar um boot loader assinado. Você pode seguir as instruções em Secure Boot#Booting an installation medium.

systemd units

Para enable systemd services/sockets/timers para o ambiente live você precisa criar manualmente os links simbólicos, assim como o systemctl enable o faz.

Por exemplo, para ativar gpm.service, que contém , execute:

$ mkdir -p archlive/airootfs/etc/systemd/system/multi-user.target.wants
$ ln -s /usr/lib/systemd/system/gpm.service archlive/airootfs/etc/systemd/system/multi-user.target.wants/

Os links simbólicos necessários podem ser enconrados lendo a unidade do systemd, ou se você tem o serviço instalado, enabling e observando a saída do systemctl.

Gerir o Login

O início do X na inicialização é feito habilitando o serviço systemd de seu login manager.Se você não souber qual .service habilita, você pode facilmente descobrir caso esteja usando o mesmo programa no sistema em que você constrói sua ISO. Basta usar:

$ ls -l /etc/systemd/system/display-manager.service

Agora crie o mesmo link simbólico em . Para LXDM:

$ ln -s /usr/lib/systemd/system/lxdm.service archlive/airootfs/etc/systemd/system/display-manager.service

Isto permitirá o LXDM no início do sistema em seu sistema live.

Mudança de login automático

A configuração para o login automático da getty está localizada em .

Você pode modificar este arquivo para mudar o usuário do login automático:

[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin username --noclear %I 38400 linux

Ou removê-lo completamente para desativar o login automático.

Usuários e senhas

Para criar um usuário que estará disponível no ambiente live, você deve editar manualmente , , e .

Por exemplo, para adicionar um usuário archie. Adicioná-los ao seguindo a sintaxe :

''archlive''/airootfs/etc/passwd
root:x:0:0:root:/root:/usr/bin/zsh
archie:x:1000:1000::/home/archie:/usr/bin/zsh

Gerar um hash de senha com e adicioná-lo ao seguindo a sintaxe de . Por exemplo:

Adicionar o grupo do usuário e os grupos dos quais farão parte ao de acordo com . Por exemplo:

Criar o apropriado de acordo com :

Certifique-se de que /etc/shadow e /etc/gshadow tenham as permissões corretas:

Após a instalação do pacote, mkarchiso criará todos os diretórios home especificados para os usuários listados em e copiará para eles. Os arquivos copiados terão a propriedade apropriada do usuário e do grupo.

Construir a ISO

Construa uma ISO que você pode então gravar em CD ou USB, executando:

# mkarchiso -v -w /path/to/work_dir -o /path/to/out_dir /path/to/profile/
  • especifica o diretório de trabalho. Se a opção não for especificada, por padrão será no diretório atual.
  • especifica o diretório onde a imagem ISO construída será colocada. Se a opção não for especificada, por padrão será no diretório atual.
  • Deve-se notar que o arquivo de perfil não pode ser especificado ao executar mkarchiso, apenas o caminho para o arquivo

Substitua pelo caminho para seu perfil personalizado, ou por se você estiver construindo um perfil não modificado.

Tip: Se a memória permitir, é preferível colocar o diretório de trabalho em tmpfs. Ex.:
# mkarchiso -v -w /tmp/archiso-tmp /path/to/profile/

Quando executado, o script irá baixar e instalar os pacotes que você especificou para , criar o kernel e as imagens init, aplicar suas customizações e finalmente construir a ISO no diretório de saída.

Remoção do diretório de trabalho

Os arquivos temporários são copiados para o diretório de trabalho. Após a construção bem sucedida da ISO, o diretório de trabalho e seu conteúdo podem ser excluídos. Por exemplo:

# rm -rf /path/to/work_dir

usando a ISO

Ver Installation guide (Português)#Preparar uma mídia de instalação para várias opções.

Teste a ISO no QEMU

Install as dependências opcionais e edk2-ovmf.

Use o script de conveniência para executar uma imagem construída usando QEMU.

$ run_archiso -i /path/to/archlinux-yyyy.mm.dd-x86_64.iso

A máquina virtual também pode ser executada utilizando a emulação UEFI:

$ run_archiso -u -i /path/to/archlinux-yyyy.mm.dd-x86_64.iso

Dicas e truques

Criptografia

Para gerar uma imagem encriptada, você pode usar o pacote .

Para construir o perfil incluído releng, voce tem que configurar um repositório personalizado contendo o pacote .

Se você tiver problemas para encontrar o dispositivo raiz em tempo de execução, ajuste o encrypt gancho do pacote acima.

Preparar uma ISO para uma instalação via SSH

Para Install Arch Linux via SSH (Português) sem qualquer interação com o sistema, uma chave pública SSH deve ser colocada em authorized_keys.

A adição da chave SSH pode ser feita manualmente (explicada aqui), ou por cloud-init.

Para adicionar a chave manualmente, primeiro copiar o perfil releng do Archiso a um diretório gravável. O seguinte exemplo usa .

$ cp -r /usr/share/archiso/configs/profile/ archlive

Criar um diretório no diretório home do usuário que será usado para fazer o login. O exemplo a seguir será a utilização do usuário root.

$ mkdir archlive/airootfs/root/.ssh

Adicionar a(s) chave(s) pública(s) SSH, que será(ão) usada(s) para fazer o login, a authorized_keys:

$ cat ~/.ssh/key1.pub >> archlive/airootfs/root/.ssh/authorized_keys
$ cat ~/.ssh/key2.pub >> archlive/airootfs/root/.ssh/authorized_keys

Definir as permissões corretas e a propriedade para o diretório e o arquivo authorized_keys:

Finalmente construa a ISO. Ao inicializar a ISO, OpenSSH começará e será possível fazer o log in usando a(s) chave(s) privada(s) SSH correspondente(s).


Conectar-se automaticamente a uma rede Wi-Fi usando iwd

Crie dentro do diretório do perfil e defina as permissões corretas::

$ mkdir -p archlive/airootfs/var/lib/iwd

Siga as instruções em iwd (Português)#Configuração de rede e para criar um arquivo de configuração de rede para sua rede Wi-Fi.

Salve o arquivo de configuração dentro de .

Ajustando o tamanho da partição da root na mosca

Se você receber a seguinte mensagem de erro ao baixar arquivos ou instalar pacotes no ambiente ISO inicializado, você pode precisar desligar e ajustar o tamanho da partição root enquanto inicializa o Archiso novamente.

error: partition / too full: 63256 blocks needed, 61450 blocks free
error: not enough free disk space
error: failed to commit transaction (not enough free disk space) 
Errors occurred: no packages were upgraded.

Para ajustar o tamanho da partição root no sistema Arch Linux live, pressione a tecla para editar os parâmetros do kernel. Anexe spaço_de_vaca=2G no final para obter o tamanho 2G para a partição root. Pressione Enter para continuar a inicialização no sistema live. Você pode verificar o tamanho dos sistemas de arquivos executando:

$ df -h

Você também pode ajustar o tamanho da partição root na hora, executando este comando:

# mount -o remount,size=2G /run/archiso/cowspace

Veja mais parâmetros de inicialização aqui

Solução de problemas

O window manager congela

Se você quiser usar um window manager no Live CD, então você deve adicionar os necessários e os corretos video drivers, ou a WM pode congelar no carregamento.

Veja também

gollark: <@319753218592866315> https://github.com/LyricLy/Esobot/pull/7
gollark: ... WHY?
gollark: ...
gollark: <@319753218592866315> Also, what's the way to do HTTP requests in the interpret function?
gollark: <@319753218592866315> Also, how exactly does one test it?
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.