docs: kdump: convert docs to ReST and rename to *.rst
Convert kdump documentation to ReST and add it to the user faced manual, as the documents are mainly focused on sysadmins that would be enabling kdump. Note: the vmcoreinfo.rst has one very long title on one of its sub-sections: PG_lru|PG_private|PG_swapcache|PG_swapbacked|PG_slab|PG_hwpoision|PG_head_mask|PAGE_BUDDY_MAPCOUNT_VALUE(~PG_buddy)|PAGE_OFFLINE_MAPCOUNT_VALUE(~PG_offline) I opted to break this one, into two entries with the same content, in order to make it easier to display after being parsed in html and PDF. The conversion is actually: - add blank lines and identation in order to identify paragraphs; - fix tables markups; - add some lists markups; - mark literal blocks; - adjust title markups. At its new index.rst, let's add a :orphan: while this is not linked to the main index.rst file, in order to avoid build warnings. Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
parent
cd238effef
commit
d67297ad34
|
@ -90,7 +90,7 @@ the disk is not available then you have three options:
|
||||||
run a null modem to a second machine and capture the output there
|
run a null modem to a second machine and capture the output there
|
||||||
using your favourite communication program. Minicom works well.
|
using your favourite communication program. Minicom works well.
|
||||||
|
|
||||||
(3) Use Kdump (see Documentation/kdump/kdump.txt),
|
(3) Use Kdump (see Documentation/kdump/kdump.rst),
|
||||||
extract the kernel ring buffer from old memory with using dmesg
|
extract the kernel ring buffer from old memory with using dmesg
|
||||||
gdbmacro in Documentation/kdump/gdbmacros.txt.
|
gdbmacro in Documentation/kdump/gdbmacros.txt.
|
||||||
|
|
||||||
|
|
|
@ -708,14 +708,14 @@
|
||||||
[KNL, x86_64] select a region under 4G first, and
|
[KNL, x86_64] select a region under 4G first, and
|
||||||
fall back to reserve region above 4G when '@offset'
|
fall back to reserve region above 4G when '@offset'
|
||||||
hasn't been specified.
|
hasn't been specified.
|
||||||
See Documentation/kdump/kdump.txt for further details.
|
See Documentation/kdump/kdump.rst for further details.
|
||||||
|
|
||||||
crashkernel=range1:size1[,range2:size2,...][@offset]
|
crashkernel=range1:size1[,range2:size2,...][@offset]
|
||||||
[KNL] Same as above, but depends on the memory
|
[KNL] Same as above, but depends on the memory
|
||||||
in the running system. The syntax of range is
|
in the running system. The syntax of range is
|
||||||
start-[end] where start and end are both
|
start-[end] where start and end are both
|
||||||
a memory unit (amount[KMG]). See also
|
a memory unit (amount[KMG]). See also
|
||||||
Documentation/kdump/kdump.txt for an example.
|
Documentation/kdump/kdump.rst for an example.
|
||||||
|
|
||||||
crashkernel=size[KMG],high
|
crashkernel=size[KMG],high
|
||||||
[KNL, x86_64] range could be above 4G. Allow kernel
|
[KNL, x86_64] range could be above 4G. Allow kernel
|
||||||
|
@ -1209,7 +1209,7 @@
|
||||||
Specifies physical address of start of kernel core
|
Specifies physical address of start of kernel core
|
||||||
image elf header and optionally the size. Generally
|
image elf header and optionally the size. Generally
|
||||||
kexec loader will pass this option to capture kernel.
|
kexec loader will pass this option to capture kernel.
|
||||||
See Documentation/kdump/kdump.txt for details.
|
See Documentation/kdump/kdump.rst for details.
|
||||||
|
|
||||||
enable_mtrr_cleanup [X86]
|
enable_mtrr_cleanup [X86]
|
||||||
The kernel tries to adjust MTRR layout from continuous
|
The kernel tries to adjust MTRR layout from continuous
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
:orphan:
|
||||||
|
|
||||||
|
================================================================
|
||||||
|
Documentation for Kdump - The kexec-based Crash Dumping Solution
|
||||||
|
================================================================
|
||||||
|
|
||||||
|
This document includes overview, setup and installation, and analysis
|
||||||
|
information.
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
kdump
|
||||||
|
vmcoreinfo
|
||||||
|
|
||||||
|
.. only:: subproject and html
|
||||||
|
|
||||||
|
Indices
|
||||||
|
=======
|
||||||
|
|
||||||
|
* :ref:`genindex`
|
|
@ -71,9 +71,8 @@ This is a symlink to the latest version.
|
||||||
|
|
||||||
The latest kexec-tools git tree is available at:
|
The latest kexec-tools git tree is available at:
|
||||||
|
|
||||||
git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git
|
- git://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git
|
||||||
and
|
- http://www.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git
|
||||||
http://www.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git
|
|
||||||
|
|
||||||
There is also a gitweb interface available at
|
There is also a gitweb interface available at
|
||||||
http://www.kernel.org/git/?p=utils/kernel/kexec/kexec-tools.git
|
http://www.kernel.org/git/?p=utils/kernel/kexec/kexec-tools.git
|
||||||
|
@ -81,25 +80,25 @@ http://www.kernel.org/git/?p=utils/kernel/kexec/kexec-tools.git
|
||||||
More information about kexec-tools can be found at
|
More information about kexec-tools can be found at
|
||||||
http://horms.net/projects/kexec/
|
http://horms.net/projects/kexec/
|
||||||
|
|
||||||
3) Unpack the tarball with the tar command, as follows:
|
3) Unpack the tarball with the tar command, as follows::
|
||||||
|
|
||||||
tar xvpzf kexec-tools.tar.gz
|
tar xvpzf kexec-tools.tar.gz
|
||||||
|
|
||||||
4) Change to the kexec-tools directory, as follows:
|
4) Change to the kexec-tools directory, as follows::
|
||||||
|
|
||||||
cd kexec-tools-VERSION
|
cd kexec-tools-VERSION
|
||||||
|
|
||||||
5) Configure the package, as follows:
|
5) Configure the package, as follows::
|
||||||
|
|
||||||
./configure
|
./configure
|
||||||
|
|
||||||
6) Compile the package, as follows:
|
6) Compile the package, as follows::
|
||||||
|
|
||||||
make
|
make
|
||||||
|
|
||||||
7) Install the package, as follows:
|
7) Install the package, as follows::
|
||||||
|
|
||||||
make install
|
make install
|
||||||
|
|
||||||
|
|
||||||
Build the system and dump-capture kernels
|
Build the system and dump-capture kernels
|
||||||
|
@ -126,25 +125,25 @@ dump-capture kernels for enabling kdump support.
|
||||||
System kernel config options
|
System kernel config options
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
1) Enable "kexec system call" in "Processor type and features."
|
1) Enable "kexec system call" in "Processor type and features."::
|
||||||
|
|
||||||
CONFIG_KEXEC=y
|
CONFIG_KEXEC=y
|
||||||
|
|
||||||
2) Enable "sysfs file system support" in "Filesystem" -> "Pseudo
|
2) Enable "sysfs file system support" in "Filesystem" -> "Pseudo
|
||||||
filesystems." This is usually enabled by default.
|
filesystems." This is usually enabled by default::
|
||||||
|
|
||||||
CONFIG_SYSFS=y
|
CONFIG_SYSFS=y
|
||||||
|
|
||||||
Note that "sysfs file system support" might not appear in the "Pseudo
|
Note that "sysfs file system support" might not appear in the "Pseudo
|
||||||
filesystems" menu if "Configure standard kernel features (for small
|
filesystems" menu if "Configure standard kernel features (for small
|
||||||
systems)" is not enabled in "General Setup." In this case, check the
|
systems)" is not enabled in "General Setup." In this case, check the
|
||||||
.config file itself to ensure that sysfs is turned on, as follows:
|
.config file itself to ensure that sysfs is turned on, as follows::
|
||||||
|
|
||||||
grep 'CONFIG_SYSFS' .config
|
grep 'CONFIG_SYSFS' .config
|
||||||
|
|
||||||
3) Enable "Compile the kernel with debug info" in "Kernel hacking."
|
3) Enable "Compile the kernel with debug info" in "Kernel hacking."::
|
||||||
|
|
||||||
CONFIG_DEBUG_INFO=Y
|
CONFIG_DEBUG_INFO=Y
|
||||||
|
|
||||||
This causes the kernel to be built with debug symbols. The dump
|
This causes the kernel to be built with debug symbols. The dump
|
||||||
analysis tools require a vmlinux with debug symbols in order to read
|
analysis tools require a vmlinux with debug symbols in order to read
|
||||||
|
@ -154,29 +153,32 @@ Dump-capture kernel config options (Arch Independent)
|
||||||
-----------------------------------------------------
|
-----------------------------------------------------
|
||||||
|
|
||||||
1) Enable "kernel crash dumps" support under "Processor type and
|
1) Enable "kernel crash dumps" support under "Processor type and
|
||||||
features":
|
features"::
|
||||||
|
|
||||||
CONFIG_CRASH_DUMP=y
|
CONFIG_CRASH_DUMP=y
|
||||||
|
|
||||||
2) Enable "/proc/vmcore support" under "Filesystems" -> "Pseudo filesystems".
|
2) Enable "/proc/vmcore support" under "Filesystems" -> "Pseudo filesystems"::
|
||||||
|
|
||||||
|
CONFIG_PROC_VMCORE=y
|
||||||
|
|
||||||
CONFIG_PROC_VMCORE=y
|
|
||||||
(CONFIG_PROC_VMCORE is set by default when CONFIG_CRASH_DUMP is selected.)
|
(CONFIG_PROC_VMCORE is set by default when CONFIG_CRASH_DUMP is selected.)
|
||||||
|
|
||||||
Dump-capture kernel config options (Arch Dependent, i386 and x86_64)
|
Dump-capture kernel config options (Arch Dependent, i386 and x86_64)
|
||||||
--------------------------------------------------------------------
|
--------------------------------------------------------------------
|
||||||
|
|
||||||
1) On i386, enable high memory support under "Processor type and
|
1) On i386, enable high memory support under "Processor type and
|
||||||
features":
|
features"::
|
||||||
|
|
||||||
CONFIG_HIGHMEM64G=y
|
CONFIG_HIGHMEM64G=y
|
||||||
or
|
|
||||||
CONFIG_HIGHMEM4G
|
or::
|
||||||
|
|
||||||
|
CONFIG_HIGHMEM4G
|
||||||
|
|
||||||
2) On i386 and x86_64, disable symmetric multi-processing support
|
2) On i386 and x86_64, disable symmetric multi-processing support
|
||||||
under "Processor type and features":
|
under "Processor type and features"::
|
||||||
|
|
||||||
CONFIG_SMP=n
|
CONFIG_SMP=n
|
||||||
|
|
||||||
(If CONFIG_SMP=y, then specify maxcpus=1 on the kernel command line
|
(If CONFIG_SMP=y, then specify maxcpus=1 on the kernel command line
|
||||||
when loading the dump-capture kernel, see section "Load the Dump-capture
|
when loading the dump-capture kernel, see section "Load the Dump-capture
|
||||||
|
@ -184,9 +186,9 @@ Dump-capture kernel config options (Arch Dependent, i386 and x86_64)
|
||||||
|
|
||||||
3) If one wants to build and use a relocatable kernel,
|
3) If one wants to build and use a relocatable kernel,
|
||||||
Enable "Build a relocatable kernel" support under "Processor type and
|
Enable "Build a relocatable kernel" support under "Processor type and
|
||||||
features"
|
features"::
|
||||||
|
|
||||||
CONFIG_RELOCATABLE=y
|
CONFIG_RELOCATABLE=y
|
||||||
|
|
||||||
4) Use a suitable value for "Physical address where the kernel is
|
4) Use a suitable value for "Physical address where the kernel is
|
||||||
loaded" (under "Processor type and features"). This only appears when
|
loaded" (under "Processor type and features"). This only appears when
|
||||||
|
@ -211,13 +213,13 @@ Dump-capture kernel config options (Arch Dependent, i386 and x86_64)
|
||||||
Dump-capture kernel config options (Arch Dependent, ppc64)
|
Dump-capture kernel config options (Arch Dependent, ppc64)
|
||||||
----------------------------------------------------------
|
----------------------------------------------------------
|
||||||
|
|
||||||
1) Enable "Build a kdump crash kernel" support under "Kernel" options:
|
1) Enable "Build a kdump crash kernel" support under "Kernel" options::
|
||||||
|
|
||||||
CONFIG_CRASH_DUMP=y
|
CONFIG_CRASH_DUMP=y
|
||||||
|
|
||||||
2) Enable "Build a relocatable kernel" support
|
2) Enable "Build a relocatable kernel" support::
|
||||||
|
|
||||||
CONFIG_RELOCATABLE=y
|
CONFIG_RELOCATABLE=y
|
||||||
|
|
||||||
Make and install the kernel and its modules.
|
Make and install the kernel and its modules.
|
||||||
|
|
||||||
|
@ -231,11 +233,13 @@ Dump-capture kernel config options (Arch Dependent, ia64)
|
||||||
|
|
||||||
The crashkernel region can be automatically placed by the system
|
The crashkernel region can be automatically placed by the system
|
||||||
kernel at run time. This is done by specifying the base address as 0,
|
kernel at run time. This is done by specifying the base address as 0,
|
||||||
or omitting it all together.
|
or omitting it all together::
|
||||||
|
|
||||||
crashkernel=256M@0
|
crashkernel=256M@0
|
||||||
or
|
|
||||||
crashkernel=256M
|
or::
|
||||||
|
|
||||||
|
crashkernel=256M
|
||||||
|
|
||||||
If the start address is specified, note that the start address of the
|
If the start address is specified, note that the start address of the
|
||||||
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
|
||||||
|
@ -245,9 +249,9 @@ Dump-capture kernel config options (Arch Dependent, arm)
|
||||||
----------------------------------------------------------
|
----------------------------------------------------------
|
||||||
|
|
||||||
- To use a relocatable kernel,
|
- To use a relocatable kernel,
|
||||||
Enable "AUTO_ZRELADDR" support under "Boot" options:
|
Enable "AUTO_ZRELADDR" support under "Boot" options::
|
||||||
|
|
||||||
AUTO_ZRELADDR=y
|
AUTO_ZRELADDR=y
|
||||||
|
|
||||||
Dump-capture kernel config options (Arch Dependent, arm64)
|
Dump-capture kernel config options (Arch Dependent, arm64)
|
||||||
----------------------------------------------------------
|
----------------------------------------------------------
|
||||||
|
@ -265,12 +269,12 @@ on the value of System RAM -- that's mostly for distributors that pre-setup
|
||||||
the kernel command line to avoid a unbootable system after some memory has
|
the kernel command line to avoid a unbootable system after some memory has
|
||||||
been removed from the machine.
|
been removed from the machine.
|
||||||
|
|
||||||
The syntax is:
|
The syntax is::
|
||||||
|
|
||||||
crashkernel=<range1>:<size1>[,<range2>:<size2>,...][@offset]
|
crashkernel=<range1>:<size1>[,<range2>:<size2>,...][@offset]
|
||||||
range=start-[end]
|
range=start-[end]
|
||||||
|
|
||||||
For example:
|
For example::
|
||||||
|
|
||||||
crashkernel=512M-2G:64M,2G-:128M
|
crashkernel=512M-2G:64M,2G-:128M
|
||||||
|
|
||||||
|
@ -326,35 +330,46 @@ can choose to load the uncompressed vmlinux or compressed bzImage/vmlinuz
|
||||||
of dump-capture kernel. Following is the summary.
|
of dump-capture kernel. Following is the summary.
|
||||||
|
|
||||||
For i386 and x86_64:
|
For i386 and x86_64:
|
||||||
|
|
||||||
- Use vmlinux if kernel is not relocatable.
|
- Use vmlinux if kernel is not relocatable.
|
||||||
- Use bzImage/vmlinuz if kernel is relocatable.
|
- Use bzImage/vmlinuz if kernel is relocatable.
|
||||||
|
|
||||||
For ppc64:
|
For ppc64:
|
||||||
|
|
||||||
- Use vmlinux
|
- Use vmlinux
|
||||||
|
|
||||||
For ia64:
|
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:
|
For arm:
|
||||||
|
|
||||||
- Use zImage
|
- Use zImage
|
||||||
|
|
||||||
For arm64:
|
For arm64:
|
||||||
|
|
||||||
- Use vmlinux or Image
|
- Use vmlinux or Image
|
||||||
|
|
||||||
If you are using an uncompressed vmlinux image then use following command
|
If you are using an uncompressed vmlinux image then use following command
|
||||||
to load dump-capture kernel.
|
to load dump-capture kernel::
|
||||||
|
|
||||||
kexec -p <dump-capture-kernel-vmlinux-image> \
|
kexec -p <dump-capture-kernel-vmlinux-image> \
|
||||||
--initrd=<initrd-for-dump-capture-kernel> --args-linux \
|
--initrd=<initrd-for-dump-capture-kernel> --args-linux \
|
||||||
--append="root=<root-dev> <arch-specific-options>"
|
--append="root=<root-dev> <arch-specific-options>"
|
||||||
|
|
||||||
If you are using a compressed bzImage/vmlinuz, then use following command
|
If you are using a compressed bzImage/vmlinuz, then use following command
|
||||||
to load dump-capture kernel.
|
to load dump-capture kernel::
|
||||||
|
|
||||||
kexec -p <dump-capture-kernel-bzImage> \
|
kexec -p <dump-capture-kernel-bzImage> \
|
||||||
--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
|
If you are using a compressed zImage, then use following command
|
||||||
to load dump-capture kernel.
|
to load dump-capture kernel::
|
||||||
|
|
||||||
kexec --type zImage -p <dump-capture-kernel-bzImage> \
|
kexec --type zImage -p <dump-capture-kernel-bzImage> \
|
||||||
--initrd=<initrd-for-dump-capture-kernel> \
|
--initrd=<initrd-for-dump-capture-kernel> \
|
||||||
|
@ -362,7 +377,7 @@ to load dump-capture kernel.
|
||||||
--append="root=<root-dev> <arch-specific-options>"
|
--append="root=<root-dev> <arch-specific-options>"
|
||||||
|
|
||||||
If you are using an uncompressed Image, then use following command
|
If you are using an uncompressed Image, then use following command
|
||||||
to load dump-capture kernel.
|
to load dump-capture kernel::
|
||||||
|
|
||||||
kexec -p <dump-capture-kernel-Image> \
|
kexec -p <dump-capture-kernel-Image> \
|
||||||
--initrd=<initrd-for-dump-capture-kernel> \
|
--initrd=<initrd-for-dump-capture-kernel> \
|
||||||
|
@ -376,18 +391,23 @@ Following are the arch specific command line options to be used while
|
||||||
loading dump-capture kernel.
|
loading dump-capture kernel.
|
||||||
|
|
||||||
For i386, x86_64 and ia64:
|
For i386, x86_64 and ia64:
|
||||||
|
|
||||||
"1 irqpoll maxcpus=1 reset_devices"
|
"1 irqpoll maxcpus=1 reset_devices"
|
||||||
|
|
||||||
For ppc64:
|
For ppc64:
|
||||||
|
|
||||||
"1 maxcpus=1 noirqdistrib reset_devices"
|
"1 maxcpus=1 noirqdistrib reset_devices"
|
||||||
|
|
||||||
For s390x:
|
For s390x:
|
||||||
|
|
||||||
"1 maxcpus=1 cgroup_disable=memory"
|
"1 maxcpus=1 cgroup_disable=memory"
|
||||||
|
|
||||||
For arm:
|
For arm:
|
||||||
|
|
||||||
"1 maxcpus=1 reset_devices"
|
"1 maxcpus=1 reset_devices"
|
||||||
|
|
||||||
For arm64:
|
For arm64:
|
||||||
|
|
||||||
"1 maxcpus=1 reset_devices"
|
"1 maxcpus=1 reset_devices"
|
||||||
|
|
||||||
Notes on loading the dump-capture kernel:
|
Notes on loading the dump-capture kernel:
|
||||||
|
@ -464,7 +484,7 @@ Write Out the Dump File
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
After the dump-capture kernel is booted, write out the dump file with
|
After the dump-capture kernel is booted, write out the dump file with
|
||||||
the following command:
|
the following command::
|
||||||
|
|
||||||
cp /proc/vmcore <dump-file>
|
cp /proc/vmcore <dump-file>
|
||||||
|
|
||||||
|
@ -476,7 +496,7 @@ Before analyzing the dump image, you should reboot into a stable kernel.
|
||||||
|
|
||||||
You can do limited analysis using GDB on the dump file copied out of
|
You can do limited analysis using GDB on the dump file copied out of
|
||||||
/proc/vmcore. Use the debug vmlinux built with -g and run the following
|
/proc/vmcore. Use the debug vmlinux built with -g and run the following
|
||||||
command:
|
command::
|
||||||
|
|
||||||
gdb vmlinux <dump-file>
|
gdb vmlinux <dump-file>
|
||||||
|
|
||||||
|
@ -504,6 +524,11 @@ to achieve the same behaviour.
|
||||||
Contact
|
Contact
|
||||||
=======
|
=======
|
||||||
|
|
||||||
Vivek Goyal (vgoyal@redhat.com)
|
- Vivek Goyal (vgoyal@redhat.com)
|
||||||
Maneesh Soni (maneesh@in.ibm.com)
|
- Maneesh Soni (maneesh@in.ibm.com)
|
||||||
|
|
||||||
|
GDB macros
|
||||||
|
==========
|
||||||
|
|
||||||
|
.. include:: gdbmacros.txt
|
||||||
|
:literal:
|
|
@ -1,8 +1,7 @@
|
||||||
================================================================
|
==========
|
||||||
VMCOREINFO
|
VMCOREINFO
|
||||||
================================================================
|
==========
|
||||||
|
|
||||||
===========
|
|
||||||
What is it?
|
What is it?
|
||||||
===========
|
===========
|
||||||
|
|
||||||
|
@ -12,7 +11,6 @@ values, field offsets, etc. These data are packed into an ELF note
|
||||||
section and used by user-space tools like crash and makedumpfile to
|
section and used by user-space tools like crash and makedumpfile to
|
||||||
analyze a kernel's memory layout.
|
analyze a kernel's memory layout.
|
||||||
|
|
||||||
================
|
|
||||||
Common variables
|
Common variables
|
||||||
================
|
================
|
||||||
|
|
||||||
|
@ -49,7 +47,7 @@ in a system, one bit position per node number. Used to keep track of
|
||||||
which nodes are in the system and online.
|
which nodes are in the system and online.
|
||||||
|
|
||||||
swapper_pg_dir
|
swapper_pg_dir
|
||||||
-------------
|
--------------
|
||||||
|
|
||||||
The global page directory pointer of the kernel. Used to translate
|
The global page directory pointer of the kernel. Used to translate
|
||||||
virtual to physical addresses.
|
virtual to physical addresses.
|
||||||
|
@ -132,16 +130,14 @@ nodemask_t
|
||||||
The size of a nodemask_t type. Used to compute the number of online
|
The size of a nodemask_t type. Used to compute the number of online
|
||||||
nodes.
|
nodes.
|
||||||
|
|
||||||
(page, flags|_refcount|mapping|lru|_mapcount|private|compound_dtor|
|
(page, flags|_refcount|mapping|lru|_mapcount|private|compound_dtor|compound_order|compound_head)
|
||||||
compound_order|compound_head)
|
-------------------------------------------------------------------------------------------------
|
||||||
-------------------------------------------------------------------
|
|
||||||
|
|
||||||
User-space tools compute their values based on the offset of these
|
User-space tools compute their values based on the offset of these
|
||||||
variables. The variables are used when excluding unnecessary pages.
|
variables. The variables are used when excluding unnecessary pages.
|
||||||
|
|
||||||
(pglist_data, node_zones|nr_zones|node_mem_map|node_start_pfn|node_
|
(pglist_data, node_zones|nr_zones|node_mem_map|node_start_pfn|node_spanned_pages|node_id)
|
||||||
spanned_pages|node_id)
|
-----------------------------------------------------------------------------------------
|
||||||
-------------------------------------------------------------------
|
|
||||||
|
|
||||||
On NUMA machines, each NUMA node has a pg_data_t to describe its memory
|
On NUMA machines, each NUMA node has a pg_data_t to describe its memory
|
||||||
layout. On UMA machines there is a single pglist_data which describes the
|
layout. On UMA machines there is a single pglist_data which describes the
|
||||||
|
@ -245,21 +241,25 @@ NR_FREE_PAGES
|
||||||
On linux-2.6.21 or later, the number of free pages is in
|
On linux-2.6.21 or later, the number of free pages is in
|
||||||
vm_stat[NR_FREE_PAGES]. Used to get the number of free pages.
|
vm_stat[NR_FREE_PAGES]. Used to get the number of free pages.
|
||||||
|
|
||||||
PG_lru|PG_private|PG_swapcache|PG_swapbacked|PG_slab|PG_hwpoision
|
PG_lru|PG_private|PG_swapcache|PG_swapbacked|PG_slab|PG_hwpoision|PG_head_mask
|
||||||
|PG_head_mask|PAGE_BUDDY_MAPCOUNT_VALUE(~PG_buddy)
|
------------------------------------------------------------------------------
|
||||||
|PAGE_OFFLINE_MAPCOUNT_VALUE(~PG_offline)
|
|
||||||
-----------------------------------------------------------------
|
|
||||||
|
|
||||||
Page attributes. These flags are used to filter various unnecessary for
|
Page attributes. These flags are used to filter various unnecessary for
|
||||||
dumping pages.
|
dumping pages.
|
||||||
|
|
||||||
|
PAGE_BUDDY_MAPCOUNT_VALUE(~PG_buddy)|PAGE_OFFLINE_MAPCOUNT_VALUE(~PG_offline)
|
||||||
|
-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
More page attributes. These flags are used to filter various unnecessary for
|
||||||
|
dumping pages.
|
||||||
|
|
||||||
|
|
||||||
HUGETLB_PAGE_DTOR
|
HUGETLB_PAGE_DTOR
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
The HUGETLB_PAGE_DTOR flag denotes hugetlbfs pages. Makedumpfile
|
The HUGETLB_PAGE_DTOR flag denotes hugetlbfs pages. Makedumpfile
|
||||||
excludes these pages.
|
excludes these pages.
|
||||||
|
|
||||||
======
|
|
||||||
x86_64
|
x86_64
|
||||||
======
|
======
|
||||||
|
|
||||||
|
@ -318,12 +318,12 @@ address.
|
||||||
Currently, sme_mask stores the value of the C-bit position. If needed,
|
Currently, sme_mask stores the value of the C-bit position. If needed,
|
||||||
additional SME-relevant info can be placed in that variable.
|
additional SME-relevant info can be placed in that variable.
|
||||||
|
|
||||||
For example:
|
For example::
|
||||||
[ misc ][ enc bit ][ other misc SME info ]
|
|
||||||
0000_0000_0000_0000_1000_0000_0000_0000_0000_0000_..._0000
|
[ misc ][ enc bit ][ other misc SME info ]
|
||||||
63 59 55 51 47 43 39 35 31 27 ... 3
|
0000_0000_0000_0000_1000_0000_0000_0000_0000_0000_..._0000
|
||||||
|
63 59 55 51 47 43 39 35 31 27 ... 3
|
||||||
|
|
||||||
======
|
|
||||||
x86_32
|
x86_32
|
||||||
======
|
======
|
||||||
|
|
||||||
|
@ -335,7 +335,6 @@ of a higher page table lookup overhead, and also consumes more page
|
||||||
table space per process. Used to check whether PAE was enabled in the
|
table space per process. Used to check whether PAE was enabled in the
|
||||||
crash kernel when converting virtual addresses to physical addresses.
|
crash kernel when converting virtual addresses to physical addresses.
|
||||||
|
|
||||||
====
|
|
||||||
ia64
|
ia64
|
||||||
====
|
====
|
||||||
|
|
||||||
|
@ -366,7 +365,6 @@ PGTABLE_3|PGTABLE_4
|
||||||
User-space tools need to know whether the crash kernel was in 3-level or
|
User-space tools need to know whether the crash kernel was in 3-level or
|
||||||
4-level paging mode. Used to distinguish the page table.
|
4-level paging mode. Used to distinguish the page table.
|
||||||
|
|
||||||
=====
|
|
||||||
ARM64
|
ARM64
|
||||||
=====
|
=====
|
||||||
|
|
||||||
|
@ -395,9 +393,8 @@ KERNELOFFSET
|
||||||
The kernel randomization offset. Used to compute the page offset. If
|
The kernel randomization offset. Used to compute the page offset. If
|
||||||
KASLR is disabled, this value is zero.
|
KASLR is disabled, this value is zero.
|
||||||
|
|
||||||
====
|
|
||||||
arm
|
arm
|
||||||
====
|
===
|
||||||
|
|
||||||
ARM_LPAE
|
ARM_LPAE
|
||||||
--------
|
--------
|
||||||
|
@ -405,12 +402,11 @@ ARM_LPAE
|
||||||
It indicates whether the crash kernel supports large physical address
|
It indicates whether the crash kernel supports large physical address
|
||||||
extensions. Used to translate virtual to physical addresses.
|
extensions. Used to translate virtual to physical addresses.
|
||||||
|
|
||||||
====
|
|
||||||
s390
|
s390
|
||||||
====
|
====
|
||||||
|
|
||||||
lowcore_ptr
|
lowcore_ptr
|
||||||
----------
|
-----------
|
||||||
|
|
||||||
An array with a pointer to the lowcore of every CPU. Used to print the
|
An array with a pointer to the lowcore of every CPU. Used to print the
|
||||||
psw and all registers information.
|
psw and all registers information.
|
||||||
|
@ -425,7 +421,6 @@ Used to get the vmalloc_start address from the high_memory symbol.
|
||||||
|
|
||||||
The maximum number of CPUs.
|
The maximum number of CPUs.
|
||||||
|
|
||||||
=======
|
|
||||||
powerpc
|
powerpc
|
||||||
=======
|
=======
|
||||||
|
|
||||||
|
@ -460,9 +455,8 @@ Page size definitions, i.e. 4k, 64k, or 16M.
|
||||||
|
|
||||||
Used to make vtop translations.
|
Used to make vtop translations.
|
||||||
|
|
||||||
vmemmap_backing|(vmemmap_backing, list)|(vmemmap_backing, phys)|
|
vmemmap_backing|(vmemmap_backing, list)|(vmemmap_backing, phys)|(vmemmap_backing, virt_addr)
|
||||||
(vmemmap_backing, virt_addr)
|
--------------------------------------------------------------------------------------------
|
||||||
----------------------------------------------------------------
|
|
||||||
|
|
||||||
The vmemmap virtual address space management does not have a traditional
|
The vmemmap virtual address space management does not have a traditional
|
||||||
page table to track which virtual struct pages are backed by a physical
|
page table to track which virtual struct pages are backed by a physical
|
||||||
|
@ -480,7 +474,6 @@ member.
|
||||||
|
|
||||||
Used in vtop translations.
|
Used in vtop translations.
|
||||||
|
|
||||||
==
|
|
||||||
sh
|
sh
|
||||||
==
|
==
|
||||||
|
|
|
@ -59,7 +59,7 @@ as follows:
|
||||||
the default calculated size. Use this option if default
|
the default calculated size. Use this option if default
|
||||||
boot memory size is not sufficient for second kernel to
|
boot memory size is not sufficient for second kernel to
|
||||||
boot successfully. For syntax of crashkernel= parameter,
|
boot successfully. For syntax of crashkernel= parameter,
|
||||||
refer to Documentation/kdump/kdump.txt. If any offset is
|
refer to Documentation/kdump/kdump.rst. If any offset is
|
||||||
provided in crashkernel= parameter, it will be ignored
|
provided in crashkernel= parameter, it will be ignored
|
||||||
as fadump uses a predefined offset to reserve memory
|
as fadump uses a predefined offset to reserve memory
|
||||||
for boot memory dump preservation in case of a crash.
|
for boot memory dump preservation in case of a crash.
|
||||||
|
|
|
@ -53,7 +53,7 @@ cat /proc/kmsg > file, 然而你必须介入中止传输, kmsg是一个“
|
||||||
(2)用串口终端启动(请参看Documentation/admin-guide/serial-console.rst),运行一个null
|
(2)用串口终端启动(请参看Documentation/admin-guide/serial-console.rst),运行一个null
|
||||||
modem到另一台机器并用你喜欢的通讯工具获取输出。Minicom工作地很好。
|
modem到另一台机器并用你喜欢的通讯工具获取输出。Minicom工作地很好。
|
||||||
|
|
||||||
(3)使用Kdump(请参看Documentation/kdump/kdump.txt),
|
(3)使用Kdump(请参看Documentation/kdump/kdump.rst),
|
||||||
使用在Documentation/kdump/gdbmacros.txt中定义的dmesg gdb宏,从旧的内存中提取内核
|
使用在Documentation/kdump/gdbmacros.txt中定义的dmesg gdb宏,从旧的内存中提取内核
|
||||||
环形缓冲区。
|
环形缓冲区。
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ Last reviewed: 08/20/2018
|
||||||
and loop forever. This is generally not what a watchdog user wants.
|
and loop forever. This is generally not what a watchdog user wants.
|
||||||
|
|
||||||
For those wishing to learn more please see:
|
For those wishing to learn more please see:
|
||||||
Documentation/kdump/kdump.txt
|
Documentation/kdump/kdump.rst
|
||||||
Documentation/admin-guide/kernel-parameters.txt (panic=)
|
Documentation/admin-guide/kernel-parameters.txt (panic=)
|
||||||
Your Linux Distribution specific documentation.
|
Your Linux Distribution specific documentation.
|
||||||
|
|
||||||
|
|
|
@ -2010,7 +2010,7 @@ config CRASH_DUMP
|
||||||
kdump/kexec. The crash dump kernel must be compiled to a
|
kdump/kexec. The crash dump kernel must be compiled to a
|
||||||
memory address not used by the main kernel
|
memory address not used by the main kernel
|
||||||
|
|
||||||
For more details see Documentation/kdump/kdump.txt
|
For more details see Documentation/kdump/kdump.rst
|
||||||
|
|
||||||
config AUTO_ZRELADDR
|
config AUTO_ZRELADDR
|
||||||
bool "Auto calculation of the decompressed kernel image address"
|
bool "Auto calculation of the decompressed kernel image address"
|
||||||
|
|
|
@ -994,7 +994,7 @@ config CRASH_DUMP
|
||||||
reserved region and then later executed after a crash by
|
reserved region and then later executed after a crash by
|
||||||
kdump/kexec.
|
kdump/kexec.
|
||||||
|
|
||||||
For more details see Documentation/kdump/kdump.txt
|
For more details see Documentation/kdump/kdump.rst
|
||||||
|
|
||||||
config XEN_DOM0
|
config XEN_DOM0
|
||||||
def_bool y
|
def_bool y
|
||||||
|
|
|
@ -623,7 +623,7 @@ config CRASH_DUMP
|
||||||
to a memory address not used by the main kernel using
|
to a memory address not used by the main kernel using
|
||||||
PHYSICAL_START.
|
PHYSICAL_START.
|
||||||
|
|
||||||
For more details see Documentation/kdump/kdump.txt
|
For more details see Documentation/kdump/kdump.rst
|
||||||
|
|
||||||
config KEXEC_JUMP
|
config KEXEC_JUMP
|
||||||
bool "kexec jump (EXPERIMENTAL)"
|
bool "kexec jump (EXPERIMENTAL)"
|
||||||
|
|
|
@ -2037,7 +2037,7 @@ config CRASH_DUMP
|
||||||
to a memory address not used by the main kernel or BIOS using
|
to a memory address not used by the main kernel or BIOS using
|
||||||
PHYSICAL_START, or it must be built as a relocatable image
|
PHYSICAL_START, or it must be built as a relocatable image
|
||||||
(CONFIG_RELOCATABLE=y).
|
(CONFIG_RELOCATABLE=y).
|
||||||
For more details see Documentation/kdump/kdump.txt
|
For more details see Documentation/kdump/kdump.rst
|
||||||
|
|
||||||
config KEXEC_JUMP
|
config KEXEC_JUMP
|
||||||
bool "kexec jump"
|
bool "kexec jump"
|
||||||
|
@ -2074,7 +2074,7 @@ config PHYSICAL_START
|
||||||
the reserved region. In other words, it can be set based on
|
the reserved region. In other words, it can be set based on
|
||||||
the "X" value as specified in the "crashkernel=YM@XM"
|
the "X" value as specified in the "crashkernel=YM@XM"
|
||||||
command line boot parameter passed to the panic-ed
|
command line boot parameter passed to the panic-ed
|
||||||
kernel. Please take a look at Documentation/kdump/kdump.txt
|
kernel. Please take a look at Documentation/kdump/kdump.rst
|
||||||
for more details about crash dumps.
|
for more details about crash dumps.
|
||||||
|
|
||||||
Usage of bzImage for capturing the crash dump is recommended as
|
Usage of bzImage for capturing the crash dump is recommended as
|
||||||
|
|
Loading…
Reference in New Issue