On 12/04/2023 04.22, Mike Stramba wrote:
I have a CKD file, created with the Hercules dasdinit program.
It's a (hercules) 3350 uncompressed file.
I've put a small "hello world" IPL program on it, and it works fine with
Hercules
When I try to run it with qemu-system-s390x I get :
LOADPARM=[ ]
Using virtio-blk.
Using guessed DASD geometry.
Using ECKD scheme (block size 4096), CDL
No zIPL section in IPL2 record. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
zIPL load failed.
Could not find a suitable boot device (none specified)
Failed to load OS from hard disk
The qemu script is :
qemu-system-s390x -m 16 -drive format=raw,file=test-ipl.3350.un,if=virtio
-nographic
Hi Mike!
I guess you're the first person who's trying to do this ;-) ...
QEMU's s390x emulation has been developed with only Linux guests in mind, so
the boot "firmware" also only supports disks that have been prepared by the
bootloader that is used for loading Linux on s390x - i.e. zipl.
FWIW, you can find the sources of the "firmware" in the pc-bios/s390-ccw/
folder of the QEMU source tree if you want to have a look.
But if you just want to load a small kernel into QEMU, you're maybe better
off by using the "-kernel" option to load an ELF file.
I found this link re: the zipl command.
https://www.ibm.com/docs/en/linux-on-systems?topic=u-modes-syntax-overview
Where is that command and / or its source ?
zipl is part of the s390-tools that are available here:
https://github.com/ibm-s390-linux/s390-tools
(there should also be a package for this in each decent s390x Linux distro).
HTH,
Thomas