M7350/kernel/Documentation/s390/zfcpdump.txt

53 lines
2.6 KiB
Plaintext
Raw Normal View History

2024-09-09 08:57:42 +00:00
The s390 SCSI dump tool (zfcpdump)
2024-09-09 08:52:07 +00:00
System z machines (z900 or higher) provide hardware support for creating system
dumps on SCSI disks. The dump process is initiated by booting a dump tool, which
has to create a dump of the current (probably crashed) Linux image. In order to
not overwrite memory of the crashed Linux with data of the dump tool, the
2024-09-09 08:57:42 +00:00
hardware saves some memory plus the register sets of the boot CPU before the
2024-09-09 08:52:07 +00:00
dump tool is loaded. There exists an SCLP hardware interface to obtain the saved
memory afterwards. Currently 32 MB are saved.
This zfcpdump implementation consists of a Linux dump kernel together with
2024-09-09 08:57:42 +00:00
a user space dump tool, which are loaded together into the saved memory region
2024-09-09 08:52:07 +00:00
below 32 MB. zfcpdump is installed on a SCSI disk using zipl (as contained in
the s390-tools package) to make the device bootable. The operator of a Linux
system can then trigger a SCSI dump by booting the SCSI disk, where zfcpdump
resides on.
The kernel part of zfcpdump is implemented as a debugfs file under "zcore/mem",
which exports memory and registers of the crashed Linux in an s390
standalone dump format. It can be used in the same way as e.g. /dev/mem. The
dump format defines a 4K header followed by plain uncompressed memory. The
2024-09-09 08:57:42 +00:00
register sets are stored in the prefix pages of the respective CPUs. To build a
2024-09-09 08:52:07 +00:00
dump enabled kernel with the zcore driver, the kernel config option
2024-09-09 08:57:42 +00:00
CONFIG_CRASH_DUMP has to be set. When reading from "zcore/mem", the part of
2024-09-09 08:52:07 +00:00
memory, which has been saved by hardware is read by the driver via the SCLP
hardware interface. The second part is just copied from the non overwritten real
memory.
2024-09-09 08:57:42 +00:00
Since kernel version 3.12 also the /proc/vmcore file can also be used to access
the dump.
2024-09-09 08:52:07 +00:00
2024-09-09 08:57:42 +00:00
To get a valid zfcpdump kernel configuration use "make zfcpdump_defconfig".
2024-09-09 08:52:07 +00:00
2024-09-09 08:57:42 +00:00
The s390 zipl tool looks for the zfcpdump kernel and optional initrd/initramfs
under the following locations:
2024-09-09 08:52:07 +00:00
2024-09-09 08:57:42 +00:00
* kernel: <zfcpdump directory>/zfcpdump.image
* ramdisk: <zfcpdump directory>/zfcpdump.rd
2024-09-09 08:52:07 +00:00
2024-09-09 08:57:42 +00:00
The zfcpdump directory is defined in the s390-tools package.
2024-09-09 08:52:07 +00:00
2024-09-09 08:57:42 +00:00
The user space application of zfcpdump can reside in an intitramfs or an
initrd. It can also be included in a built-in kernel initramfs. The application
reads from /proc/vmcore or zcore/mem and writes the system dump to a SCSI disk.
2024-09-09 08:52:07 +00:00
2024-09-09 08:57:42 +00:00
The s390-tools package version 1.24.0 and above builds an external zfcpdump
initramfs with a user space application that writes the dump to a SCSI
partition.
2024-09-09 08:52:07 +00:00
For more information on how to use zfcpdump refer to the s390 'Using the Dump
Tools book', which is available from
http://www.ibm.com/developerworks/linux/linux390.