Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiki:run-x86-arm

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
wiki:run-x86-arm [2021/11/14 23:05] pulsarwiki:run-x86-arm [2023/03/25 11:11] (aktuell) – [box64] pulsar
Zeile 1: Zeile 1:
  
-===== run x86_64 auf ARM =====+====== run x86_64 auf ARM ======
  
-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.+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. 
 + 
 + 
 + 
 +===== box64 ===== 
 + 
 +Mit ''box64'' x86_64 Anwendungen auf ARM ausführen. Hier am Bespiel der x86_64 Bit Anwendung guarda: 
 + 
 +  box64 guarda 
 +   
 +Man kann vorher noch Umgebungsvariablen setzen um das Verhalten von ''box64'' zu beeinflussen. 
 + 
 +  export BOX64_NOBANNER=0 
 +  export BOX64_NOPULSE=1 
 + 
 + 
 + 
 +===== schroot ===== 
 +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. 
 + 
 + 
 +Die neuen Pakete ''schroot'', ''qemu'' und ''debootstrap'' installieren + weitere:
  
-  sudo apt install schroot+  sudo apt install schroot qemu qemu-user qemu-user-static binfmt-support debootstrap binutils
  
 Eine Datei für eine neue ''chroot'' Umgebung anlegen: Eine Datei für eine neue ''chroot'' Umgebung anlegen:
Zeile 24: Zeile 45:
 </code> </code>
  
-Den Ordner der in der Konfigurations-Datei oben angegeben wurde, erstellen:+Zunächst einmal den Ordner anlegen wo die schroot-Umgebung innewohnt:
  
-  mkdir /home/pi/chroot-bullseye-amd64+  mkdir ~/chroot-bullseye-amd64
  
 +Den schroot Dienst neu-starten:
  
-Die neuen Pakete qemu und debootstrap installieren + weitere:+  systemctl restart schroot
  
-  sudo apt install qemu qemu-user qemu-user-static binfmt-support debootstrap binutils +Dann probieren einzuloggen, musste sein bei meinen Tests, da wohl dann erst weitere Ordner unter ~/chroot-bullseye-amd64 angelegt werden: 
-   + 
-   +  schroot -c kryptowallets 
-Den folgenden anpassen und Kommando ausführen:+ 
 + 
 +Mit ''debootstrap'' die **x86_64** Umgebung anlegen:
  
   sudo debootstrap --foreign --arch amd64 bullseye ./chroot-bullseye-amd64/ http://ftp.us.debian.org/debian   sudo debootstrap --foreign --arch amd64 bullseye ./chroot-bullseye-amd64/ http://ftp.us.debian.org/debian
  
 +
 +Separating the two stages is only needed if you are bootstrapping a distribution for a foreign architecture (CrossDebootstrap). See the description of the ''--foreign'' option on the man page. For example, using a x86 machine to create a Debian/Ubuntu installation for an embedded ARM or PowerPC system.
 +
 +The first stage downloads the needed .deb files and unpacks them into the directory you specify. The second stage runs all of the package configuration scripts, which must be done using the target architecture (or by using qemu-user-static to emulate the target architecture).
 +
 +If you're not building an install for a foreign architecture, the stages are combined and you can ignore the ''--second-stage'' option.
 +
 +
 +Den Kommando zunächst **nicht** ausführen:
 +
 +  sudo chroot ./chroot-bullseye-amd64/ /debootstrap/debootstrap --second-stage
  
 Dann evtl. noch den Dienst ''binfmt-support.service'' neustarten: Dann evtl. noch den Dienst ''binfmt-support.service'' neustarten:
Zeile 53: Zeile 88:
  
  
 +==== Bei Fehlern ====
  
-=== alt === +Hinweis: Es kann vorkommen, dass die ''chroot'' hängen bleibt. Um die gemounteten Ressourcen wieder 
-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 3denn hier ist sicher ein 64 Bit CPU verbautAusserdem wird ein 64 Bit OS benötigtSuse hatte schon recht früh 64Bit für ARM angeboten nun gibt es das auch vom Raspberry Pi OS.+frei zu bekommenkönnten folgende Befehle hilfreich sein...
  
-  * https://stackoverflow.com/questions/51895452/qemu-debian-x86-on-raspberrypi +Zeigt alle Sessions an die noch laufen.
-  * https://www.novaspirit.com/2019/04/15/run-x86-arm/ +
-  * https://wiki.debianforum.de/Debootstrap+
  
-<code> +  sudo schroot -l --all-sessions
-sudo mount -t sysfs sys Dokumente/amd64/sys/+
  
-sudo mount -t sysfs sys Dokumente/stretch-amd64/sys/ +Beendet normalerweise alle Sessions
-sudo mount -t proc proc Dokumente/stretch-amd64/proc/ +
-sudo mount --bind /dev Dokumente/stretch-amd64/dev/ +
-sudo mount --bind /dev/pts Dokumente/stretch-amd64/dev/pts/ +
-sudo mount --bind /dev/shm Dokumente/stretch-amd64/dev/shm/+
  
 +  sudo schroot -e --all-sessions
  
-sudo cp /usr/bin/qemu-x86_64-static Dokumente/stretch-amd64/usr/bin/ 
  
  
-sudo chroot Dokumente/stretch-amd64/ /debootstrap/debootstrap --second-stage +==== Alternativ ==== 
-I: Installing core packages... + 
-I: Unpacking required packages... +<code> 
-I: Unpacking libacl1:amd64... +sudo raspi-config # enable OpenGL driver 
-I: Unpacking libattr1:amd64... +sudo apt install -y debootstrap schroot 
-I: Unpacking libaudit-common... +cat << EOF | sudo tee /etc/schroot/chroot.d/pi64 
-I: Unpacking libaudit1:amd64... +[pi64] 
-I: Unpacking base-files... +description=VC4 arm64 testing 
-I: Unpacking base-passwd... +type=directory 
-I: Unpacking bash... +directory=/srv/chroot/pi64 
-...+users=pi 
 +root-groups=root 
 +profile=desktop 
 +personality=linux 
 +preserve-environment=true 
 +EOF 
 +sudo debootstrap --arch arm64 stable /srv/chroot/pi64 
 +sudo schroot -c pi64 -apt install -y mesa-utils minetest sudo 
 + 
 +schroot -c pi64
 </code> </code>
 +
 +  
 +First you need to run the command below:
 +
 +  sudo apt install -y raspbian-nspawn-64
 +
 +You'll be prompted to enable 64-bit. Select Yes, hit Enter and reboot the system. Then you should be good to go and run:
 +
  
wiki/run-x86-arm.1636927534.txt.gz · Zuletzt geändert: 2021/11/14 23:05 von pulsar