[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