summaryrefslogtreecommitdiff
path: root/distribution/yocto-advanced/yocto-img-customization.tex
diff options
context:
space:
mode:
Diffstat (limited to 'distribution/yocto-advanced/yocto-img-customization.tex')
-rw-r--r--distribution/yocto-advanced/yocto-img-customization.tex74
1 files changed, 74 insertions, 0 deletions
diff --git a/distribution/yocto-advanced/yocto-img-customization.tex b/distribution/yocto-advanced/yocto-img-customization.tex
new file mode 100644
index 0000000..85599b7
--- /dev/null
+++ b/distribution/yocto-advanced/yocto-img-customization.tex
@@ -0,0 +1,74 @@
+\begin{frame}[fragile]
+\frametitle{adding a bootscript}
+\begin{itemize}
+ \item add 'systemd' to DISTRO\_FEATURES
+\pause
+ \item inherit from systemd.bbclass
+\pause
+ \item your package needs to set SYSTEMD\_SERVICE variable; e.g.
+ \begin{verbatim}
+SYSTEMD_SERVICE_${PN} = "connman.service"
+ \end{verbatim}
+\pause
+ \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 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}
+ \frametitle{Application Development Excercise}
+\begin{itemize}
+\item generate a standalone or integrated SDK
+\item configure the SDK in eclipse
+\item build and remote debug yesterdays application on the beaglebone-black
+\item integrate the application into the image
+\item build the image including your application
+\end{itemize}
+\end{frame}