IPL and booting
![]()
On IBM Z®, you usually start booting Linux® by performing an Initial Program Load (IPL) from an IPL device.
A traditional IPL device contains all data that is required to start an IBM® Z operating system or a stand-alone program. For Linux this includes a kernel image, possibly an initial RAM disk and kernel parameters, and a boot loader.
With an advanced IPL procedure, the boot loader code is supplied by the hypervisor and not required on the IPL device. This advanced procedure is used for SCSI IPL disks, NVMe devices, ECKD DASDs with boot type eckd, and generally for IPL of a KVM guest.
Figure 1 summarizes the main steps of the boot process for a traditional IPL device.

The IPL process accesses the IPL device and loads the Linux boot loader code to the mainframe memory. The boot loader code then gets control and loads the Linux kernel. At the end of the boot process Linux gets control.
Use the zipl tool to prepare DASD, SCSI, NVMe, and tape devices as IPL devices for booting Linux or for dumping.
LPAR
If your Linux instance is to run in an LPAR, you can initiate the IPL from the Support Element (SE) through a load action against an IPL device. Alternatively, you can initiate an IPL by copying the Linux kernel from removable media or from an FTP server to the mainframe memory.
You can use secure boot if you IPL from a SCSI, NVMe, or ECKD DASD device. For more information, see Secure boot.
KVM
For Linux on IBM Z as a KVM guest, an IPL is initiated by starting a virtual server on the KVM hypervisor.
The hypervisor first assigns resources to the virtual hardware, then it loads
s390-ccw.img into the memory of the new virtual hardware. For KVM guests, s390-ccw.img takes the role of the
boot loader. If needed, s390-ccw.img loads s390-netboot.img to
retrieve boot data over the network.
LPAR and z/VM®
For Linux in LPAR mode and Linux on z/VM, an IPL can also start a dump process. See Using the Dump Tools, SC33-8412 for more information about dumps. You can find the latest version of this document on IBM Documentation at:ibm.com/docs/en/linux-on-systems?topic=tools-upstream-kernel.