When you are trying to install a s390x Fedora 27 (or RHEL 7.4) KVM guest on an IBM z Systems mainframe by using one of the provided ISO DVD images (e.g. Fedora-Server-dvd-s390x-27-1.6.iso), there are two pitfalls you should be aware of.

The first problem is that QEMU’s firmware for the s390x guests can not directly boot the ISO images yet, since the images have been built without the so-called El-Torito boot information, which is required for bootable images here. This has recently been fixed in the Lorax tool, so this problem should hopefully be gone with Fedora 28. But for the current version of Fedora, you still have to fetch the kernel and initrd images from the ISO image and specify them with the --kernel and --initrd parameters when running QEMU.

The second problem only occurs if you try to use the ISO image via the “convenience” --cdrom parameter of QEMU: In this case the disk is configured as a so-called virtio-block device, which shows up as /dev/vd* in the guest’s file system. Unfortunately, the start-up scripts of Fedora expect a SCSI DVD drives instead (which should show up as /dev/sr* in the guest), so you only eventually get an “dracut-initqueue timeout” and an emergency shell if you try to boot your guest this way. Thus you can not use the --cdrom parameter here, and you have to configure a virtio-scsi CD-ROM drive for the ISO image instead.

In a nutshell, these are the steps that you have to take to install a Fedora 27 s390x KVM guest from an ISO image:

wget https://download.fedoraproject.org/pub/fedora-secondary/releases/27\
/Server/s390x/iso/Fedora-Server-dvd-s390x-27-1.6.iso
qemu-img create -f qcow2 fedora.qcow2 16G
sudo mount -o loop,ro Fedora-Server-dvd-s390x-27-1.6.iso /mnt
cp /mnt/images/kernel.img /mnt/images/initrd.img .
sudo umount /mnt
qemu-system-s390x -M accel=kvm -m 1G --nographic --device virtio-scsi \
  --drive file=Fedora-Server-dvd-s390x-27-1.6.iso,format=raw,if=none,id=c1 \
  --device scsi-cd,drive=c1 --hda fedora.qcow2 \
  --kernel kernel.img --initrd initrd.img