blob: a61de7aa8778f7aae9b5318b2c1d7a1e2c1239ff [file] [log] [blame]
Mauro Carvalho Chehab8b4a5032019-06-08 23:27:16 -03001==================================
Michael Holzheu7d4c7382014-04-14 11:56:07 +02002The s390 SCSI dump tool (zfcpdump)
Mauro Carvalho Chehab8b4a5032019-06-08 23:27:16 -03003==================================
Michael Holzheu411ed322007-04-27 16:01:49 +02004
5System z machines (z900 or higher) provide hardware support for creating system
6dumps on SCSI disks. The dump process is initiated by booting a dump tool, which
7has to create a dump of the current (probably crashed) Linux image. In order to
8not overwrite memory of the crashed Linux with data of the dump tool, the
Michael Holzheu7d4c7382014-04-14 11:56:07 +02009hardware saves some memory plus the register sets of the boot CPU before the
Michael Holzheu411ed322007-04-27 16:01:49 +020010dump tool is loaded. There exists an SCLP hardware interface to obtain the saved
11memory afterwards. Currently 32 MB are saved.
12
13This zfcpdump implementation consists of a Linux dump kernel together with
Michael Holzheu7d4c7382014-04-14 11:56:07 +020014a user space dump tool, which are loaded together into the saved memory region
Michael Holzheu411ed322007-04-27 16:01:49 +020015below 32 MB. zfcpdump is installed on a SCSI disk using zipl (as contained in
16the s390-tools package) to make the device bootable. The operator of a Linux
17system can then trigger a SCSI dump by booting the SCSI disk, where zfcpdump
18resides on.
19
Martin Schwidefskyffa52d02015-10-28 09:47:58 +010020The user space dump tool accesses the memory of the crashed system by means
21of the /proc/vmcore interface. This interface exports the crashed system's
22memory and registers in ELF core dump format. To access the memory which has
23been saved by the hardware SCLP requests will be created at the time the data
24is needed by /proc/vmcore. The tail part of the crashed systems memory which
25has not been stashed by hardware can just be copied from real memory.
Michael Holzheu411ed322007-04-27 16:01:49 +020026
Martin Schwidefskyffa52d02015-10-28 09:47:58 +010027To build a dump enabled kernel the kernel config option CONFIG_CRASH_DUMP
28has to be set.
Michael Holzheu411ed322007-04-27 16:01:49 +020029
Michael Holzheu7d4c7382014-04-14 11:56:07 +020030To get a valid zfcpdump kernel configuration use "make zfcpdump_defconfig".
Michael Holzheu411ed322007-04-27 16:01:49 +020031
Michael Holzheu7d4c7382014-04-14 11:56:07 +020032The s390 zipl tool looks for the zfcpdump kernel and optional initrd/initramfs
33under the following locations:
Michael Holzheu411ed322007-04-27 16:01:49 +020034
Michael Holzheu7d4c7382014-04-14 11:56:07 +020035* kernel: <zfcpdump directory>/zfcpdump.image
36* ramdisk: <zfcpdump directory>/zfcpdump.rd
Michael Holzheu411ed322007-04-27 16:01:49 +020037
Michael Holzheu7d4c7382014-04-14 11:56:07 +020038The zfcpdump directory is defined in the s390-tools package.
Michael Holzheu411ed322007-04-27 16:01:49 +020039
Michael Holzheu7d4c7382014-04-14 11:56:07 +020040The user space application of zfcpdump can reside in an intitramfs or an
41initrd. It can also be included in a built-in kernel initramfs. The application
42reads from /proc/vmcore or zcore/mem and writes the system dump to a SCSI disk.
Michael Holzheu411ed322007-04-27 16:01:49 +020043
Michael Holzheu7d4c7382014-04-14 11:56:07 +020044The s390-tools package version 1.24.0 and above builds an external zfcpdump
45initramfs with a user space application that writes the dump to a SCSI
46partition.
Michael Holzheu411ed322007-04-27 16:01:49 +020047
48For more information on how to use zfcpdump refer to the s390 'Using the Dump
Gerald Schaeferd03756a2020-05-07 16:21:37 +020049Tools' book, which is available from IBM Knowledge Center:
50https://www.ibm.com/support/knowledgecenter/linuxonibm/liaaf/lnz_r_dt.html