|
@@ -17,8 +17,8 @@ You can use common commands, such as cp and scp, to copy the
|
|
|
memory image to a dump file on the local disk, or across the network to
|
|
|
a remote system.
|
|
|
|
|
|
-Kdump and kexec are currently supported on the x86, x86_64, ppc64 and ia64
|
|
|
-architectures.
|
|
|
+Kdump and kexec are currently supported on the x86, x86_64, ppc64, ia64,
|
|
|
+and s390x architectures.
|
|
|
|
|
|
When the system kernel boots, it reserves a small section of memory for
|
|
|
the dump-capture kernel. This ensures that ongoing Direct Memory Access
|
|
@@ -34,11 +34,18 @@ Similarly on PPC64 machines first 32KB of physical memory is needed for
|
|
|
booting regardless of where the kernel is loaded and to support 64K page
|
|
|
size kexec backs up the first 64KB memory.
|
|
|
|
|
|
+For s390x, when kdump is triggered, the crashkernel region is exchanged
|
|
|
+with the region [0, crashkernel region size] and then the kdump kernel
|
|
|
+runs in [0, crashkernel region size]. Therefore no relocatable kernel is
|
|
|
+needed for s390x.
|
|
|
+
|
|
|
All of the necessary information about the system kernel's core image is
|
|
|
encoded in the ELF format, and stored in a reserved area of memory
|
|
|
before a crash. The physical address of the start of the ELF header is
|
|
|
passed to the dump-capture kernel through the elfcorehdr= boot
|
|
|
-parameter.
|
|
|
+parameter. Optionally the size of the ELF header can also be passed
|
|
|
+when using the elfcorehdr=[size[KMG]@]offset[KMG] syntax.
|
|
|
+
|
|
|
|
|
|
With the dump-capture kernel, you can access the memory image, or "old
|
|
|
memory," in two ways:
|
|
@@ -291,6 +298,10 @@ Boot into System Kernel
|
|
|
The region may be automatically placed on ia64, see the
|
|
|
dump-capture kernel config option notes above.
|
|
|
|
|
|
+ On s390x, typically use "crashkernel=xxM". The value of xx is dependent
|
|
|
+ on the memory consumption of the kdump system. In general this is not
|
|
|
+ dependent on the memory size of the production system.
|
|
|
+
|
|
|
Load the Dump-capture Kernel
|
|
|
============================
|
|
|
|
|
@@ -308,6 +319,8 @@ For ppc64:
|
|
|
- Use vmlinux
|
|
|
For ia64:
|
|
|
- Use vmlinux or vmlinuz.gz
|
|
|
+For s390x:
|
|
|
+ - Use image or bzImage
|
|
|
|
|
|
|
|
|
If you are using a uncompressed vmlinux image then use following command
|
|
@@ -337,6 +350,8 @@ For i386, x86_64 and ia64:
|
|
|
For ppc64:
|
|
|
"1 maxcpus=1 noirqdistrib reset_devices"
|
|
|
|
|
|
+For s390x:
|
|
|
+ "1 maxcpus=1 cgroup_disable=memory"
|
|
|
|
|
|
Notes on loading the dump-capture kernel:
|
|
|
|
|
@@ -362,6 +377,20 @@ Notes on loading the dump-capture kernel:
|
|
|
dump. Hence generally it is useful either to build a UP dump-capture
|
|
|
kernel or specify maxcpus=1 option while loading dump-capture kernel.
|
|
|
|
|
|
+* For s390x there are two kdump modes: If a ELF header is specified with
|
|
|
+ the elfcorehdr= kernel parameter, it is used by the kdump kernel as it
|
|
|
+ is done on all other architectures. If no elfcorehdr= kernel parameter is
|
|
|
+ specified, the s390x kdump kernel dynamically creates the header. The
|
|
|
+ second mode has the advantage that for CPU and memory hotplug, kdump has
|
|
|
+ not to be reloaded with kexec_load().
|
|
|
+
|
|
|
+* For s390x systems with many attached devices the "cio_ignore" kernel
|
|
|
+ parameter should be used for the kdump kernel in order to prevent allocation
|
|
|
+ of kernel memory for devices that are not relevant for kdump. The same
|
|
|
+ applies to systems that use SCSI/FCP devices. In that case the
|
|
|
+ "allow_lun_scan" zfcp module parameter should be set to zero before
|
|
|
+ setting FCP devices online.
|
|
|
+
|
|
|
Kernel Panic
|
|
|
============
|
|
|
|