1*37002bc6SCosta Shulyupin==================================
2*37002bc6SCosta ShulyupinThe s390 SCSI dump tool (zfcpdump)
3*37002bc6SCosta Shulyupin==================================
4*37002bc6SCosta Shulyupin
5*37002bc6SCosta ShulyupinSystem z machines (z900 or higher) provide hardware support for creating system
6*37002bc6SCosta Shulyupindumps on SCSI disks. The dump process is initiated by booting a dump tool, which
7*37002bc6SCosta Shulyupinhas to create a dump of the current (probably crashed) Linux image. In order to
8*37002bc6SCosta Shulyupinnot overwrite memory of the crashed Linux with data of the dump tool, the
9*37002bc6SCosta Shulyupinhardware saves some memory plus the register sets of the boot CPU before the
10*37002bc6SCosta Shulyupindump tool is loaded. There exists an SCLP hardware interface to obtain the saved
11*37002bc6SCosta Shulyupinmemory afterwards. Currently 32 MB are saved.
12*37002bc6SCosta Shulyupin
13*37002bc6SCosta ShulyupinThis zfcpdump implementation consists of a Linux dump kernel together with
14*37002bc6SCosta Shulyupina user space dump tool, which are loaded together into the saved memory region
15*37002bc6SCosta Shulyupinbelow 32 MB. zfcpdump is installed on a SCSI disk using zipl (as contained in
16*37002bc6SCosta Shulyupinthe s390-tools package) to make the device bootable. The operator of a Linux
17*37002bc6SCosta Shulyupinsystem can then trigger a SCSI dump by booting the SCSI disk, where zfcpdump
18*37002bc6SCosta Shulyupinresides on.
19*37002bc6SCosta Shulyupin
20*37002bc6SCosta ShulyupinThe user space dump tool accesses the memory of the crashed system by means
21*37002bc6SCosta Shulyupinof the /proc/vmcore interface. This interface exports the crashed system's
22*37002bc6SCosta Shulyupinmemory and registers in ELF core dump format. To access the memory which has
23*37002bc6SCosta Shulyupinbeen saved by the hardware SCLP requests will be created at the time the data
24*37002bc6SCosta Shulyupinis needed by /proc/vmcore. The tail part of the crashed systems memory which
25*37002bc6SCosta Shulyupinhas not been stashed by hardware can just be copied from real memory.
26*37002bc6SCosta Shulyupin
27*37002bc6SCosta ShulyupinTo build a dump enabled kernel the kernel config option CONFIG_CRASH_DUMP
28*37002bc6SCosta Shulyupinhas to be set.
29*37002bc6SCosta Shulyupin
30*37002bc6SCosta ShulyupinTo get a valid zfcpdump kernel configuration use "make zfcpdump_defconfig".
31*37002bc6SCosta Shulyupin
32*37002bc6SCosta ShulyupinThe s390 zipl tool looks for the zfcpdump kernel and optional initrd/initramfs
33*37002bc6SCosta Shulyupinunder the following locations:
34*37002bc6SCosta Shulyupin
35*37002bc6SCosta Shulyupin* kernel:  <zfcpdump directory>/zfcpdump.image
36*37002bc6SCosta Shulyupin* ramdisk: <zfcpdump directory>/zfcpdump.rd
37*37002bc6SCosta Shulyupin
38*37002bc6SCosta ShulyupinThe zfcpdump directory is defined in the s390-tools package.
39*37002bc6SCosta Shulyupin
40*37002bc6SCosta ShulyupinThe user space application of zfcpdump can reside in an intitramfs or an
41*37002bc6SCosta Shulyupininitrd. It can also be included in a built-in kernel initramfs. The application
42*37002bc6SCosta Shulyupinreads from /proc/vmcore or zcore/mem and writes the system dump to a SCSI disk.
43*37002bc6SCosta Shulyupin
44*37002bc6SCosta ShulyupinThe s390-tools package version 1.24.0 and above builds an external zfcpdump
45*37002bc6SCosta Shulyupininitramfs with a user space application that writes the dump to a SCSI
46*37002bc6SCosta Shulyupinpartition.
47*37002bc6SCosta Shulyupin
48*37002bc6SCosta ShulyupinFor more information on how to use zfcpdump refer to the s390 'Using the Dump
49*37002bc6SCosta ShulyupinTools' book, which is available from IBM Knowledge Center:
50*37002bc6SCosta Shulyupinhttps://www.ibm.com/support/knowledgecenter/linuxonibm/liaaf/lnz_r_dt.html
51