[bootlin/training-materials updates] master: Mention the use of "ccache" for faster recompiling (4081a737)
Michael Opdenacker
michael.opdenacker at bootlin.com
Tue Dec 8 09:47:35 CET 2020
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/4081a73730e90faf42d1fb736a1071c3f96a9997
>---------------------------------------------------------------
commit 4081a73730e90faf42d1fb736a1071c3f96a9997
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date: Tue Dec 8 09:47:35 2020 +0100
Mention the use of "ccache" for faster recompiling
Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>
>---------------------------------------------------------------
4081a73730e90faf42d1fb736a1071c3f96a9997
.../sysdev-kernel-building/sysdev-kernel-building.tex | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/slides/sysdev-kernel-building/sysdev-kernel-building.tex b/slides/sysdev-kernel-building/sysdev-kernel-building.tex
index b61d7bc2..f10f64f2 100644
--- a/slides/sysdev-kernel-building/sysdev-kernel-building.tex
+++ b/slides/sysdev-kernel-building/sysdev-kernel-building.tex
@@ -389,21 +389,26 @@ tools (\code{gcc}, \code{as}, \code{ld}, \code{objcopy}, \code{strip}...).
\end{itemize}
\end{frame}
-\begin{frame}
+\begin{frame}[fragile]
\frametitle{Kernel compilation}
+ \code{make}
\begin{itemize}
- \item \code{make}
- \begin{itemize}
- \item In the main kernel source directory!
+ \item Run it In the main kernel source directory!
\item Remember to run multiple jobs in parallel
if you have multiple CPU cores. Our advice:
\code{ncpus * 2} or \code{ncpus + 2}, to fully load
the CPU and I/Os at all times.\\
Example: \code{make -j 8}
\item No need to run as root!
+ \item To {\bf re}compile faster (7x according to some benchmarks),\\
+ use the \code{ccache} compiler cache:\\
+ \code{export CROSS_COMPILE="ccache riscv64-linux-"}
\end{itemize}
- \item Generates
- \begin{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Kernel compilation results}
+ \begin{itemize}
\item \code{vmlinux}, the raw uncompressed kernel image, in the
ELF format, useful for debugging purposes, but cannot be booted
\item \code{arch/<arch>/boot/*Image}, the final, usually
@@ -416,7 +421,6 @@ tools (\code{gcc}, \code{as}, \code{ld}, \code{objcopy}, \code{strip}...).
files (on some architectures)
\item All kernel modules, spread over the kernel source tree, as
\code{.ko} ({\em Kernel Object}) files.
- \end{itemize}
\end{itemize}
\end{frame}
More information about the training-materials-updates
mailing list