[FE training-materials-updates] Minor updates and improvements
Michael Opdenacker
michael.opdenacker at free-electrons.com
Mon Dec 5 15:35:25 CET 2016
Repository : git://git.free-electrons.com/training-materials.git
On branch : master
Link : http://git.free-electrons.com/training-materials/commit/?id=19152906178a86e80f5f582130c4b99852ca62fd
>---------------------------------------------------------------
commit 19152906178a86e80f5f582130c4b99852ca62fd
Author: Michael Opdenacker <michael.opdenacker at free-electrons.com>
Date: Wed Nov 16 15:46:06 2016 +0100
Minor updates and improvements
Signed-off-by: Michael Opdenacker <michael.opdenacker at free-electrons.com>
>---------------------------------------------------------------
19152906178a86e80f5f582130c4b99852ca62fd
.../beagleboneblack-board.tex | 16 +--
.../open-source-hardware-logo.svg | 113 +++++++++++++++++++++
slides/kernel-frameworks2/kernel-frameworks2.tex | 8 +-
slides/kernel-input/kernel-input.tex | 4 +-
.../kernel-power-management-content.tex | 2 +-
.../kernel-source-code-drivers.tex | 10 +-
.../kernel-source-code-layout.tex | 41 ++++----
.../sysdev-linux-intro-compilation.tex | 2 +-
.../sysdev-linux-intro-cross-compilation.tex | 2 +-
9 files changed, 158 insertions(+), 40 deletions(-)
diff --git a/slides/beagleboneblack-board/beagleboneblack-board.tex b/slides/beagleboneblack-board/beagleboneblack-board.tex
index 1fef093..dac9ca4 100644
--- a/slides/beagleboneblack-board/beagleboneblack-board.tex
+++ b/slides/beagleboneblack-board/beagleboneblack-board.tex
@@ -5,22 +5,22 @@
\column{0.65\textwidth}
\footnotesize
\begin{itemize}
- \item Texas Instruments AM335x (ARM Cortex-A8)
- \item Powerful CPU, with 3D acceleration, additional processors
+ \item Texas Instruments AM335x (ARM Cortex-A8 CPU)
+ \item SoC with 3D acceleration, additional processors
(PRUs) and lots of peripherals.
\item 512 MB of RAM
- \item 2 GB of on-board eMMC storage\\
- (4 GB in Rev C)
- \item USB host and USB device ports
- \item microSD slot
- \item HDMI port
+ \item 4 GB of on-board eMMC storage
+ \item Ethernet, USB host and USB device, microSD, micro HDMI
\item 2 x 46 pins headers, with access to many expansion buses
(I2C, SPI, UART and more)
\item A huge number of expansion boards, called {\em capes}.
See \url{http://beagleboardtoys.com/}.
\end{itemize}
\column{0.35\textwidth}
- \includegraphics[width=\textwidth]{slides/beagleboneblack-board/beagleboneblack.png}
+ \begin{center}
+ \includegraphics[width=\textwidth]{slides/beagleboneblack-board/beagleboneblack.png}\\
+ \includegraphics[width=0.5\textwidth]{slides/beagleboneblack-board/open-source-hardware-logo.pdf}
+ \end{center}
\end{columns}
\end{frame}
diff --git a/slides/beagleboneblack-board/open-source-hardware-logo.svg b/slides/beagleboneblack-board/open-source-hardware-logo.svg
new file mode 100644
index 0000000..bb463bf
--- /dev/null
+++ b/slides/beagleboneblack-board/open-source-hardware-logo.svg
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.2"
+ id="Layer_1"
+ x="0px"
+ y="0px"
+ viewBox="0 0 172.238 180.994"
+ xml:space="preserve"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="Open-source-hardware-logo.svg"
+ inkscape:export-filename="/home/mike/git.free-electrons.com/training-materials/slides/beagleboneblack-board/open-source-hardware-logo.png"
+ inkscape:export-xdpi="52.253277"
+ inkscape:export-ydpi="52.253277"><metadata
+ id="metadata43"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs41" /><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1633"
+ inkscape:window-height="912"
+ id="namedview39"
+ showgrid="false"
+ inkscape:zoom="1.3039106"
+ inkscape:cx="-30.836867"
+ inkscape:cy="90.497002"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="Layer_1" /><path
+ fill="#0099B0"
+ d="M152.336,57.604l-16.439-3.057c-0.4-0.075-0.838-0.451-0.973-0.837l-5.039-11.756 c-0.188-0.363-0.152-0.933,0.08-1.271l9.578-13.96c0.229-0.336,0.184-0.847-0.105-1.136l-11.963-11.963 c-0.289-0.289-0.799-0.336-1.135-0.105l-14.205,9.748c-0.336,0.231-0.912,0.272-1.277,0.092l-11.396-4.665 c-0.387-0.128-0.764-0.561-0.84-0.962L95.457,0.729C95.383,0.328,94.988,0,94.58,0H77.66c-0.407,0-0.802,0.328-0.876,0.729 L73.62,17.732c-0.076,0.401-0.452,0.834-0.84,0.962l-11.397,4.665c-0.366,0.18-0.942,0.139-1.277-0.092l-14.204-9.748 c-0.337-0.231-0.848-0.184-1.136,0.105L32.802,25.587c-0.288,0.289-0.336,0.8-0.105,1.136l9.579,13.96 c0.23,0.338,0.266,0.908,0.079,1.271l-5.04,11.756c-0.134,0.386-0.571,0.762-0.973,0.837l-16.438,3.057 c-0.402,0.076-0.729,0.47-0.729,0.878l0.001,16.919c0,0.408,0.328,0.805,0.729,0.878l16.035,2.984 c0.401,0.073,0.83,0.454,0.952,0.843l5.006,12.505c0.179,0.367,0.137,0.941-0.095,1.277l-9.108,13.273 c-0.23,0.336-0.183,0.848,0.105,1.137l11.965,11.963c0.288,0.287,0.799,0.334,1.136,0.105l13.038-8.949 c0.336-0.23,0.899-0.248,1.25-0.043l5.75,3.07c0.364,0.186,0.789,0.029,0.945-0.348L78.74,85.449c0.157-0.377,0-0.858-0.348-1.071 l-1.439-0.881c-0.266-0.162-0.627-0.441-0.91-0.697c-5.191-3.324-8.635-9.139-8.635-15.761c0-10.334,8.378-18.711,18.711-18.711 c10.333,0,18.71,8.377,18.71,18.711c0,6.622-3.443,12.437-8.635,15.761c-0.281,0.256-0.643,0.535-0.908,0.697l-1.439,0.881 c-0.346,0.213-0.504,0.694-0.348,1.071l11.855,28.648c0.156,0.377,0.58,0.533,0.945,0.348l5.75-3.07 c0.352-0.205,0.914-0.188,1.25,0.043l13.039,8.949c0.336,0.229,0.848,0.182,1.135-0.105l11.965-11.963 c0.289-0.289,0.336-0.801,0.105-1.137l-9.109-13.273c-0.23-0.336-0.273-0.91-0.094-1.277l5.006-12.505 c0.123-0.389,0.549-0.77,0.951-0.843l16.035-2.984c0.4-0.073,0.729-0.47,0.729-0.878l0.002-16.919 C153.064,58.074,152.736,57.68,152.336,57.604"
+ id="path3" /><path
+ fill-rule="evenodd"
+ fill="#0099B0"
+ d="M45.597,180.781h3.613v-12.254c0-4.426-3.046-5.914-7.473-5.914 c-2.692,0-4.675,0.707-6.056,2.621l2.833,2.16c0.637-1.027,1.523-1.383,3.4-1.383c2.585,0,3.683,0.604,3.683,2.303v1.877h-4.994 c-3.86,0-5.843,2.445-5.843,5.313c0,3.117,2.337,5.49,6.339,5.49c2.444,0,3.684-0.566,4.427-1.807h0.071V180.781z M45.597,174.476 c0,2.799-1.027,3.117-4.037,3.117c-2.444,0-3.401-1.063-3.401-2.266c0-1.311,0.992-2.162,3.118-2.162h4.32V174.476z"
+ id="path5" /><path
+ fill-rule="evenodd"
+ fill="#0099B0"
+ d="M53.178,180.781h3.612v-10.803c0-2.619,1.736-3.754,3.507-3.754 c0.921,0,1.523,0.248,2.373,0.887l2.62-3.117c-1.098-0.85-2.301-1.381-3.754-1.381c-1.912,0-3.542,0.709-4.675,2.125H56.79v-1.912 h-3.612V180.781z"
+ id="path7" /><path
+ fill-rule="evenodd"
+ fill="#0099B0"
+ d="M76.095,180.781h3.612v-25.217h-3.612v9.174c-1.346-1.275-2.798-2.125-4.64-2.125 c-2.196,0-3.789,0.99-4.816,2.338c-0.992,1.273-1.275,2.441-1.275,6.836c0,4.426,0.283,5.594,1.275,6.869 c1.027,1.346,2.62,2.338,4.816,2.338c1.842,0,3.507-0.852,4.64-2.09V180.781z M72.553,166.224c3.365,0,3.542,2.977,3.542,5.563 c0,2.621-0.177,5.594-3.542,5.594c-3.4,0-3.577-2.797-3.577-5.594C68.976,169.023,69.153,166.224,72.553,166.224"
+ id="path9" /><polygon
+ fill-rule="evenodd"
+ fill="#0099B0"
+ points="98.143,180.781 101.332,180.781 107.068,162.826 103.242,162.826 99.809,175.398 99.736,175.398 95.664,162.826 93.043,162.826 88.971,175.398 88.9,175.398 85.464,162.826 81.64,162.826 87.377,180.781 90.564,180.781 94.318,168.208 94.389,168.208 "
+ id="polygon11" /><path
+ fill-rule="evenodd"
+ fill="#0099B0"
+ d="M118.186,180.781h3.613v-12.254c0-4.426-3.047-5.914-7.473-5.914 c-2.691,0-4.676,0.707-6.057,2.621l2.834,2.16c0.637-1.027,1.521-1.383,3.398-1.383c2.586,0,3.684,0.604,3.684,2.303v1.877h-4.994 c-3.859,0-5.844,2.445-5.844,5.313c0,3.117,2.338,5.49,6.34,5.49c2.443,0,3.684-0.566,4.428-1.807h0.07V180.781z M118.186,174.476 c0,2.799-1.027,3.117-4.037,3.117c-2.443,0-3.4-1.063-3.4-2.266c0-1.311,0.992-2.162,3.117-2.162h4.32V174.476z"
+ id="path13" /><path
+ fill-rule="evenodd"
+ fill="#0099B0"
+ d="M125.768,180.781h3.611v-10.803c0-2.619,1.734-3.754,3.506-3.754 c0.922,0,1.523,0.248,2.373,0.887l2.621-3.117c-1.098-0.85-2.303-1.381-3.754-1.381c-1.912,0-3.541,0.709-4.674,2.125h-0.072v-1.912 h-3.611V180.781z"
+ id="path15" /><path
+ fill-rule="evenodd"
+ fill="#0099B0"
+ d="M152.748,173.167v-2.977c0-4.639-3.434-7.578-7.4-7.578 c-3.471,0-7.402,2.266-7.402,9.242c0,7.367,4.285,9.139,7.969,9.139c2.408,0,4.709-0.85,6.48-2.904l-2.621-2.232 c-1.063,1.1-2.551,1.736-3.93,1.736c-2.48,0-4.285-1.488-4.285-4.426H152.748z M141.559,170.191c0.07-2.727,1.664-4.18,3.789-4.18 s3.684,1.453,3.789,4.18H141.559z"
+ id="path17" /><path
+ fill-rule="evenodd"
+ fill="#0099B0"
+ d="M0,143.425c0,3.895,0.566,5.383,1.947,6.906c0.992,1.098,2.657,2.301,5.455,2.301 c2.797,0,4.462-1.203,5.454-2.301c1.381-1.523,1.948-3.012,1.948-6.906c0-3.861-0.567-5.348-1.948-6.871 c-0.992-1.098-2.657-2.303-5.454-2.303c-2.798,0-4.463,1.205-5.455,2.303C0.566,138.078,0,139.564,0,143.425 M11.191,143.46 c0,2.586-0.212,3.293-0.885,4.25c-0.532,0.744-1.665,1.311-2.904,1.311c-1.24,0-2.373-0.566-2.904-1.311 c-0.673-0.957-0.886-1.664-0.886-4.285c0-2.586,0.213-3.295,0.886-4.25c0.531-0.744,1.664-1.311,2.904-1.311 c1.239,0,2.372,0.566,2.904,1.311C10.979,140.13,11.191,140.839,11.191,143.46"
+ id="path19" /><path
+ fill-rule="evenodd"
+ fill="#0099B0"
+ d="M49.469,144.806v-2.975c0-4.641-3.435-7.58-7.401-7.58 c-3.472,0-7.402,2.268-7.402,9.244c0,7.365,4.285,9.137,7.968,9.137c2.409,0,4.71-0.85,6.481-2.904l-2.621-2.23 c-1.062,1.098-2.549,1.736-3.93,1.736c-2.48,0-4.286-1.488-4.286-4.428H49.469z M38.278,141.832c0.071-2.729,1.665-4.18,3.79-4.18 s3.683,1.451,3.789,4.18H38.278z"
+ id="path21" /><path
+ fill-rule="evenodd"
+ fill="#0099B0"
+ d="M52.552,152.419h3.612v-10.693c0-2.445,1.523-3.861,3.577-3.861 c2.019,0,3.542,1.416,3.542,3.861v10.693h3.612v-11.934c0-4.074-3.187-6.234-5.985-6.234c-1.912,0-3.542,0.709-4.674,2.125h-0.072 v-1.912h-3.612V152.419z"
+ id="path23" /><path
+ fill-rule="evenodd"
+ fill="#0099B0"
+ d="M76.662,149.41c2.302,2.16,4.994,3.223,7.898,3.223c4.179,0,7.437-2.018,7.437-5.525 c0-2.867-1.486-5.135-5.206-5.383l-2.975-0.211c-1.806-0.143-2.372-0.922-2.372-1.701c0-1.238,0.779-2.16,3.08-2.16 c1.949,0,3.402,0.674,4.818,1.664l2.23-2.619c-1.771-1.488-3.895-2.445-7.049-2.445c-3.789,0-6.693,1.877-6.693,5.525 c0,3.08,2.196,4.852,5.17,5.1l3.188,0.283c1.241,0.105,2.196,0.496,2.196,1.771c0,1.523-1.489,2.301-3.542,2.301 c-2.408,0-4.108-0.777-5.666-2.301L76.662,149.41z"
+ id="path25" /><path
+ fill-rule="evenodd"
+ fill="#0099B0"
+ d="M94.051,143.425c0,3.895,0.568,5.383,1.949,6.906c0.992,1.098,2.656,2.301,5.453,2.301 c2.799,0,4.463-1.203,5.455-2.301c1.381-1.523,1.947-3.012,1.947-6.906c0-3.861-0.566-5.348-1.947-6.871 c-0.992-1.098-2.656-2.303-5.455-2.303c-2.797,0-4.461,1.205-5.453,2.303C94.619,138.078,94.051,139.564,94.051,143.425 M105.242,143.46c0,2.586-0.211,3.293-0.885,4.25c-0.531,0.744-1.664,1.311-2.904,1.311c-1.238,0-2.373-0.566-2.902-1.311 c-0.674-0.957-0.887-1.664-0.887-4.285c0-2.586,0.213-3.295,0.887-4.25c0.529-0.744,1.664-1.311,2.902-1.311 c1.24,0,2.373,0.566,2.904,1.311C105.031,140.13,105.242,140.839,105.242,143.46"
+ id="path27" /><path
+ fill-rule="evenodd"
+ fill="#0099B0"
+ d="M111.939,146.4c0,4.072,3.188,6.232,6.021,6.232c1.875,0,3.506-0.709,4.639-2.125h0.07 v1.914h3.611v-17.957h-3.611v10.695c0,2.443-1.523,3.861-3.543,3.861c-2.053,0-3.576-1.418-3.576-3.861v-10.695h-3.611V146.4z"
+ id="path29" /><path
+ fill-rule="evenodd"
+ fill="#0099B0"
+ d="M130.242,152.419h3.613v-10.801c0-2.621,1.734-3.754,3.506-3.754 c0.922,0,1.523,0.248,2.373,0.885l2.621-3.117c-1.1-0.85-2.301-1.381-3.754-1.381c-1.912,0-3.543,0.709-4.676,2.125h-0.07v-1.912 h-3.613V152.419z"
+ id="path31" /><path
+ fill-rule="evenodd"
+ fill="#0099B0"
+ d="M153.859,147.144c-0.885,1.098-2.16,1.877-3.646,1.877 c-2.939,0-4.676-1.666-4.676-5.563c0-3.93,1.736-5.594,4.676-5.594c1.486,0,2.762,0.779,3.646,1.877l2.656-2.373 c-1.557-1.807-3.719-3.117-6.445-3.117c-4.143,0-8.145,2.621-8.145,9.207c0,6.555,4.002,9.174,8.145,9.174 c2.727,0,4.889-1.311,6.445-3.115L153.859,147.144z"
+ id="path33" /><path
+ fill-rule="evenodd"
+ fill="#0099B0"
+ d="M172.238,144.806v-2.975c0-4.641-3.438-7.58-7.402-7.58 c-3.473,0-7.402,2.268-7.402,9.244c0,7.365,4.285,9.137,7.969,9.137c2.408,0,4.711-0.85,6.48-2.904l-2.621-2.23 c-1.063,1.098-2.549,1.736-3.93,1.736c-2.48,0-4.285-1.488-4.285-4.428H172.238z M161.047,141.832c0.07-2.729,1.664-4.18,3.789-4.18 s3.682,1.451,3.789,4.18H161.047z"
+ id="path35" /><path
+ fill="#0099B0"
+ d="M25.041,149.021c3.4,0,3.577-2.799,3.577-5.561c0-2.799-0.177-5.596-3.577-5.596 c-3.364,0-3.542,2.975-3.542,5.596C21.499,146.046,21.676,149.021,25.041,149.021 M17.873,180.781v-46.316h3.626v1.877 c1.134-1.24,2.798-2.09,4.64-2.09c2.195,0,3.79,0.992,4.817,2.338c0.991,1.275,1.274,2.443,1.274,6.871 c0,4.391-0.283,5.561-1.274,6.834c-1.027,1.346-2.622,2.338-4.817,2.338c-1.842,0-3.294-0.85-4.64-2.125l-0.013,14.23 c1.204-1.416,2.833-2.125,4.745-2.125c2.798,0,5.985,2.16,5.985,6.232v11.936h-3.612v-10.695c0-2.445-1.523-3.861-3.542-3.861 c-2.054,0-3.576,1.416-3.576,3.861v10.695H17.873z"
+ id="path37" /></svg>
\ No newline at end of file
diff --git a/slides/kernel-frameworks2/kernel-frameworks2.tex b/slides/kernel-frameworks2/kernel-frameworks2.tex
index 902f733..a393964 100644
--- a/slides/kernel-frameworks2/kernel-frameworks2.tex
+++ b/slides/kernel-frameworks2/kernel-frameworks2.tex
@@ -433,7 +433,7 @@ struct rtl8150 {
\end{frame}
\begin{frame}
- \frametitle{Link Between Structures 1/4}
+ \frametitle{Links between structures 1/4}
\begin{itemize}
\item The framework typically contains a \kstruct{device} \code{*}
pointer that the driver must point to the corresponding
@@ -455,7 +455,7 @@ struct rtl8150 {
\end{frame}
\begin{frame}[fragile]
- \frametitle{Link Between Structures 2/4}
+ \frametitle{Links between structures 2/4}
\begin{columns}
\column{0.7\textwidth}
\begin{minted}[fontsize=\tiny]{c}
@@ -532,7 +532,7 @@ static int serial_imx_remove(struct platform_device *pdev)
\end{frame}
\begin{frame}[fragile]
- \frametitle{Link Between Structures 3/4}
+ \frametitle{Links between structures 3/4}
\begin{columns}
\column{0.7\textwidth}
\begin{minted}[fontsize=\tiny]{c}
@@ -573,7 +573,7 @@ static int ds1305_remove(struct spi_device *spi)
\end{frame}
\begin{frame}[fragile]
- \frametitle{Link Between Structures 4/4}
+ \frametitle{Links between structures 4/4}
\begin{columns}
\column{0.7\textwidth}
\begin{minted}[fontsize=\tiny]{c}
diff --git a/slides/kernel-input/kernel-input.tex b/slides/kernel-input/kernel-input.tex
index 6d8faf9..96ba590 100644
--- a/slides/kernel-input/kernel-input.tex
+++ b/slides/kernel-input/kernel-input.tex
@@ -1,6 +1,6 @@
\section{The input subsystem}
-\begin{frame}{What is input subsystem?}
+\begin{frame}{What is the input subsystem?}
\begin{itemize}
\item The input subsystem takes care of all the input events coming
from the human user.
@@ -85,7 +85,7 @@ struct input_dev {
\begin{frame}[fragile]{Input subsystem API 2/3}
\begin{itemize}
- \item Depending on the type of event that will be generated, the
+ \item Depending on the type of events that will be generated, the
input bit fields \code{evbit} and \code{keybit} must be configured:
For example, for a button we only generate
\ksym{EV_KEY} type events, and from these only \ksym{BTN_0} events
diff --git a/slides/kernel-power-management-content/kernel-power-management-content.tex b/slides/kernel-power-management-content/kernel-power-management-content.tex
index cd091ff..776b673 100644
--- a/slides/kernel-power-management-content/kernel-power-management-content.tex
+++ b/slides/kernel-power-management-content/kernel-power-management-content.tex
@@ -306,7 +306,7 @@
\item \url{http://elinux.org/images/d/dd/Intro_Kernel_PM.svg}
\item \url{https://www.youtube.com/watch?v=Um0oRanCtzY}
\end{itemize}
- \item Tips and ideas for prolonging battery life
+ \item Tips and ideas for prolonging battery life (Amit Kucheria)
\begin{itemize}
\item \url{http://j.mp/fVdxKh}
\end{itemize}
diff --git a/slides/kernel-source-code-drivers/kernel-source-code-drivers.tex b/slides/kernel-source-code-drivers/kernel-source-code-drivers.tex
index c7ba468..50945d1 100644
--- a/slides/kernel-source-code-drivers/kernel-source-code-drivers.tex
+++ b/slides/kernel-source-code-drivers/kernel-source-code-drivers.tex
@@ -16,7 +16,7 @@
\item Many gcc specific extensions used in the kernel code, any
ANSI C compiler will not compile the kernel
\item See
- \url{https://gcc.gnu.org/onlinedocs/gcc-5.3.0/gcc/C-Extensions.html}
+ \url{https://gcc.gnu.org/onlinedocs/gcc-6.2.0/gcc/C-Extensions.html}
\end{itemize}
\item Ongoing work to compile the kernel with the LLVM compiler.
\end{itemize}
@@ -26,10 +26,12 @@
\frametitle{No C library}
\begin{itemize}
\item The kernel has to be standalone and can't use user space code.
- \item User space is implemented on top of kernel services, not the
+ \item Architectural reason: user space is implemented on top of kernel services, not the
opposite.
- \item Kernel code has to supply its own library implementations
- (string utilities, cryptography, uncompression ...)
+ \item Technical reason: the kernel is on its own during the boot up
+ phase, before it has accessed a root filesystem.
+ \item Hence, kernel code has to supply its own library implementations
+ (string utilities, cryptography, uncompression...)
\item So, you can't use standard C library functions in kernel code.
(\code{printf()}, \code{memset()}, \code{malloc()},...).
\item Fortunately, the kernel provides similar C functions for your
diff --git a/slides/kernel-source-code-layout/kernel-source-code-layout.tex b/slides/kernel-source-code-layout/kernel-source-code-layout.tex
index 2fff47d..33a752f 100644
--- a/slides/kernel-source-code-layout/kernel-source-code-layout.tex
+++ b/slides/kernel-source-code-layout/kernel-source-code-layout.tex
@@ -37,7 +37,10 @@
\begin{itemize}
\item \kpath{Documentation/}
\begin{itemize}
- \item Kernel documentation. Don't miss it!
+ \item Kernel documentation.\\
+ Also available on \url{http://free-electrons.com/kerneldoc/}\\
+ (result of \code{make htmldocs}, extracting prototypes and comments
+ from source code).
\end{itemize}
\item \kpath{drivers/}
\begin{itemize}
@@ -59,6 +62,12 @@
\begin{itemize}
\item Linux kernel core headers
\end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Linux sources structure 3/5}
+ \begin{itemize}
\item \kpath{include/uapi/}
\begin{itemize}
\item User space API headers
@@ -71,12 +80,6 @@
\begin{itemize}
\item Code used for process communication
\end{itemize}
- \end{itemize}
-\end{frame}
-
-\begin{frame}
- \frametitle{Linux sources structure 3/5}
- \begin{itemize}
\item \kpath{Kbuild}
\begin{itemize}
\item Part of the kernel build system
@@ -93,6 +96,12 @@
\begin{itemize}
\item Misc library routines (zlib, crc32...)
\end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Linux sources structure 4/5}
+ \begin{itemize}
\item \kpath{MAINTAINERS}
\begin{itemize}
\item Maintainers of each kernel part. Very useful!
@@ -105,12 +114,6 @@
\begin{itemize}
\item Memory management code (small too!)
\end{itemize}
- \end{itemize}
-\end{frame}
-
-\begin{frame}
- \frametitle{Linux sources structure 4/5}
- \begin{itemize}
\item \kpath{net/}
\begin{itemize}
\item Network support code (not drivers)
@@ -127,6 +130,12 @@
\begin{itemize}
\item Sample code (markers, kprobes, kobjects...)
\end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Linux sources structure 5/5}
+ \begin{itemize}
\item \kpath{scripts/}
\begin{itemize}
\item Scripts for internal or external use
@@ -143,12 +152,6 @@
\begin{itemize}
\item Code for various user space tools (mostly C)
\end{itemize}
- \end{itemize}
-\end{frame}
-
-\begin{frame}
- \frametitle{Linux sources structure 5/5}
- \begin{itemize}
\item \kpath{usr/}
\begin{itemize}
\item Code to generate an initramfs cpio archive
diff --git a/slides/sysdev-linux-intro-compilation/sysdev-linux-intro-compilation.tex b/slides/sysdev-linux-intro-compilation/sysdev-linux-intro-compilation.tex
index 7523a67..643c608 100644
--- a/slides/sysdev-linux-intro-compilation/sysdev-linux-intro-compilation.tex
+++ b/slides/sysdev-linux-intro-compilation/sysdev-linux-intro-compilation.tex
@@ -24,7 +24,7 @@
\item \code{arch/<arch>/boot/dts/*.dtb}, compiled Device Tree
files (on some architectures)
\item All kernel modules, spread over the kernel source tree, as
- \code{.ko} files.
+ \code{.ko} ({\em Kernel Object}) files.
\end{itemize}
\end{itemize}
\end{frame}
diff --git a/slides/sysdev-linux-intro-cross-compilation/sysdev-linux-intro-cross-compilation.tex b/slides/sysdev-linux-intro-cross-compilation/sysdev-linux-intro-cross-compilation.tex
index c2bff8e..adfe2c7 100644
--- a/slides/sysdev-linux-intro-cross-compilation/sysdev-linux-intro-cross-compilation.tex
+++ b/slides/sysdev-linux-intro-cross-compilation/sysdev-linux-intro-cross-compilation.tex
@@ -167,7 +167,7 @@
\item \code{make install} is rarely used in embedded development, as the
kernel image is a single file, easy to handle
\begin{itemize}
- \item It is however possible to customize the make install
+ \item It is however possible to customize the \code{make install}
behaviour in \code{arch/<arch>/boot/install.sh}
\end{itemize}
\item \code{make modules_install} is used even in embedded
More information about the training-materials-updates
mailing list