diff options
| author | Jan Altenberg <jan@linutronix.de> | 2013-12-27 11:45:50 +0100 |
|---|---|---|
| committer | Jan Altenberg <jan@linutronix.de> | 2013-12-27 11:45:50 +0100 |
| commit | d5b53316f812c80e9143207244e0ca2568ab2eae (patch) | |
| tree | 978535b1c2a6f40b2cd5585a6f1e1d9322054793 | |
| parent | 4766f6b5e10ed58c210ff9c9d1d048e12d21eebd (diff) | |
Crashkernel slides (have been missing so far...)
| -rw-r--r-- | kernel-devel/kexec-and-crash-kernel/Makefile | 9 | ||||
| -rw-r--r-- | kernel-devel/kexec-and-crash-kernel/pres_kexec_and_crashkernel_en.tex | 70 |
2 files changed, 79 insertions, 0 deletions
diff --git a/kernel-devel/kexec-and-crash-kernel/Makefile b/kernel-devel/kexec-and-crash-kernel/Makefile new file mode 100644 index 0000000..d641258 --- /dev/null +++ b/kernel-devel/kexec-and-crash-kernel/Makefile @@ -0,0 +1,9 @@ +all: + for pdf in `ls -1 *.tex` ; do \ + TEXINPUTS=`pwd`/../..:.:..:$(TEXINPUTS) pdflatex $$pdf; \ + TEXINPUTS=`pwd`/../..:.:..:$(TEXINPUTS) pdflatex $$pdf; \ + done + +clean: + rm -f *.aux *.log *.pdf *.log *.snm *.toc *.vrb *.nav *.out + 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} |
