我正在评估使用QEMU创建用于软件构建的s390x Linux虚拟机。我已经成功地使用新的Linux发行版(如RHEL 8和Ubuntu 20 )创建了机器,但我真的想要一台RHEL 7机器。
我在Fedora 36 x86上,我已经尝试使用FedoraQEMU6.2包和从源代码构建的当前QEMU7.x:
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我尝试过从DVD的映像区域提取kernel+initrd图像,以及从DVD上的内核3.10rpm包中提取的图像。我尝试过各种RHEL7.x版本,都有相同的结果--仿真器直接退出,只需调试输出,例如:
Guest crashed on cpu 0: disabled-wait
PSW: 0x000a000000000000 0x000000008badcccc有没有人建议让RHEL 7 s390x工作?
发布于 2022-11-25 12:59:13
答案似乎是,这是不可能的,因为内核特性没有在任何版本的RHEL7,如QEMU第906期注释。
我通过构建运行Fedora 36的s390x仿真程序来解决我的问题,使用交叉工作台-ng工具链来控制gcc/libc/libstdc++等版本,以产生链接/运行在旧的O/Ss上的人工制品。
https://serverfault.com/questions/1115686
复制相似问题