[bootlin/training-materials updates] master: Kernel configuration: add example with both types of dependencies (5ec42ea9)
Michael Opdenacker
michael.opdenacker at bootlin.com
Sat May 23 23:25:26 CEST 2020
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/5ec42ea9c8c6726db33643bf5678f647e0a77a75
>---------------------------------------------------------------
commit 5ec42ea9c8c6726db33643bf5678f647e0a77a75
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date: Sat May 23 23:25:26 2020 +0200
Kernel configuration: add example with both types of dependencies
Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>
>---------------------------------------------------------------
5ec42ea9c8c6726db33643bf5678f647e0a77a75
slides/sysdev-kernel-building/kconfig-dependencies.png | Bin 0 -> 94705 bytes
.../sysdev-kernel-building/sysdev-kernel-building.tex | 17 +++++++++++------
2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/slides/sysdev-kernel-building/kconfig-dependencies.png b/slides/sysdev-kernel-building/kconfig-dependencies.png
new file mode 100644
index 00000000..7f69acb3
Binary files /dev/null and b/slides/sysdev-kernel-building/kconfig-dependencies.png differ
diff --git a/slides/sysdev-kernel-building/sysdev-kernel-building.tex b/slides/sysdev-kernel-building/sysdev-kernel-building.tex
index 680cb799..1106f7b6 100644
--- a/slides/sysdev-kernel-building/sysdev-kernel-building.tex
+++ b/slides/sysdev-kernel-building/sysdev-kernel-building.tex
@@ -26,12 +26,12 @@
First, specify the architecture for the kernel to build
\begin{itemize}
\item Set it to the name of a directory under \kdir{arch}:\\
- \code{export ARCH=arm}
+ \code{export ARCH=arm}
\item By default, the kernel build system assumes that the
kernel is configured and built for the host architecture
(\code{x86} in our case, native kernel compiling)
\item The kernel build system will use this setting to:
- \begin{itemize}
+ \begin{itemize}
\item Use the configuration options for the target
architecture.
\item Compile the kernel with source code and headers
@@ -150,7 +150,7 @@
\begin{frame}
\frametitle{Kernel option types}
- There are different types of options
+ There are different types of options, defined in \code{Kconfig} files:
\begin{itemize}
\item \code{bool} options, they are either
\begin{itemize}
@@ -169,13 +169,15 @@
\end{itemize}
\end{frame}
-\begin{frame}
+\begin{frame}[fragile]
\frametitle{Kernel option dependencies}
+ There are dependencies between kernel options
\begin{itemize}
- \item There are dependencies between kernel options
\item For example, enabling a network driver requires the network
stack to be enabled
- \item Two types of dependencies
+ \item Two types of dependencies:
+ \begin{columns}
+ \column{0.5\textwidth}
\begin{itemize}
\item \code{depends on} dependencies. In this case, option B that
depends on option A is not visible until option A is enabled
@@ -184,6 +186,9 @@
automatically enabled. In particular, such dependencies are
used to declare what features a hardware architecture supports.
\end{itemize}
+ \column{0.4\textwidth}
+ \includegraphics[width=\textwidth]{slides/sysdev-kernel-building/kconfig-dependencies.png}
+ \end{columns}
\item With the \code{Show All Options} option, \code{make xconfig} allows
to see all options, even the ones that cannot be selected because of
missing dependencies. Values for dependencies are shown.
More information about the training-materials-updates
mailing list