\subsection{Remote Debugging}
\begin{frame}
\frametitle{Workflow}
\begin{itemize}
\item Introduce 'SCHULUNG\_FEATURES' variable
\item Check feature variable in image recipe
\item Use debugging tools from poky layer
\end{itemize}
\end{frame}

\begin{frame}[fragile]
\frametitle{Extend image recipe}
\begin{lstlisting}
$ cd ~/poky/meta-schulung
$ pluma recipes-core/image/core-image-schulung.bb
\end{lstlisting}
\begin{verbatim}
[..]
DEVPKGS = "gdbserver tcf-agent procps strace"
CORE_IMAGE_BASE_INSTALL = " \
 schulung-base \
 kernel-modules \
 example \
 ${@bb.utils.contains('SCHULUNG_FEATURES','devel','${DEVPKGS}','', d)} \
"
[..]
\end{verbatim}
\end{frame}

\begin{frame}[fragile]
\frametitle{Define SCHULUNG\_FEATURES and rebuild image}
\begin{lstlisting}
$ cd ~/poky/build-schulung
$ pluma conf/local.conf
\end{lstlisting}
\begin{verbatim}
#STATE_DIR ?= "/home/prebuilt/vexpress/sstate-cache"
#BB_NO_NETWORK = "1"
MACHINE ??= "vexpress"
DL_DIR ?= "/home/downloads"
DISTRO ?= "schulung"
PACKAGE_CLASSES ?= "package_ipk"
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
SCHULUNG_FEATURES = "devel"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
CONF_VERSION = "1"
\end{verbatim}
\begin{lstlisting}
$ bitbake core-image-schulung
$ bitbake -c populate_sdk core-image-schulung
\end{lstlisting}
If image is started in qemu tcf-agent needs to be started manually:
\begin{lstlisting}
Please press Enter to activate this console.
/ # /etc/init.d/tcf-agent start
\end{lstlisting}
\end{frame}
