Files
s390-tools/zfcpdump
Philipp Rudo cb3e949772 zfcpdump: Fix incompatible cast compile warning
When zfcpdump is built you get a compile warning

zfcpdump.c: In function ‘init_sig’:
zfcpdump.c:307:24: warning: cast between incompatible function types from ‘void (* (*)(int,  siginfo_t *, void *))(int)’ {aka ‘void (* (*)(int,  struct <anonymous> *, void *))(int)’} to ‘void (*)(int)’ [-Wcast-function-type]
  g.sigact.sa_handler = (__sighandler_t)dump_sig_handler;

Furthermore the man pages for sigaction says

$man 2 sigaction
[...]
       If SA_SIGINFO is specified in sa_flags, then sa_sigaction (instead
       of sa_handler) specifies the signal-handling function for signum.
       This function receives three arguments, as described below.
[...]

Because SA_SIGINFO is set, using sa_handler at all is wrong in this case.

Fix this by giving dump_sig_handler the correct return type and assign it
to sa_sigaction.

Signed-off-by: Philipp Rudo <prudo@linux.ibm.com>
Reviewed-by: Steffen Maier <maier@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
2018-09-04 14:09:24 +02:00
..
2017-08-21 10:55:40 +02:00
2017-08-21 10:55:40 +02:00
2018-09-04 14:09:24 +02:00
2018-09-04 14:09:24 +02:00

zfcpdump: S390 SCSI dump tool (Version 3)
=========================================
zfcpdump is used for creating System dumps for Linux on System z. It has two
parts: a zfcpdump enabled Linux kernel and a user space application.

This is the 3rd version of zfcpdump which uses the upstream kernel
version 3.12 or above. This version writes the dump to a partition in
contrast to the previous versions where the dump was written to
a file system.

The user space application of zfcpdump can reside either in an intitramfs or an
initrd. It reads from /proc/vmcore, provided by the kernel part, and writes the
system dump to a SCSI disk partition.

To build a zfcpdump enabled kernel use the following settings in your kernel
configuration:

 * CONFIG_ZFCPDUMP=y
 * CONFIG_BLK_DEV_INITRD=y
 * CONFIG_EFI_PARTITION=y for using GPT disk layout
 * CONFIG_MSDOS_PARTITION=y for using MSDOS disk layout
 * BLK_DEV_SD=y
 * Enable ZFCP driver
 * Enable SCSI driver
 * Disable as many features as possible to keep the kernel small.
   E.g. network and file system support is not needed at all.

You can use "make zfcpdump_defconfig" as a starting point for your kernel
configuration.

 * Issue "make bzImage" to build the zfcpdump kernel image.

In a Linux distribution the zfcpdump enabled kernel image must be copied to
/lib/s390-tools/zfcpdump/zfcpdump_part.image, where the s390 zipl tool is
looking for the dump kernel when preparing a SCSI dump disk.

Create and install initrd
=========================

 * make

Builds "cpioinit" and statically linked "zfcpdump" application. Then cpioinit
is used to integrate the zfcpdump application into the cpio archive
zfcpdump_part.rd.

 * make install

The initrd zfcpdump_part.rd is installed to "/lib/s390-tools/zfcpdump/".

Additional information
======================
For more information on how to use zfcpdump and zipl refer to the s390
'Using the Dump Tools' book, which is available from:
http://www.ibm.com/developerworks/linux/linux390.