Namensauflösung funktioniert nicht im chroot-ArchLinux ARM

Namensauflösung funktioniert nicht im chroot-ArchLinux ARM

Was ich getan habe

Installieren Sie qemu, qemu-arch-extra, qemu-user-static (AUR) in ArchLinux X86_64. systemd kümmert sich um das binfmt, verifiziert von /proc/sys/fs/binfmt_misc/. Laden Sie das ArchLinux ARM-Tarball von der Website herunter. Der direkte Link ist dieser http://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz. Extrahieren Sie es mit sudo bsdtar -xpfdem Befehl in einen Ordner. Kopieren Sie die /usr/bin/qemu-aarch64-staticDatei in diesen Ordner. Chroot mit arch-chroot.

In der Befehlszeile:

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

Ergebnis

In der Chroot-Umgebung kann ich jede IP-Adresse anpingen, aber keinen Remote-Host (z. B. example.com), d. h. die Namensauflösung funktioniert nicht. /etc/resolv.confDie Datei ist gefüllt. ipZeigt die korrekten Konfigurationen der Netzwerkkarten an. Wie kann ich also die Namensauflösung in Chroot-ArchLinux ARM aktivieren? Ich habe dasselbe Verfahren in Ubuntu X86_64 mit Chroot in Ubuntu AARCH64 ausprobiert. Es funktioniert.

Antwort1

  • Erstens müssen Sie nicht kopieren qemu-aarch64-staticinfolder

  • Zweitens scheint Ihr Feld /proc/sys/fs/binfmt_misc/leer zu sein. Es muss mit der benötigten Binärdatei gefüllt werden.

    Um dies zu beheben, können Sie das Paket von AUR verwenden binfmt-qemu-static, das dies für Sie übernimmt.

    Und schließlich müssen Sie entwederNeustartoder starten Sie neusystemd-binfmt

Mit diesem Setup funktioniert es bei mir einwandfrei und ich muss nichts tun, um eine Namensauflösung im Chroot zu erhalten.

AnstattArch-Chroot, man kann auch verwenden:

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

Der Trick besteht hier darin, keinen Schalter zu verwenden --resolv-conf(bei mir hat keiner von beiden funktioniert), sondern eine bestimmte Bindungsoption zu verwenden.

verwandte Informationen