The s390 SCSI dump tool (zfcpdump)

System z machines (z900 or higher) provide hardware support for creating systemdumps on SCSI disks. The dump process is initiated by booting a dump tool, whichhas to create a dump of the current (probably crashed) Linux image. In order tonot overwrite memory of the crashed Linux with data of the dump tool, thehardware saves some memory plus the register sets of the boot CPU before thedump tool is loaded. There exists an SCLP hardware interface to obtain the savedmemory afterwards. Currently 32 MB are saved.

This zfcpdump implementation consists of a Linux dump kernel together witha user space dump tool, which are loaded together into the saved memory regionbelow 32 MB. zfcpdump is installed on a SCSI disk using zipl (as contained inthe s390-tools package) to make the device bootable. The operator of a Linuxsystem can then trigger a SCSI dump by booting the SCSI disk, where zfcpdumpresides on.

The user space dump tool accesses the memory of the crashed system by meansof the /proc/vmcore interface. This interface exports the crashed system’smemory and registers in ELF core dump format. To access the memory which hasbeen saved by the hardware SCLP requests will be created at the time the datais needed by /proc/vmcore. The tail part of the crashed systems memory whichhas not been stashed by hardware can just be copied from real memory.

To build a dump enabled kernel the kernel config option CONFIG_CRASH_DUMPhas to be set.

To get a valid zfcpdump kernel configuration use “make zfcpdump_defconfig”.

The s390 zipl tool looks for the zfcpdump kernel and optional initrd/initramfsunder the following locations:

  • kernel: <zfcpdump directory>/zfcpdump.image
  • ramdisk: <zfcpdump directory>/zfcpdump.rd

The zfcpdump directory is defined in the s390-tools package.

The user space application of zfcpdump can reside in an intitramfs or aninitrd. It can also be included in a built-in kernel initramfs. The applicationreads from /proc/vmcore or zcore/mem and writes the system dump to a SCSI disk.

The s390-tools package version 1.24.0 and above builds an external zfcpdumpinitramfs with a user space application that writes the dump to a SCSIpartition.

For more information on how to use zfcpdump refer to the s390 ‘Using the DumpTools’ book, which is available from IBM Knowledge Center:https://www.ibm.com/support/knowledgecenter/linuxonibm/liaaf/lnz_r_dt.html