5.10.5 System z
This section briefly describes the system initialization process for System z servers.

5.10.5.1 Boot methods

Linux on System z supports three installation methods: native, LPAR, and z/VM guest installations. SLES
only supports z/VM guest installation. The process described below corresponds to the z/VM guest mode.
The boot method for the SLES guest partition involves issuing an Initial Program Load (IPL) instruction to
the Control Program (CP), which loads the kernel image from a virtual disk (DASD) device. The zipl Linux
utility is responsible for creating the boot record used during the IPL process.

5.10.5.2 Control program

On a System z system, SLES runs in as a guest of the z/VM operating system. The control program, which is
the System z hypervisor, interacts with real hardware and provides SLES with the same interfaces that real
hardware would provide. As part of the IPL, the control program performs initializations before handing
control over to the operating system.

5.10.5.3 Boot process

For an individual computer, the boot process consists of the following steps when the CPU is powered on or
reset:
1. For an individual SLES guest partition, on issuing an IPL instruction, the CP reads the boot record
written to the DASD virtual disk by the zipl utility.
2. Based on the boot record, CP loads the SLES kernel image into memory and jumps to the
initialization routine, handing control over to the SLES OS code.
3. zipl auto detects all the devices attached to the system.
4. zipl obtains information about the CPUs.
5. zipl obtains information about disk devices and disk geometry.
6. zipl obtains information about network devices.
7. zipl jumps to the start_kernel() function to continue kernel data structure initialization.
8. start_kernel() completes the kernel initialization by initializing Page Tables, Memory
Handling Data Structures, IDT tables, slab allocator (described in Section 5.5.3.6), system date, and
system time.
9. zipl uncompresses the initrd initial RAM file system, mounts it, and then executes /linuxrc.
10. zipl unmounts initrd, mounts the root file system, and executes /sbin/init. zipl resets the
pid table to assign process ID one to the init process.
11. /sbin/init determines the default run level from /etc/inittab and performs the following
basic system initialization by executing the script /etc/rc.d/sysyinit.
1. Allows an administrator to perform interactive debugging of the startup process by executing the
/etc/sysconfig/init script.
2. Mounts the /proc special file system.
3. Mounts the /dev/pts special file system.
166