\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}