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/15 16:17] – [Alternativ] 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 ======
  
 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. 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. 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+ 
 +Die neuen Pakete ''schroot'', ''qemu'' und ''debootstrap'' installieren + weitere: 
 + 
 +  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 26: 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 55: Zeile 88:
  
  
-=== Bei Fehlern ===+==== Bei Fehlern ====
  
-Hinweis: Es kann vorkommen, dass die ''chroot'' hängenbleibt. Um die gemounteten Ressourcen wieder +Hinweis: Es kann vorkommen, dass die ''chroot'' hängen bleibt. Um die gemounteten Ressourcen wieder 
-frei zu bekommen, könnten folgende Befehle hilfreich sein+frei zu bekommen, könnten folgende Befehle hilfreich sein... 
 + 
 +Zeigt alle Sessions an die noch laufen.
  
-Zeigt alle Sessions an die laufen, noch laufen. 
   sudo schroot -l --all-sessions   sudo schroot -l --all-sessions
  
 Beendet normalerweise alle Sessions Beendet normalerweise alle Sessions
 +
   sudo schroot -e --all-sessions   sudo schroot -e --all-sessions
  
Zeile 69: Zeile 104:
  
 ==== Alternativ ==== ==== Alternativ ====
 +
 <code> <code>
 sudo raspi-config # enable OpenGL driver sudo raspi-config # enable OpenGL driver
Zeile 83: Zeile 119:
 preserve-environment=true preserve-environment=true
 EOF EOF
-sudo debootstrap --arch arm64 /srv/chroot/pi64+sudo debootstrap --arch arm64 stable /srv/chroot/pi64
 sudo schroot -c pi64 -- apt install -y mesa-utils minetest sudo sudo schroot -c pi64 -- apt install -y mesa-utils minetest sudo
  
 schroot -c pi64 schroot -c pi64
- 
 </code> </code>
  
Zeile 93: Zeile 128:
 First you need to run the command below: First you need to run the command below:
  
-  sudo apt-get install -y raspbian-nspawn-64+  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: 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:
  
-  sudo debootstrap --arch arm64 stable /srv/chroot/pi64+
wiki/run-x86-arm.1636989463.txt.gz · Zuletzt geändert: 2021/11/15 16:17 von pulsar