From d5b53316f812c80e9143207244e0ca2568ab2eae Mon Sep 17 00:00:00 2001
From: Jan Altenberg <jan@linutronix.de>
Date: Fri, 27 Dec 2013 11:45:50 +0100
Subject: Crashkernel slides (have been missing so far...)

---
 .../pres_kexec_and_crashkernel_en.tex              | 70 ++++++++++++++++++++++
 1 file changed, 70 insertions(+)
 create mode 100644 kernel-devel/kexec-and-crash-kernel/pres_kexec_and_crashkernel_en.tex

(limited to 'kernel-devel/kexec-and-crash-kernel/pres_kexec_and_crashkernel_en.tex')

diff --git a/kernel-devel/kexec-and-crash-kernel/pres_kexec_and_crashkernel_en.tex b/kernel-devel/kexec-and-crash-kernel/pres_kexec_and_crashkernel_en.tex
new file mode 100644
index 0000000..1791267
--- /dev/null
+++ b/kernel-devel/kexec-and-crash-kernel/pres_kexec_and_crashkernel_en.tex
@@ -0,0 +1,70 @@
+\input{configpres}
+
+\title{Kexec and Crashkernels}
+\maketitle
+\begin{frame}
+\frametitle{What is kexec?}
+Kexec is a mechanism to boot Linux from within Linux,
+without going through the BIOS / the Bootloader.
+\end{frame}
+
+\begin{frame}
+\frametitle{kexec-tools}
+http://horms.net/projects/kexec/
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{Using kexec: Kernel configuration}
+\begin{verbatim}
+Boot options -->
+[*] Kexec system call
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{Using kexec: Booting the new kernel}
+\begin{verbatim}
+# Load the kernel image and set the commandline
+$ kexec -l uImage --append=$(cat /proc/cmdline)
+# Start the new kernel
+$ kexec -e
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{Using kexec: Crashkernel}
+\begin{itemize}
+\item Build production kernel (enable kexec system call!)
+\item Build ''crash kernel'' (enable kexec system call and crash dump kernel):
+\begin{verbatim}
+Boot options -->
+[*] Kexec system call
+[*] Build kdump crash kernel
+\end{verbatim}
+\item The crash kernel option should automatically select /proc/vmcore
+\end{itemize}
+\end{frame}
+
+
+\begin{frame}[fragile]
+\frametitle{Using kexec: Crashkernel}
+\begin{itemize}
+\item Boot production kernel (Commandline: crashkernel=256M@0x84000000)
+\item Check if crashkernel memory was reserved: 
+\begin{verbatim}
+cat /proc/iomem | grep Crash
+   84000000-93ffffff : Crash kernel
+\end{verbatim}
+\item Load crash kernel and let the system crash ;-)
+\begin{verbatim}
+kexec -p uImage-crash \
+  --append="$(cat /proc/cmdline | \
+    sed 's/crashkernel/bla/')"
+echo c > /proc/sysrq-trigger
+\end{verbatim}
+\item After crashing the crash kernel should boot up!
+\item Within the crashkernel the core file for the production kernel is available in /proc/vmcore
+\end{itemize}
+\end{frame}
+
+\input{tailpres}
-- 
cgit v1.2.3

