#1140933 reportbug: virt-manager with amd64 host and s390x guest fails to install

#1140933#5
Date:
2026-06-28 14:01:40 UTC
From:
To:
Dear Maintainer,

   * What led up to the situation?
I wanted to use virt-manager to install a debian s390x guest on an amd64 host
   * What exactly did you do (or not do) that was effective (or
     ineffective)?
I used virt-manager in the ordinary way, and selected the s390x architecture
   * What was the outcome of this action?
virt-manager got as far as attempting to boot the guest but then indicated that
the guest was not running.
   * What outcome did you expect instead?
A dialogue with the debian installer resulting in a viable s390x installation.

#1140933#10
Date:
2026-06-28 14:10:19 UTC
From:
To:
I have previously used a Ubuntu 26.04 amd64 host system to install a RHEL10
s390x guest with no problem.

Also when trying to do the install using a command such as
qemu-system-s390x -M s390-ccw-virtio \
-monitor stdio \
-name "guest" \
-m 4096 \
-mem-prealloc \
-kernel /home/tjcw/Downloads/dvd1/linux_vm \
-initrd /home/tjcw/Downloads/dvd1/root.bin \
-blockdev
file,node-name=c1,filename=/home/tjcw/Downloads/debian-13.4.0-s390x-DVD-1.iso
\
                  -device virtio-scsi \
                  -device scsi-cd,drive=c1 \
-netdev user,id=net0,hostfwd=tcp::2222-:22 \
    -device virtio-net-ccw,netdev=net0,id=net0_dev \
-drive
file=/home/tjcw/VMs/s390x-vm.qcow2,format=qcow2,if=none,id=drive-sata0-0-0 \
-device virtio-blk-pci,drive=drive-sata0-0-0,id=sata0-0-0
(on a debian trixie system) I could boot linux and get as far as running
the installer if I uses explicit kernel and initrd as above, but the
corresponding command attempting to use the kernel and ramdisk in the
'.iso' would not boot.
I wasn't able to do the install with 'qemu-system-s390x' because I could
not get networking to work correctly.

#1140933#15
Date:
2026-06-28 19:19:23 UTC
From:
To:
I am now trying to install from a RHEL10 s390x DVD. This seems to be going
OK, it certainly boots and runs code from the initrd. This suggests that
the problem is with the Debian trixie s390x ISO, and not with virt-manager.

There is a secondary problem with the 'virt-*' support, though. The first
attempt to start the DVD failed saying that network 'default' is not
active, and when I run 'virsh net-start default' I get a message that the
network can't be started because the ethernet is already active. To get
round this I click in the top right corner and turn 'wired' off
(network-manager, I think) and then 'virsh net-start default' succeeds and
I can turn 'wired' on again.

#1140933#20
Date:
2026-06-29 09:11:14 UTC
From:
To:
I mounted the iso on /mnt and extracted the kernel and ramdisk from
/mnt/boot .
Then I went to virt-manager and selected 'additional configuration before
boot', selected direct kernel boot, and entered the file names for the
kernel and ramdisk.

That done, the VM booted and progressed with the install.

So it looks that the problem is that the ISOs are set up in a way which
does not allow the virtual boot firmware to find the kernel and ramdisk.

Is this fixable ?

#1140933#25
Date:
2026-06-29 11:33:56 UTC
From:
To:
The install completed normally, but after that I needed to use 'virsh edit'
to delete the lines in the XML for kernel and initrd. Before I deleted
those, the system would boot into the installer again.

That fixed, I now have a viable emulated s390x debian system in my amd64
host.

#1140933#30
Date:
2026-06-30 06:36:14 UTC
From:
To:
Hi Chris,

I have also faced the same issue with the trixie ISO.
https://ftp.debian.org/debian/dists/stable/main/installer-s390x/current/images/generic/
I downloaded the initrd and kernel files from this link and used (as I remember)
the following flags along with qemu:

qemu-system-s390x \
  -M s390-ccw-virtio -m 4G \
  -enable-kvm \
  -cpu host \
  -smp 4 \
  -nographic \
  -kernel debian_files/kernel.debian \
  -initrd debian_files/initrd.debian \
  -append "modules=virtio_net" \
  -drive file=debian_s390x.qcow2,if=none,id=drive0,format=qcow2 \
  -device virtio-blk-ccw,drive=drive0,bootindex=1 \
  -netdev user,id=net0 \
  -device virtio-net-ccw,netdev=net0 \
  -object rng-random,filename=/dev/urandom,id=rng0 \
  -device virtio-rng-ccw,rng=rng0

I did not try out the same with virt-manager.
Also, I don't know what exactly is the problem with the ISO
and also don't know on how to fix it.

Thanks,
Pranav

#1140933#35
Date:
2026-07-02 05:41:20 UTC
From:
To:
Hi Chris,

I am trying to spend some time here in this issue to
see if something can be done. I am also looping in the
Debian boot team here.

Thanks,
Pranav

#1140933#40
Date:
2026-07-02 11:13:58 UTC
From:
To:
Hi Chris,

Seems like El Torito boot information is not present in the ISO file
(for Debian). Not sure if this was omitted out on purpose (because
I can see that it is being added for x86 in the debian-cd repo in salsa).
According to qemu docs, El-Torito boot information is required for
qemu to boot the ISO
(https://qemu.weilnetz.de/doc/6.0/system/s390x/bootdevices.html)

Will update further if I find anything else.

Thanks,
Pranav

#1140933#45
Date:
2026-07-02 14:13:13 UTC
From:
To:
As far as I understand it, real s390x hardware has no concept of booting
from ISO and do not support el torito.  qemu/kvm on the other hand have
implemented support for using el torito boot on s390x, and certainly
it does seem than many distributions (Ubuntu, SUSE, Fedora for example)
do include el torito boot info on s390x media.

#1140933#50
Date:
2026-07-03 00:04:59 UTC
From:
To:
as silly/brilliant as it is, this is very lovely too. thanks for sharing!
#1140933#55
Date:
2026-07-06 08:48:34 UTC
From:
To:
Hi,

I had a talk with Hendrick Bruckner. He also seems
to agree with the fact that the ISO files should be
created with El-Torito requirements. Although the
s390x hardware doesn't require it, it certainly is an
added bonus if it does boot in qemu directly from
the ISO.

Thanks,
Pranav