A resolução de nomes não funciona no ArchLinux ARM com chroot

A resolução de nomes não funciona no ArchLinux ARM com chroot

O que eu fiz

Instale qemu, qemu-arch-extra, qemu-user-static (AUR) no ArchLinux X86_64. systemd cuida do binfmt, verificado em /proc/sys/fs/binfmt_misc/. Baixe o tarball ArchLinux ARM de seu site. O link direto é este http://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz. Extraia-o em uma pasta com sudo bsdtar -xpfcomando. Copie o /usr/bin/qemu-aarch64-staticarquivo para essa pasta. Faça chroot com arch-chroot.

Na linha de comando:

sudo pacman -S qemu qemu-arch-extra
sudo yay -S qemu-user-static
sudo bsdtar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C folder
ls /proc/sys/fs/binfmt_misc/
sudo cp /usr/bin/qemu-aarch64-static folder/usr/bin
sudo arch-chroot folder

Resultado

No ambiente chroot, posso executar ping em qualquer endereço IP, mas não consigo executar ping em nenhum host remoto (por exemplo example.com), ou seja, a resolução de nomes não funciona. /etc/resolv.confarquivo é preenchido. ipmostra configurações corretas de NICs. Então, como posso ativar a resolução de nomes no ArchLinux ARM com chroot? Eu tentei o mesmo procedimento no Ubuntu X86_64 com chroot no Ubuntu AARCH64. Funciona.

Responder1

  • Em primeiro lugar, você não precisa copiar qemu-aarch64-staticparafolder

  • Em segundo lugar, parece que o seu /proc/sys/fs/binfmt_misc/está vazio. Ele precisa ser preenchido com o binário necessário.

    Para consertar isso, você pode usar o binfmt-qemu-staticpacote do AUR que cuidará disso para você.

    E, finalmente, você precisareinícioou reiniciesystemd-binfmt

Com esta configuração, funciona muito bem para mim e não preciso fazer nada para obter a resolução de nomes no chroot.

Em vez dearquichroot, pode-se usar também:

systemd-nspawn --bind-ro=/etc/resolv.conf -D folder -M myFancyMachineName

O truque aqui não é usar --resolv-confswitch (nenhum deles funcionou para mim), mas usar uma opção de ligação específica.

informação relacionada