diff --git a/slides/kernel-porting-content/kernel-porting-content.tex b/slides/kernel-porting-content/kernel-porting-content.tex index 708b8f489..fbf410190 100644 --- a/slides/kernel-porting-content/kernel-porting-content.tex +++ b/slides/kernel-porting-content/kernel-porting-content.tex @@ -14,7 +14,7 @@ \item For example, some architectures use the Device Tree, some do not. \end{itemize} - \item This presentation is focused on the \code{arm} (32 bit) architecture only + \item This presentation is mainly focused on the ARM (32-bit) architecture \end{itemize} \end{frame} @@ -23,9 +23,10 @@ \begin{itemize} \item In the source tree, each architecture has its own directory \begin{itemize} - \item \kdir{arch/arm} for the ARM architecture + \item \kdir{arch/arm} for the ARM 32-bit architecture + \item \kdir{arch/arm64} for the ARM 64-bit architecture \end{itemize} - \item This directory contains generic ARM code + \item The \kdir{arch/arm} directory contains generic ARM code \begin{itemize} \item \kreldir{arch/arm}{boot}, \kreldir{arch/arm}{common}, \kreldir{arch/arm}{configs}, \kreldir{arch/arm}{kernel}, @@ -35,20 +36,18 @@ \end{itemize} \item And many directories for different SoC families \begin{itemize} - \item \code{mach-*} directories: \kreldir{arch/arm}{mach-pxa} for PXA CPUs, - \kreldir{arch/arm}{mach-imx} for Freescale iMX CPUs, etc. + \item \code{mach-*} directories: \kreldir{arch/arm}{mach-pxa} for PXA SoCs, + \kreldir{arch/arm}{mach-imx} for Freescale iMX SoCs, etc. They + essentially contain: \begin{itemize} - \item Before the ARM cleanup, these directories contained - support for the SoC family (GPIO, clocks, pinmux, power - management, interrupt controller, etc.) and for the various - boards. - \item Nowadays, they contain a lot less code, essentially a - small SoC description file, power management and SMP code. + \item a small SoC description file + \item power management code + \item SMP code \end{itemize} \end{itemize} - \item Some CPU types share some code, in directories named + \item Some SoC families share some code, in directories named \code{plat-*} - \item Device Tree source files in \kdir{arch/arm/boot/dts}. + \item Device Tree source files are in \kdir{arch/arm/boot/dts} \end{itemize} \end{frame} @@ -108,6 +107,8 @@ \end{itemize} \item Modify \kfile{arch/arm/boot/dts/Makefile} to make sure your Device Tree gets built as a {\em DTB} during the kernel build. + \item Tweak an existing configuration that matches your SoC and save + it as \code{_defconfig} in \kdir{arch/arm/configs} \item If needed, develop the missing device drivers for the devices that are on your board outside the SoC. \end{enumerate} diff --git a/slides/kernel-porting-title/kernel-porting-title.tex b/slides/kernel-porting-title/kernel-porting-title.tex index 43fc1266c..5918178d0 100644 --- a/slides/kernel-porting-title/kernel-porting-title.tex +++ b/slides/kernel-porting-title/kernel-porting-title.tex @@ -1 +1 @@ -\section{Porting the Linux Kernel to an ARM Board} +\section{Porting the Linux kernel to an ARM board}