[bootlin/training-materials updates] master: debugging: slides: better kexec slides (c356a6be)
Clément Léger
clement.leger at bootlin.com
Wed Nov 16 13:28:06 CET 2022
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/c356a6becfef363d74d448f6e370d61123f3bdc1
>---------------------------------------------------------------
commit c356a6becfef363d74d448f6e370d61123f3bdc1
Author: Clément Léger <clement.leger at bootlin.com>
Date: Wed Nov 16 13:28:18 2022 +0100
debugging: slides: better kexec slides
Signed-off-by: Clément Léger <clement.leger at bootlin.com>
>---------------------------------------------------------------
c356a6becfef363d74d448f6e370d61123f3bdc1
.../debugging-kernel-debugging.tex | 25 +-
slides/debugging-kernel-debugging/kdump.png | Bin 0 -> 87677 bytes
slides/debugging-kernel-debugging/kexec.dia | 552 ---------------------
3 files changed, 19 insertions(+), 558 deletions(-)
diff --git a/slides/debugging-kernel-debugging/debugging-kernel-debugging.tex b/slides/debugging-kernel-debugging/debugging-kernel-debugging.tex
index 4f4f3cb3..da2f7bf2 100644
--- a/slides/debugging-kernel-debugging/debugging-kernel-debugging.tex
+++ b/slides/debugging-kernel-debugging/debugging-kernel-debugging.tex
@@ -132,11 +132,16 @@
\end{frame}
\begin{frame}
- \frametitle{kexec}
+ \frametitle{kexec \& kdump}
\begin{itemize}
- \item On panic, kexec will start a "crash kernel" (minimal kernel image)
- directly from the crashed kernel which will allow to dump the
- {\em vmcore} file from {\em procfs}
+ \item On panic, kdump will start a "dump-capture kernel" directly from the
+ kernel that crashed
+ \begin{itemize}
+ \item Most of the time, a specific minimal dump-capture kernel is compiled
+ for that task
+ \end{itemize}
+ \item This kernel will allow to dump the \code{/proc/vmcore} file from
+ {\em procfs}
\item {\em kexec} works by saving some RAM for the crash kernel execution at
startup
\begin{itemize}
@@ -144,10 +149,18 @@
kernel dedicated physical memory region
\item \code{crashkernel=size[KMG][@offset[KMG]]}
\end{itemize}
- \item Crashed kernel memory will be accessible through {\em /proc/vmcore}
+ \item {\em kexec-tools} are then used to prepare a kernel to be executed in
+ this memory zone.
+ \item Additional user-space services and tools allows to automatically
+ collect and dump the vmcore file to remote location.
+ \item \kdochtml{admin-guide/kdump/kdump}
\end{itemize}
+\end{frame}
- \center\includegraphics[height=0.4\textheight]{slides/debugging-kernel-debugging/kexec.pdf}
+\begin{frame}
+ \frametitle{kdump}
+ \center\includegraphics[height=0.8\textheight]{slides/debugging-kernel-debugging/kdump.png}\\
+ \tiny Image credits: Wikipedia
\end{frame}
\begin{frame}
diff --git a/slides/debugging-kernel-debugging/kdump.png b/slides/debugging-kernel-debugging/kdump.png
new file mode 100644
index 00000000..af6578c7
Binary files /dev/null and b/slides/debugging-kernel-debugging/kdump.png differ
diff --git a/slides/debugging-kernel-debugging/kexec.dia b/slides/debugging-kernel-debugging/kexec.dia
deleted file mode 100644
index 6032e979..00000000
--- a/slides/debugging-kernel-debugging/kexec.dia
+++ /dev/null
@@ -1,552 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
- <dia:diagramdata>
- <dia:attribute name="background">
- <dia:color val="#ffffffff"/>
- </dia:attribute>
- <dia:attribute name="pagebreak">
- <dia:color val="#000099ff"/>
- </dia:attribute>
- <dia:attribute name="paper">
- <dia:composite type="paper">
- <dia:attribute name="name">
- <dia:string>#Letter#</dia:string>
- </dia:attribute>
- <dia:attribute name="tmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="bmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="lmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="rmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="is_portrait">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="scaling">
- <dia:real val="1"/>
- </dia:attribute>
- <dia:attribute name="fitto">
- <dia:boolean val="false"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="grid">
- <dia:composite type="grid">
- <dia:attribute name="dynamic">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="width_x">
- <dia:real val="1"/>
- </dia:attribute>
- <dia:attribute name="width_y">
- <dia:real val="1"/>
- </dia:attribute>
- <dia:attribute name="visible_x">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="visible_y">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:composite type="color"/>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#d8e5e5ff"/>
- </dia:attribute>
- <dia:attribute name="guides">
- <dia:composite type="guides">
- <dia:attribute name="hguides"/>
- <dia:attribute name="vguides"/>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="display">
- <dia:composite type="display">
- <dia:attribute name="antialiased">
- <dia:boolean val="false"/>
- </dia:attribute>
- <dia:attribute name="snap-to-grid">
- <dia:boolean val="false"/>
- </dia:attribute>
- <dia:attribute name="snap-to-object">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="show-grid">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="show-connection-points">
- <dia:boolean val="true"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:diagramdata>
- <dia:layer name="Arrière-plan" visible="true" connectable="true" active="true">
- <dia:object type="Flowchart - Ellipse" version="0" id="O0">
- <dia:attribute name="obj_pos">
- <dia:point val="8.69327,6.79664"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="8.64327,6.74664;15.15,10.65"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="8.69327,6.79664"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="6.4067278160033725"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="3.8033639080016846"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.35355339059327379"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Running
-kernel#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="11.8966,8.49237"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000ff"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Ellipse" version="0" id="O1">
- <dia:attribute name="obj_pos">
- <dia:point val="18.6433,7.27164"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="18.5933,7.22164;22.95,10.175"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="18.6433,7.27164"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="4.2567278160033677"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="2.8533639080016853"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.35355339059327379"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#PANIC#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="20.7716,8.89237"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000ff"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Ellipse" version="0" id="O2">
- <dia:attribute name="obj_pos">
- <dia:point val="25.8775,6.96956"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="25.8275,6.91956;32.5449,10.4771"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="25.8775,6.96956"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="6.6173876576824666"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="3.457524410629321"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.35355339059327379"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Crash kernel
-boot#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="29.1862,8.49237"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000ff"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Arc" version="0" id="O3">
- <dia:attribute name="obj_pos">
- <dia:point val="8.69327,8.69832"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="7.8989,5.10729;12.1255,8.76684"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="8.69327,8.69832"/>
- <dia:point val="11.8966,6.79664"/>
- </dia:attribute>
- <dia:attribute name="curve_distance">
- <dia:real val="-2.6880818255906953"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O0" connection="8"/>
- <dia:connection handle="1" to="O0" connection="4"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O4">
- <dia:attribute name="obj_pos">
- <dia:point val="15.1,8.69832"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="15.05,8.33651;18.6933,9.06012"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="15.1,8.69832"/>
- <dia:point val="18.6433,8.69832"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O0" connection="0"/>
- <dia:connection handle="1" to="O1" connection="8"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O5">
- <dia:attribute name="obj_pos">
- <dia:point val="22.9,8.69832"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="22.85,8.33651;25.8775,9.06012"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="22.9,8.69832"/>
- <dia:point val="25.8275,8.69832"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O1" connection="0"/>
- <dia:connection handle="1" to="O2" connection="16"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O6">
- <dia:attribute name="obj_pos">
- <dia:point val="15.8,8.32878"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="15.8,7.73473;17.545,8.47972"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#crash#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="15.8,8.32878"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000ff"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="0"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O7">
- <dia:attribute name="obj_pos">
- <dia:point val="23.618,7.218"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="23.618,6.62395;25.493,8.16894"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Kexec
-start#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="23.618,7.218"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000ff"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="0"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Ellipse" version="0" id="O8">
- <dia:attribute name="obj_pos">
- <dia:point val="14.775,12.1667"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="14.725,12.1167;19.1848,14.5713"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="14.775,12.1667"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="4.3597919542811354"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="2.3546174521263961"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.35355339059327379"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Reboot#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="16.9549,13.538"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000ff"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Arc" version="0" id="O9">
- <dia:attribute name="obj_pos">
- <dia:point val="14.775,13.344"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="11.5713,10.5293;14.8456,13.4147"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="14.775,13.344"/>
- <dia:point val="11.8966,10.6"/>
- </dia:attribute>
- <dia:attribute name="curve_distance">
- <dia:real val="-0.79363542013078114"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O8" connection="8"/>
- <dia:connection handle="1" to="O0" connection="12"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Flowchart - Ellipse" version="0" id="O10">
- <dia:attribute name="obj_pos">
- <dia:point val="20.4366,11.8121"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="20.3866,11.7621;25.9023,14.9259"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="20.4366,11.8121"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="5.4156970465900507"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="3.0638491531844356"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.35355339059327379"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#vmcore
-dump#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="23.1444,13.138"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000ff"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O11">
- <dia:attribute name="obj_pos">
- <dia:point val="20.4366,13.344"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="19.0848,12.9822;20.4866,13.7058"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="20.4366,13.344"/>
- <dia:point val="19.1348,13.344"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O10" connection="8"/>
- <dia:connection handle="1" to="O8" connection="0"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Arc" version="0" id="O12">
- <dia:attribute name="obj_pos">
- <dia:point val="29.1862,10.4271"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="25.7817,10.3565;29.2568,13.6464"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="29.1862,10.4271"/>
- <dia:point val="25.8523,13.344"/>
- </dia:attribute>
- <dia:attribute name="curve_distance">
- <dia:real val="-0.73178365049850913"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O2" connection="12"/>
- <dia:connection handle="1" to="O10" connection="0"/>
- </dia:connections>
- </dia:object>
- </dia:layer>
-</dia:diagram>
More information about the training-materials-updates
mailing list