Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiki:run-x86-arm

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
wiki/run-x86-arm.1636982123.txt.gz · Zuletzt geändert: 2021/11/15 14:15 von pulsar