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