[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