From 5d9043ce4f07dbc63a2996874e798de4a83538c2 Mon Sep 17 00:00:00 2001 From: Manuel Traut Date: Tue, 27 Nov 2018 22:57:33 +0100 Subject: add 'yocto-layer-example' This is a first attemp to create a new slideset for day2 of yocto-trainig. The slideset is based on 'yocto-advanced' but with integration of 'meta-schulung' explanations. I used a slightly modified version of 'meta-schulung'. The following changes are currently not available in git: I don't use linux-yocto in meta-schulung, but use an own kernel-recipe and integrate the RT-PREEMPT patch. wic: i can't see the need for the second partition and the need for huge files in the kconfig. It works for me by adding ' --align 1024 ' to the wic setup. I decided to use ext2 instead of ext4. I renamed the rootfs.bb file into schulung-base.bb I use the u-boot recipe from poky. However i don't use u-boot for anything atm. But bootloader is on our agenda.. Signed-off-by: Manuel Traut --- distribution/yocto-example-layer/customization.tex | 79 ++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 distribution/yocto-example-layer/customization.tex (limited to 'distribution/yocto-example-layer/customization.tex') diff --git a/distribution/yocto-example-layer/customization.tex b/distribution/yocto-example-layer/customization.tex new file mode 100644 index 0000000..0cd7969 --- /dev/null +++ b/distribution/yocto-example-layer/customization.tex @@ -0,0 +1,79 @@ +\subsection{Image customizations} +\begin{frame}[fragile] +\frametitle{Adding a bootscript} +\begin{itemize} +\item Add 'systemd' to DISTRO\_FEATURES +\item Inherit from systemd.bbclass +\item Your package needs to set SYSTEMD\_SERVICE variable; e.g. +\begin{verbatim} +SYSTEMD_SERVICE_${PN} = "connman.service" +\end{verbatim} +\item To disable the service, set SYSTEMD\_AUTO\_ENABLE to 'disable' +\end{itemize} +\end{frame} + +\begin{frame}[fragile] +\frametitle{User and group configuration} +Use this in an image recipe: +\begin{verbatim} +inherit extrausers +EXTRA_USERS_PARAMS = "\ + useradd -p '' tester; \ + groupadd developers; \ + userdel nobody; \ + groupdel -g video; \ + groupmod -g 1020 developers; \ + usermod -s /bin/sh tester; \ + " +\end{verbatim} +Or the useradd class for creating a user if a package is installed. +For an example see useradd-example.bb +\end{frame} + +\begin{frame}[fragile] +\frametitle{External sources} +E.g. for a heavily customized kernel +\begin{itemize} +\item Kernel source directory on the development machine +\item Inherit externalsrc class +\item Set EXTERNALSRC variable to point to your external source code +\end{itemize} + +This local.conf extension: +\begin{verbatim} +INHERIT += "externalsrc" +EXTERNALSRC_pn-myrecipe = "/some/path/to/your/source/tree" +\end{verbatim} +overrides the SOURCE\_URI of pn-myrecipe.bb +\end{frame} + +\begin{frame}[fragile] +\frametitle{Blacklist packages} +To blacklist a package, inherit the blacklist.bbclass globally and set +PNBLACKLIST for each recipe you wish to blacklist. + + +Specify the PN value as a variable flag (varflag) and provide a reason, +which is reported, if the package is requested to be built as the value: +\begin{verbatim} +INHERIT += "blacklist" +PNBLACKLIST[exoticware] = "Not supported by our organization." +\end{verbatim} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Override oe-init-buildenv templates} +Default templates can be overridden by setting TEMPLATECONF +to e.g. meta-foo/conf during ./oe-init-buildenv. + +Then meta-foo/conf bblayers.conf.sample and local.conf.sample will +be used. + +The default location is specified in + +\begin{verbatim} +% cat .templateconf +# Template settings +TEMPLATECONF=${TEMPLATECONF:-meta-yocto/conf} +\end{verbatim} +\end{frame} -- cgit v1.2.3