Preparing a boot device

Red Hat Enterprise Linux 9.2 LPAR mode z/VM guest KVM guest

Use zipl with the -i (--image) command-line option or with the image= configuration-file option to prepare a boot device.

zipl command line syntax for preparing a boot device

Read syntax diagramSkip visual syntax diagramzipl  -i  <image> , 0x10000, <image_addr>  -t  <directory>Base device parameters1 -T  <tape_node> -r  <ramdisk>, 0x800000, <initrd_addr> -p  <parmfile>, <parm_addr> -P  <parameters>--environment /etc/ziplenv--environment<env_file> -k auto -a-S auto-S <mode>
Notes:
  • 1 Additional parameters that are used only if -t specifies a logical device as a target.

To prepare a device as a boot device, you must specify:

The location <image>
of the Linux® kernel image on the file system.
A target <directory> or <tape_node>
zipl installs the boot loader code on the device that contains the specified directory <directory> or to the specified tape device <tape_node>.

For KVM guests, the target device can be a virtual block device or a VFIO pass-trough DASD. For details, see KVM Virtual Server Management, SC34-2752.

Optionally, you can also specify:
A kernel image address <image_addr>
to which the kernel image is loaded at IPL time. The default address is 0x10000.
The RAM disk location <ramdisk>
of an initial RAM disk image (initrd) on the file system.
A RAM disk image address <initrd_addr>
to which the RAM disk image is loaded at IPL time. If you do not specify this parameter, zipl investigates the location of other components and calculates a suitable address for you.
Kernel parameters
to be used at IPL time. If you provide multiple parameters, separate them with a blank and enclose them within single quotation marks (') or double quotation marks (").

You can specify parameters <parameters> directly on the command line. Instead or in addition, you can specify a location <parmfile> of a kernel parameter file on the file system.

A parameter address <parm_addr>
to which the kernel parameters are loaded at IPL time. The default address is 0x1000.
A zipl environment file <env_file>
to be used, see zipl environment - Variables for the kernel command line. The default location is /etc/ziplenv.
An option -k auto
to install a kdump kernel that can be used as a stand-alone dump tool. You can IPL this kernel in an LPAR or guest virtual machine to create a dump of a previously running operating system instance that has been configured with a reserved memory area for kdump. For Linux, this memory area is reserved with the crashkernel= kernel parameter.
Note: For SCSI disks, the accumulated size of the kernel and ramdisk must not exceed 16 MB.
An option -a
to add the kernel image, kernel parameter file, and initial RAM disk to the bootmap file. Use this option when these files are spread across multiple disks to ensure that they are available at IPL time. This option is available on the command line only. Specifying this option significantly increases the size of the bootmap file that is created in the target directory.
The secure boot mode <mode>
SCSI IPL disk or NVMe IPL device for LPAR only: Controls the zipl secure boot support. <mode> takes the following values:
auto
Uses the secure-boot enabled format if the zipl command is issued on a mainframe with secure-boot support. This is the default.
1
Enforces the secure-boot enabled format regardless of mainframe support. Use this option to prepare boot devices for systems other than the one you are working on. Disks with this format cannot be booted on machines z14 or earlier.
0
Enforces the traditional format, that does not support secure boot, regardless of mainframe support. Disks with this format can be booted on all machines but cannot be used for secure boot.
For more information about secure boot, see Secure boot.

zipl configuration file syntax

Figure 1 summarizes how you can specify a boot configuration within a zipl configuration file section. Required specifications are shown in bold.

Figure 1. Syntax for preparing a boot device: zipl configuration-file section
[<section_name>]
image=<image>,<image_addr>
ramdisk=<ramdisk>,<initrd_addr>
parmfile=<parmfile>,<parm_addr>
parameters=<parameters>
# Next line for devices other than tape only
target=<directory>
# Next line for tape devices only
tape=<tape_node>
# Next line for stand-alone kdump only
kdump=auto
# Next line for secure boot only
secure=<mode>

Example

The following command identifies the location of the kernel image as /boot/mnt/image-2, identifies the location of an initial RAM disk as /boot/mnt/initrd, specifies a kernel parameter file /boot/mnt/parmf-2, and writes the required boot loader code to /boot. At IPL time, the initial RAM disk is to be loaded to address 0x900000, rather than an address that is calculated by zipl. Kernel image, initial RAM disk, and the kernel parameter file are to be copied to the bootmap file on the target directory /boot rather than being referenced.

# zipl -i /boot/mnt/image-2 -r /boot/mnt/initrd,0x900000 -p /boot/mnt/parmf-2 -t /boot -a
An equivalent section in a configuration file might look like this example:
[boot2]
image=/boot/mnt/image-2
ramdisk=/boot/mnt/initrd,0x900000
paramfile=/boot/mnt/parmf-2
target=/boot

There is no configuration file equivalent for option -a. To use this option for a boot configuration in a configuration file, it must be specified with the zipl command that processes the configuration.

If the configuration file is called /etc/myxmp.conf:
# zipl -c /etc/myxmp.conf boot2 -a