Commit 16b0371a authored by HuKeping's avatar HuKeping Committed by Linus Torvalds

Documentation/kdump/kdump.txt: add ARM description

Add arm specific parts to kdump kernel documentation.
Signed-off-by: default avatarHu Keping <hukeping@huawei.com>
Acked-by: default avatarVivek Goyal <vgoyal@redhat.com>
Cc: Haren Myneni <hbabu@us.ibm.com>
Cc: Rob Landley <rob@landley.net>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent e3560305
...@@ -18,7 +18,7 @@ memory image to a dump file on the local disk, or across the network to ...@@ -18,7 +18,7 @@ memory image to a dump file on the local disk, or across the network to
a remote system. a remote system.
Kdump and kexec are currently supported on the x86, x86_64, ppc64, ia64, Kdump and kexec are currently supported on the x86, x86_64, ppc64, ia64,
and s390x architectures. s390x and arm architectures.
When the system kernel boots, it reserves a small section of memory for When the system kernel boots, it reserves a small section of memory for
the dump-capture kernel. This ensures that ongoing Direct Memory Access the dump-capture kernel. This ensures that ongoing Direct Memory Access
...@@ -112,7 +112,7 @@ There are two possible methods of using Kdump. ...@@ -112,7 +112,7 @@ There are two possible methods of using Kdump.
2) Or use the system kernel binary itself as dump-capture kernel and there is 2) Or use the system kernel binary itself as dump-capture kernel and there is
no need to build a separate dump-capture kernel. This is possible no need to build a separate dump-capture kernel. This is possible
only with the architectures which support a relocatable kernel. As only with the architectures which support a relocatable kernel. As
of today, i386, x86_64, ppc64 and ia64 architectures support relocatable of today, i386, x86_64, ppc64, ia64 and arm architectures support relocatable
kernel. kernel.
Building a relocatable kernel is advantageous from the point of view that Building a relocatable kernel is advantageous from the point of view that
...@@ -241,6 +241,13 @@ Dump-capture kernel config options (Arch Dependent, ia64) ...@@ -241,6 +241,13 @@ Dump-capture kernel config options (Arch Dependent, ia64)
kernel will be aligned to 64Mb, so if the start address is not then kernel will be aligned to 64Mb, so if the start address is not then
any space below the alignment point will be wasted. any space below the alignment point will be wasted.
Dump-capture kernel config options (Arch Dependent, arm)
----------------------------------------------------------
- To use a relocatable kernel,
Enable "AUTO_ZRELADDR" support under "Boot" options:
AUTO_ZRELADDR=y
Extended crashkernel syntax Extended crashkernel syntax
=========================== ===========================
...@@ -256,6 +263,10 @@ The syntax is: ...@@ -256,6 +263,10 @@ The syntax is:
crashkernel=<range1>:<size1>[,<range2>:<size2>,...][@offset] crashkernel=<range1>:<size1>[,<range2>:<size2>,...][@offset]
range=start-[end] range=start-[end]
Please note, on arm, the offset is required.
crashkernel=<range1>:<size1>[,<range2>:<size2>,...]@offset
range=start-[end]
'start' is inclusive and 'end' is exclusive. 'start' is inclusive and 'end' is exclusive.
For example: For example:
...@@ -296,6 +307,12 @@ Boot into System Kernel ...@@ -296,6 +307,12 @@ Boot into System Kernel
on the memory consumption of the kdump system. In general this is not on the memory consumption of the kdump system. In general this is not
dependent on the memory size of the production system. dependent on the memory size of the production system.
On arm, use "crashkernel=Y@X". Note that the start address of the kernel
will be aligned to 128MiB (0x08000000), so if the start address is not then
any space below the alignment point may be overwritten by the dump-capture kernel,
which means it is possible that the vmcore is not that precise as expected.
Load the Dump-capture Kernel Load the Dump-capture Kernel
============================ ============================
...@@ -315,7 +332,8 @@ For ia64: ...@@ -315,7 +332,8 @@ For ia64:
- Use vmlinux or vmlinuz.gz - Use vmlinux or vmlinuz.gz
For s390x: For s390x:
- Use image or bzImage - Use image or bzImage
For arm:
- Use zImage
If you are using a uncompressed vmlinux image then use following command If you are using a uncompressed vmlinux image then use following command
to load dump-capture kernel. to load dump-capture kernel.
...@@ -331,6 +349,15 @@ to load dump-capture kernel. ...@@ -331,6 +349,15 @@ to load dump-capture kernel.
--initrd=<initrd-for-dump-capture-kernel> \ --initrd=<initrd-for-dump-capture-kernel> \
--append="root=<root-dev> <arch-specific-options>" --append="root=<root-dev> <arch-specific-options>"
If you are using a compressed zImage, then use following command
to load dump-capture kernel.
kexec --type zImage -p <dump-capture-kernel-bzImage> \
--initrd=<initrd-for-dump-capture-kernel> \
--dtb=<dtb-for-dump-capture-kernel> \
--append="root=<root-dev> <arch-specific-options>"
Please note, that --args-linux does not need to be specified for ia64. Please note, that --args-linux does not need to be specified for ia64.
It is planned to make this a no-op on that architecture, but for now It is planned to make this a no-op on that architecture, but for now
it should be omitted it should be omitted
...@@ -347,6 +374,9 @@ For ppc64: ...@@ -347,6 +374,9 @@ For ppc64:
For s390x: For s390x:
"1 maxcpus=1 cgroup_disable=memory" "1 maxcpus=1 cgroup_disable=memory"
For arm:
"1 maxcpus=1 reset_devices"
Notes on loading the dump-capture kernel: Notes on loading the dump-capture kernel:
* By default, the ELF headers are stored in ELF64 format to support * By default, the ELF headers are stored in ELF64 format to support
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment