[bootlin/training-materials updates] master: sysdev/beagleplay: add builroot sys_int lab (6e21c48c)
Michael Opdenacker
michael.opdenacker at bootlin.com
Mon Aug 7 16:25:55 CEST 2023
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/6e21c48c6e93747c043f179ade890e98f04354f4
>---------------------------------------------------------------
commit 6e21c48c6e93747c043f179ade890e98f04354f4
Author: Clément Ramirez <clement.ramirez at bootlin.com>
Date: Thu Jul 13 15:19:53 2023 +0200
sysdev/beagleplay: add builroot sys_int lab
>---------------------------------------------------------------
6e21c48c6e93747c043f179ade890e98f04354f4
labs/sysdev-buildroot/sysdev-buildroot.tex | 55 +++++++++++++++++++---
.../sysdev-system-integration.tex | 12 ++++-
mk/embedded-linux-beagleplay.mk | 2 +
3 files changed, 60 insertions(+), 9 deletions(-)
diff --git a/labs/sysdev-buildroot/sysdev-buildroot.tex b/labs/sysdev-buildroot/sysdev-buildroot.tex
index 4b73dd74..1e7e1574 100644
--- a/labs/sysdev-buildroot/sysdev-buildroot.tex
+++ b/labs/sysdev-buildroot/sysdev-buildroot.tex
@@ -107,7 +107,11 @@ button whenever you need more details about a given option:
\begin{itemize}
\item \code{Target options}
\begin{itemize}
+ \ifdefstring{\labboard}{beagleplay}{
+ \item \code{Target Architecture}: \code{AArch64 (little endian)}
+ }{
\item \code{Target Architecture}: \code{ARM (little endian)}
+ }
\ifdefstring{\labboard}{stm32mp1}{
\item \code{Target Architecture Variant}: \code{cortex-A7}
}{
@@ -115,18 +119,28 @@ button whenever you need more details about a given option:
\item \code{Target Architecture Variant}: \code{cortex-A9}
\item \code{Enable NEON SIMD extension support}: Enabled
\item \code{Enable VFP extension support}: Enabled
- }{%beaglebone
- \item \code{Target Architecture Variant}: \code{cortex-A8}
+ }{%beaglebone or beagleplay
+ \ifdefstring{\labboard}{beagleplay}{
+ \item \code{Target Architecture Variant}: \code{cortex-A53}
+ }{
+ \item \code{Target Architecture Variant}: \code{cortex-A8}
+ }
}
}
+ \ifdefstring{\labboard}{beagleplay}{}{
\item \code{Target ABI}: \code{EABIhf}
+ }
\ifdefstring{\labboard}{stm32mp1}{
\item \code{Floating point strategy}: \code{VFPv4}
}{
\ifdefstring{\labboard}{qemu}{
\item \code{Floating point strategy}: \code{VFPv3-D16}
- }{%beaglebone
- \item \code{Floating point strategy}: \code{VFPv3-D16}
+ }{%beaglebone or beagleplay
+ \ifdefstring{\labboard}{beagleplay}{
+ \item \code{Floating point strategy}: \code{FP-ARMv8}
+ }{
+ \item \code{Floating point strategy}: \code{VFPv3-D16}
+ }
}
}
\end{itemize}
@@ -135,10 +149,14 @@ button whenever you need more details about a given option:
\item \code{Toolchain type}: \code{External toolchain}
\item \code{Toolchain}: \code{Custom toolchain}
\item \code{Toolchain path}: use the toolchain you built:
- \code{/home/<user>/x-tools/arm-training-linux-musleabihf}
+ \ifdefstring{\labboard}{beagleplay}{
+ \code{/home/<user>/x-tools/aarch64-training-linux-musl}
+ }{
+ \code{/home/<user>/x-tools/arm-training-linux-musleabihf}
+ }
(replace \code{<user>} by your actual user name)
\item \code{External toolchain gcc version}: \code{12.x}
- \item \code{External toolchain kernel headers series}: \texttt{\workingkernel.x or later}
+ \item \code{External toolchain kernel headers series}: \ifdefstring{\labboard}{beagleplay}{\texttt{6.1 or later}}{\texttt{\workingkernel.x or later}}
\item \code{External toolchain C library}: \code{musl (experimental)}
\item We must tell Buildroot about our toolchain configuration, so
select \code{Toolchain has SSP support?} and
@@ -148,7 +166,12 @@ button whenever you need more details about a given option:
\item \code{Kernel}
\begin{itemize}
\item Enable \code{Linux Kernel}
+ \if\defstring{\labboard}{beagleplay}
+ \item Set \code{Kernel version} to \code{Custom version}
+ \item Set \code{Kernel version} to \code{6.4}
+ \else
\item Set \code{Kernel version} to \code{Latest version (6.1)}
+ \fi
\item Set \code{Custom kernel patches} to \code{board/bootlin/training/0001-Custom-DTS-for-Bootlin-lab.patch}
\item Set \code{Kernel configuration} to \code{Using a custom (def)config file})
\item Set \code{Configuration file path} to \code{board/bootlin/training/linux.config}
@@ -156,6 +179,8 @@ button whenever you need more details about a given option:
\item Set \code{In-tree Device Tree Source file names} to
\ifdefstring{\labboard}{stm32mp1}{\code{stm32mp157a-dk1-custom}}{}
\ifdefstring{\labboard}{beaglebone}{\code{am335x-boneblack-custom}}{}
+ \ifdefstring{\labboard}{beagleplay}{\code{ti/k3-am625-beagleplay-custom}}{}
+ \ifdefstring{\labboard}{beagleplay}{\item Set \code{Kernel Binary format} to \code{Image.gz}}{}
\end{itemize}
\item \code{Target packages}
\begin{itemize}
@@ -450,7 +475,7 @@ the package:
\begin{verbatim}
NUNCHUK_DRIVER_VERSION = 1.0
-NUNCHUK_DRIVER_SITE = $(HOME)/embedded-linux-labs/hardware/data/nunchuk
+NUNCHUK_DRIVER_SITE = $(HOME)/__SESSION_NAME__-labs/hardware/data/nunchuk
NUNCHUK_DRIVER_SITE_METHOD = local
NUNCHUK_DRIVER_LICENSE = GPL-2.0
@@ -471,6 +496,21 @@ Now that we have the \code{nunchuk} driver loaded and that Buildroot compiled
\code{evtest} for the target, thanks to Buildroot, we can now test the input
events coming from the Nunchuk.
+
+\if\defstring{\labboard}{beagleplay}
+\begin{bashinput}
+# evtest
+No device specified, trying to scan all of /dev/input/event*
+Available devices:
+/dev/input/event0: gpio-keys
+/dev/input/event1: GN Netcom A/S Jabra EVOLVE 20 MS
+/dev/input/event2: GN Netcom A/S Jabra EVOLVE 20 MS
+/dev/input/event3: GN Netcom A/S Jabra EVOLVE 20 MS
+/dev/input/event4: GN Netcom A/S Jabra EVOLVE 20 MS Consumer Control
+/dev/input/event5: Wii Nunchuk
+Select the device event number [0-5]:
+\end{bashinput}
+\else
\begin{bashinput}
# evtest
No device specified, trying to scan all of /dev/input/event*
@@ -481,6 +521,7 @@ Available devices:
/dev/input/event3: Wii Nunchuk
Select the device event number [0-3]:
\end{bashinput}
+\fi
Enter the number corresponding to the Nunchuk device.
diff --git a/labs/sysdev-system-integration/sysdev-system-integration.tex b/labs/sysdev-system-integration/sysdev-system-integration.tex
index 11dd7d07..91fdbf72 100644
--- a/labs/sysdev-system-integration/sysdev-system-integration.tex
+++ b/labs/sysdev-system-integration/sysdev-system-integration.tex
@@ -52,7 +52,8 @@ Configure Buildroot as follows:
This time, we will use a Bootlin ready-made toolchain for {\em
glibc}, as this is necessary for using {\em systemd}.
\item \code{Toolchain origin}: \code{Toolchain to be downloaded and installed}
- \item \code{Bootlin toolchain variant}: \code{armv7-eabihf glibc bleeding-edge 2022.08-1}
+ \item \code{Bootlin toolchain variant}: \ifdefstring{\labboard}{beagleplay}
+ {\code{aarch64 glibc bleeding-edge 2022.08-1}}{\code{armv7-eabihf glibc bleeding-edge 2022.08-1}}
\item Select \code{Copy gdb server to the Target}
\end{itemize}
\item \code{System configuration}
@@ -63,7 +64,12 @@ Configure Buildroot as follows:
\item \code{Kernel}
\begin{itemize}
\item Enable \code{Linux Kernel}
+ \if\defstring{\labboard}{beagleplay}
+ \item Set \code{Kernel version} to \code{Custom version}
+ \item Set \code{Kernel version} to \code{6.4}
+ \else
\item Set \code{Kernel version} to \code{Latest version (6.1)}
+ \fi
\item Set \code{Custom kernel patches} to \code{board/bootlin/training/0001-Custom-DTS-for-Bootlin-lab.patch}
\item Set \code{Kernel configuration} to \code{Using a custom (def)config file})
\item Set \code{Configuration file path} to \code{board/bootlin/training/linux.config}
@@ -71,6 +77,8 @@ Configure Buildroot as follows:
\item Set \code{In-tree Device Tree Source file names} to
\ifdefstring{\labboard}{stm32mp1}{\code{stm32mp157a-dk1-custom}}{}
\ifdefstring{\labboard}{beaglebone}{\code{am335x-boneblack-custom}}{}
+ \ifdefstring{\labboard}{beagleplay}{\code{ti/k3-am625-beagleplay-custom}}{}
+ \ifdefstring{\labboard}{beagleplay}{\item Set \code{Kernel Binary format} to \code{Image.gz}}{}
\end{itemize}
\item \code{Target packages}
\begin{itemize}
@@ -231,7 +239,7 @@ Here you will recognize our Nunchuk device through its \code{0x52}
address.
\begin{bashinput}
-# cd 1-0052
+# cd %\ifdefstring{\labboard}{beagleplay}{3}{1}%-0052
# ls -la
# cat modalias
of:NjoystickT(null)Cnintendo,nunchuk
diff --git a/mk/embedded-linux-beagleplay.mk b/mk/embedded-linux-beagleplay.mk
index 835ee85c..cf1f5ba5 100644
--- a/mk/embedded-linux-beagleplay.mk
+++ b/mk/embedded-linux-beagleplay.mk
@@ -58,3 +58,5 @@ EMBEDDED_LINUX_BEAGLEPLAY_LABS = setup \
sysdev-accessing-hardware-beagleplay \
sysdev-block-filesystems-beagleplay \
sysdev-thirdparty-beagleplay \
+ sysdev-buildroot \
+ sysdev-system-integration \
More information about the training-materials-updates
mailing list