Versuch, RHEL 7 unter QEMU s390x-Emulation zu installieren

Versuch, RHEL 7 unter QEMU s390x-Emulation zu installieren

Ich prüfe die Verwendung von QEMU zum Erstellen virtueller s390x-Linux-Maschinen für den Einsatz in Software-Builds. Ich hatte einige Erfolge beim Erstellen von Maschinen mit neueren Linux-Distributionen wie RHEL 8 und Ubuntu 20, aber ich möchte wirklich eine RHEL 7-Maschine.

Ich verwende Fedora 36 x86 und habe Folgendes sowohl mit den Fedora QEMU 6.2-Paketen als auch mit dem aktuellen, aus dem Quellcode erstellten QEMU 7.x versucht:

qemu-img create -f qcow2 rootfs.qcow2 20G

qemu-system-s390x \
  -M s390-ccw-virtio -m 4G -smp 2 -cpu max \
  -drive file=rhel-server-7.9-s390x-dvd.iso,media=cdrom,if=none,id=drive-virtio-disk1 \
  -device virtio-scsi -device scsi-cd,drive=drive-virtio-disk1,bootindex=1 \
  -drive file=rootfs.qcow2,if=none,id=drive-virtio-disk0 \
  -device virtio-blk-ccw,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=2,scsi=off \
  -net nic,model=virtio,netdev=net1 -netdev user,id=net1 \
  -nographic -display none -serial mon:stdio \
  -d guest_errors \
  -kernel kernel.img -initrd initrd.img

Ich habe Kernel+Initrd-Images aus dem Image-Bereich der DVD ausprobiert und auch die, die aus dem Kernel 3.10 RPM-Paket auf der DVD extrahiert wurden. Ich habe verschiedene RHEL 7.x-Versionen ausprobiert, alle mit demselben Ergebnis - der Emulator wird sofort beendet und zeigt nur eine Debug-Ausgabe an, zum Beispiel:

Guest crashed on cpu 0: disabled-wait
PSW: 0x000a000000000000 0x000000008badcccc

Hat jemand einen Rat, wie man RHEL 7 s390x zum Laufen bekommt?

Antwort1

Die Antwort scheint zu sein, dass dies aufgrund von Kernelfunktionen, die in keiner Version von RHEL7 enthalten sind, nicht möglich ist, wie in den Kommentaren fürQEMU-Problem 906

Ich habe mein Problem gelöst, indem ich eine s390x-Emulation mit Fedora 36 erstellt habe und dabei eine Crosstool-ng-Toolchain verwendet habe, um die Versionen von gcc/libc/libstdc++ usw. zu steuern und so Artefakte zu erstellen, die auf älteren Betriebssystemen verknüpft/ausgeführt werden können.

verwandte Informationen