[FE training-materials-updates] Split kernel source code lab

Michael Opdenacker michael.opdenacker at free-electrons.com
Thu Sep 19 06:02:11 CEST 2013


Repository : git://git.free-electrons.com/training-materials.git

On branch  : kernel-ng
Link       : http://git.free-electrons.com/training-materials/commit/?id=06cd3d341991d3c75edffcf5785bb61a15199c1a

>---------------------------------------------------------------

commit 06cd3d341991d3c75edffcf5785bb61a15199c1a
Author: Michael Opdenacker <michael.opdenacker at free-electrons.com>
Date:   Thu Sep 19 06:00:14 2013 +0200

    Split kernel source code lab
    
    - One part for cloning the git tree
    - Lectures while this runs
    - Second part for exploring the kernel sources
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at free-electrons.com>


>---------------------------------------------------------------

06cd3d341991d3c75edffcf5785bb61a15199c1a
 Makefile                                           |    8 +--
 .../kernel-sources-download.tex}                   |   51 +++-----------------
 .../kernel-sources-exploring.tex                   |   46 ++++++++++++++++++
 .../kernel-source-code-download-lab.tex            |    7 +++
 .../kernel-source-code-exploring-lab.tex           |    8 +++
 .../kernel-source-code-lab-source-code.tex         |   10 ----
 6 files changed, 74 insertions(+), 56 deletions(-)

diff --git a/Makefile b/Makefile
index 9e48063..d251dbc 100644
--- a/Makefile
+++ b/Makefile
@@ -18,17 +18,18 @@ KERNEL_SLIDES = \
 		course-information-title \
 		kernel-beagleboneblack \
 		course-information \
+		setup-lab \
 		kernel-introduction-title \
 		sysdev-linux-intro-features \
 		sysdev-linux-intro-versioning \
-		setup-lab \
 		kernel-embedded-linux-usage-title \
 		kernel-linux-intro-sources \
+		kernel-source-code-download-lab \
 		kernel-source-code-title \
 		kernel-source-code-drivers \
 		kernel-source-code-layout \
 		kernel-source-code-management \
-		kernel-source-code-lab-source-code \
+		kernel-source-code-exploring-lab \
 		sysdev-linux-intro-configuration \
 		sysdev-linux-intro-compilation \
 		sysdev-linux-intro-cross-compilation \
@@ -218,7 +219,8 @@ SYSDEV_LABS   = setup \
 		backup
 
 KERNEL_LABS   = setup \
-		kernel-sources \
+		kernel-sources-download \
+		kernel-sources-exploring \
 		kernel-module-environment \
 		kernel-module-simple \
 		kernel-serial-iomem \
diff --git a/labs/kernel-sources/kernel-sources.tex b/labs/kernel-sources-download/kernel-sources-download.tex
similarity index 50%
rename from labs/kernel-sources/kernel-sources.tex
rename to labs/kernel-sources-download/kernel-sources-download.tex
index 5f47eec..7ce7116 100644
--- a/labs/kernel-sources/kernel-sources.tex
+++ b/labs/kernel-sources-download/kernel-sources-download.tex
@@ -1,21 +1,14 @@
-\subchapter{Kernel source code}{Objective: Get familiar with the
-  kernel source code}
-
-After this lab, you will be able to:
-
-\begin{itemize}
-
-\item Get your own copy of the mainline Linux kernel source tree
-\item Explore the sources in search for files, function headers or
-  other kinds of information...
-\item Browse the kernel sources with tools like \code{cscope} and LXR.
-\end{itemize}
+\subchapter{Downloading kernel source code}{Get your own copy of the
+mainline Linux kernel source tree}
 
 \section{Setup}
 
 Go to the \code{$HOME/felabs/linux/modules} directory.
 
-First, install required software packages:
+\section{Installing git packages}
+
+First, let's install software packages that we will need
+throughout the practical labs:
 
 \begin{verbatim}
 sudo apt-get install git gitk git-email
@@ -66,33 +59,5 @@ Of course, if you directly ran \code{git clone}, you won't have run
 \code{git pull} today. You may run \code{git pull} every morning though,
 or at least every time you need an update of the upstream source tree.
 
