Dies ist eine alte Version des Dokuments!
run x86_64 auf ARM
Auf einer ARM CPU basierenden Computer wie z.B. den Raspberry Pi möchte ich x86_64Bit Anwendungen ausführen. Dafür benötigt man zunächst einen Raspberry Pi ab der Version 3, denn hier ist sicher ein 64 Bit CPU verbaut. Ausserdem wird ein 64 Bit OS benötigt. Suse hatte schon recht früh 64Bit für ARM angeboten nun gibt es das auch vom Raspberry Pi OS.
Mit schroot
wird einem ein Teil der Arbeit abgenommen, es übernimmt das Mounten der benötigten Verzeichnisse aus dem Hauptsystem. Die gemounteten Pfade können, falls benötigt, unter /etc/schroot/desktop/fstab
bearbeitet werden.
sudo apt install schroot
Eine Datei für eine neue chroot
Umgebung anlegen:
sudo nano /etc/schroot/chroot.d/bullseye-amd64
Mit dem Inhalt:
[bullseye-amd64] description=chroot-bullseye-amd64 aliases=kryptowallets directory=/home/pi/chroot-bullseye-amd64 users=root,pi type=directory profile=desktop personality=linux preserve-environment=false
Den Ordner der in der Konfigurations-Datei oben angegeben wurde, erstellen:
mkdir /home/pi/chroot-bullseye-amd64
Die neuen Pakete qemu und debootstrap installieren + weitere:
sudo apt install qemu qemu-user qemu-user-static binfmt-support debootstrap binutils
Den folgenden anpassen und Kommando ausführen:
sudo debootstrap --foreign --arch amd64 bullseye ./chroot-bullseye-amd64/ http://ftp.us.debian.org/debian
Dann evtl. noch den Dienst binfmt-support.service
neustarten:
systemctl restart binfmt-support.service
Ab nun kann man den chroot
Container betreten, als root:
sudo schroot -c kryptowallets
oder als normaler Nutzer:
schroot -c kryptowallets
Bei Fehlern
Hinweis: Es kann vorkommen, dass die chroot
hängenbleibt. Um die gemounteten Ressourcen wieder
frei zu bekommen, könnten folgende Befehle hilfreich sein
Zeigt alle Sessions an die laufen, noch laufen.
sudo schroot -l --all-sessions
Beendet normalerweise alle Sessions
sudo schroot -e --all-sessions
Alternativ
sudo raspi-config # enable OpenGL driver sudo apt install -y debootstrap schroot cat << EOF | sudo tee /etc/schroot/chroot.d/pi64 [pi64] description=VC4 arm64 testing type=directory directory=/srv/chroot/pi64 users=pi root-groups=root profile=desktop personality=linux preserve-environment=true EOF sudo debootstrap --arch arm64 /srv/chroot/pi64 sudo schroot -c pi64 -- apt install -y mesa-utils minetest sudo schroot -c pi64