-\section{Get familiar with the sources}
-
-As a Linux kernel user, you will very often need to find which file
-implements a given function. So, it is useful to be familiar with
-exploring the kernel sources.
-
-\begin{enumerate}
-\item Find the Linux logo image in the sources
-\item Find who the maintainer of the 3C505 network driver is.
-\item Find the declaration of the \code{platform_device_register()} function.
-\end{enumerate}
-
-Tip: if you need the \code{grep} command, we advise you to use \code{git
-grep}. This command is similar, but much faster, doing the search only
-on the files managed by git (ignoring git internal files and generated
-files). 
-
-\section{Use a kernel source indexing tool}
-
-Now that you know how to do things in a manual way, let's use more
-automated tools.
-
-Try LXR (Linux Cross Reference) at \url{http://lxr.free-electrons.com}
-and choose the Linux version closest to yours.
-
-If you don't have Internet access, you can use \code{cscope} instead.
-
-As in the previous section, use this tool to find where
-the \code{platform_device_register()} is declared, implemented and
-even used.
+Now, let's continue the lectures. This will leave time for the commands
+that you typed to complete their execution (if needed).
diff --git a/labs/kernel-sources-exploring/kernel-sources-exploring.tex b/labs/kernel-sources-exploring/kernel-sources-exploring.tex
new file mode 100644
index 0000000..b6376cf
--- /dev/null
+++ b/labs/kernel-sources-exploring/kernel-sources-exploring.tex
@@ -0,0 +1,46 @@
+\subchapter{Kernel source code}{Objective: Get familiar with the
+  kernel source code}
+
+After this lab, you will be able to:
+
+\begin{itemize}
+
+\item Explore the sources in search for files, function headers or
+  other kinds of information...
+\item Browse the kernel sources with tools like \code{cscope} and LXR.
+\end{itemize}
+
+\section{Setup}
+
+Stay in the \code{$HOME/felabs/linux/modules} directory.
+
+\section{Exploring the sources manually}
+
+As a Linux kernel user, you will very often need to find which file
+implements a given function. So, it is useful to be familiar with
+exploring the kernel sources.
+
+\begin{enumerate}
+\item Find the Linux logo image in the sources
+\item Find who the maintainer of the 3C505 network driver is.
+\item Find the declaration of the \code{platform_device_register()} function.
+\end{enumerate}
+
+Tip: if you need the \code{grep} command, we advise you to use \code{git
+grep}. This command is similar, but much faster, doing the search only
+on the files managed by git (ignoring git internal files and generated
+files). 
+
+\section{Use a kernel source indexing tool}
+
+Now that you know how to do things in a manual way, let's use more
+automated tools.
+
+Try LXR (Linux Cross Reference) at \url{http://lxr.free-electrons.com}
+and choose the Linux version closest to yours.
+
+If you don't have Internet access, you can use \code{cscope} instead.
+
+As in the previous section, use this tool to find where
+the \code{platform_device_register()} is declared, implemented and
+even used.
diff --git a/slides/kernel-source-code-download-lab/kernel-source-code-download-lab.tex b/slides/kernel-source-code-download-lab/kernel-source-code-download-lab.tex
new file mode 100644
index 0000000..b3872ea
--- /dev/null
+++ b/slides/kernel-source-code-download-lab/kernel-source-code-download-lab.tex
@@ -0,0 +1,7 @@
+\setuplabframe
+{Get Linux Kernel Source Code}
+{
+  \begin{itemize}
+  \item Clone the mainline Linux source tree with git
+  \end{itemize}
+}
diff --git a/slides/kernel-source-code-exploring-lab/kernel-source-code-exploring-lab.tex b/slides/kernel-source-code-exploring-lab/kernel-source-code-exploring-lab.tex
new file mode 100644
index 0000000..3c25ccb
--- /dev/null
+++ b/slides/kernel-source-code-exploring-lab/kernel-source-code-exploring-lab.tex
@@ -0,0 +1,8 @@
+\setuplabframe
+{Kernel Source Code - Exploring}
+{
+  \begin{itemize}
+  \item Explore kernel sources manually
+  \item Use automated tools to explore the source code
+  \end{itemize}
+}
diff --git a/slides/kernel-source-code-lab-source-code/kernel-source-code-lab-source-code.tex b/slides/kernel-source-code-lab-source-code/kernel-source-code-lab-source-code.tex
deleted file mode 100644
index 247e130..0000000
--- a/slides/kernel-source-code-lab-source-code/kernel-source-code-lab-source-code.tex
+++ /dev/null
@@ -1,10 +0,0 @@
-\setuplabframe
-{Kernel Source Code}
-{
-  \begin{itemize}
-  \item Get the Linux kernel sources
-  \item Apply patches
-  \item Explore sources manually
-  \item Use automated tools to explore the source code
-  \end{itemize}
-}
\ No newline at end of file



More information about the training-materials-updates mailing list