From 4cc020af6ba102daa77f8fb4b9a5dd422d06e7d4 Mon Sep 17 00:00:00 2001
From: Manuel Traut <manut@linutronix.de>
Date: Thu, 28 Aug 2014 16:08:04 +0200
Subject: add slides about adt and sdk

this stuff sucks even more than the bitbake chaos

Signed-off-by: Manuel Traut <manut@linutronix.de>
---
 distribution/yocto-basic/pres_yocto-basic.tex | 165 +++++++++++++++++++++++++-
 1 file changed, 159 insertions(+), 6 deletions(-)

(limited to 'distribution/yocto-basic/pres_yocto-basic.tex')

diff --git a/distribution/yocto-basic/pres_yocto-basic.tex b/distribution/yocto-basic/pres_yocto-basic.tex
index 67b5bd3..1c55196 100644
--- a/distribution/yocto-basic/pres_yocto-basic.tex
+++ b/distribution/yocto-basic/pres_yocto-basic.tex
@@ -1218,26 +1218,179 @@ Profiling Tools
 \end{frame}
 
 \begin{frame}[fragile]
-\frametitle{build a toolchain}
+\frametitle{build a external usable toolchain}
 \begin{verbatim}
 poky/build % bitbake meta-toolchain
 \end{verbatim}
 \vspace{2em}
-tmp/deploy/sdk/poky-eglibc-x86\_64-meta-toolchain-i586-toolchain-1.6.1.sh
+\pause
+to install the toolchain:
+\begin{verbatim}
+% ./tmp/deploy/sdk/poky-eglibc-x86\_64-meta-toolchain-i586-toolchain-1.6.1.sh
+Enter target directory for SDK (default: /opt/poky/1.6.1): /home/devel/sdk
+\end{verbatim}
+\pause
+to use the toolchain:
+\begin{verbatim}
+source /home/local/sdk/environment-setup-i586-poky-linux
+\end{verbatim}
 \end{frame}
 
 \begin{frame}[fragile]
-\frametitle{build adt installer}
+\frametitle{build a internal usable toolchain}
+\begin{verbatim}
+poky/build % bitbake meta-ide-support
+\end{verbatim}
+\vspace{2em}
+\end{frame}
+
+\begin{frame}
+\frametitle{export a nfsroot}
+\begin{verbatim}
+%runqemu-extract-sdk \
+tmp/deploy/images/qemux86/core-image-minimal-qemux86.tar.bz2 \
+~/sdk/core-image-minimal
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{build ADT installer script}
 \begin{verbatim}
 poky/build % bitbake adt-installer
+poky/build % cp tmp/deploy/sdk/adt_installer.tar.bz2 ~/
+poky/build % cd
+% cp tmp/deploy/sdk/adt_installer.tar.bz2 ~/
+% tar xjf adt_installer.tar.bz2
+% cd adt-installer
 \end{verbatim}
+\end{frame}
+
+\begin{frame}
+\frametitle{configure ADT installer}
+general configuration
+\begin{description}
+\item[YOCTOADT\_REPO] http repo with rootfs images and ipkg packages.
+	Needs to match the layout from 'http://adtrepo.yoctoproject.org'
+\pause
+\item[YOCTOADT\_TARGETS] machine target architectures to setup cross SDKs
+\pause
+\item[YOCTOADT\_QEMU] install qemu? \[Y/N\]
+\pause
+\item[YOCTOADT\_NFS\_UTIL] needed for eclipse \[Y/N\]
+\end{description}
+\end{frame}
+
+\begin{frame}
+\frametitle{configure ADT installer \#2}
+configuration for each supported BSP
+\begin{description}
+\item[YOCTOADT\_TARGET\_MACHINE\_<arch>] qemu that should be used, e.g. qemux86
+\pause
+\item[YOCTOADT\_ROOTFS\_<arch>] rfs images that should be used, e.g. sato-sdk
+\pause
+\item[YOCTOADT\_TARGET\_SYSROOT\_<arch>] needs to match above variable
+\pause
+\item[YOCTOADT\_TARGET\_SYSROOT\_LOC\_<arch>] path where the sysroot will be
+	stored
+\end{description}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{run ADT installer}
+\begin{verbatim}
+adt-installer % ./adt_installer
+Please enter the install location (default: /opt/poky/1.6.1): <return>
+...
+[ADT_INST] Please enter your selections here:
+S<return>
+...
+\end{verbatim}
+\pause
+to use the ADT, the environment needs to be sourced:
+\begin{verbatim}
+% .  /opt/poky/1.6.1/environment-setup-i586-poky-linux
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{ADT \& Eclipse}
+only supported eclipse releases: kepler \& juno
+
+
 \vspace{2em}
-tmp/deploy/sdk/adt\_installer.tar.bz2
+install and start eclipse:
+\begin{verbatim}
+% wget http://ftp.fau.de/eclipse/technology/epp/downloads/release/kepler/R/eclipse-cpp-kepler-R-linux-gtk.tar.gz
+% tar xzf eclipse-*.tar.gz
+% ./eclipse/eclipse
+\end{verbatim}
+\pause
+add the yocto update-site (Help, Install New Software, Add\dots)
+\begin{verbatim}
+http://downloads.yoctoproject.org/releases/eclipse-plugin/1.6/kepler/
+\end{verbatim}
+select and install all components, by clicking
+'Next, Next, Accept Licenses, Finish, Accept installing from insecure source,
+and accept to restart eclipse'
+\pause
+goto 'Help, Install New Software, Add\dots' again and
+select 'Kepler' as update site and select 'Linux Tools' and
+'Mobile and Device Development'; select 'Next' until you can
+'Finish' and quit eclipse
+\end{frame}
+
+\begin{frame}
+\frametitle{configure Eclipse}
+\begin{itemize}
+	\item select 'Window, Preferences, Yocto Project ADT'
+	\item select 'Standalone pre-built toolchain'
+	\item set Toolchain Root Location '/home/devel/src/poky/build'
+	\item set Sysroot Location '/home/devel/poky/build/tmp/sysroots/qemux86'
+	\item use 'QEMU' as 'Target Options'
+	\item set Kernel to
+		'/home/devel/adt-installer/download\_image/bzImage-qemux86.bin'
+	\item 'Apply' the Settings and close the dialog with 'OK'
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Hello World example}
+\begin{itemize}
+	\item select 'File, New, Project\dots'
+	\item select 'C/C++, C Project'
+	\item select 'Yocto Project ADT Autotools Project, Hello World ANSI C Project'
+	\item enter a 'Project name' and select 'Next'
+	\item enter 'Basic settings' and select 'Finish'
+	\item if opened, close the 'Welcome' window
+	\item right click on the root project folder and select 'Reconfigure Project'
+	\item right click on the root project folder and select 'Build Project'
+\end{itemize}
 \end{frame}
 
 \begin{frame}
-\frametitle{SDK usage}
-bla
+\frametitle{start qemu}
+\begin{itemize}
+	\item select 'Run, External Tools, External Tools Configurations\dots'
+	\item select 'Program, qemu\_i586-poky'
+	\item edit the arguments that they match:
+\begin{verbatim}
+-e "source /opt/poky/1.6.1/environment-setup-i586-poky-
+linux;runqemu qemux86 /home/local/adt-installer/download_image/
+bzImage-qemux86.bin /home/local/sdk/core-image-minimal ;bash"
+\end{verbatim}
+	\item select 'Apply, Run'
+\end{itemize}
+Attention! This starts a NFS Server on a user port that listens on all network
+interfaces of the PC
+\end{frame}
+
+\begin{frame}
+\frametitle{remote execution and debugging}
+\begin{itemize}
+	\item seems to be broken at the moment, or works different than documented
+	\item it should be possible, if ssh is added to the image and an ssh
+		remote connection will be used.
+\end{itemize}
 \end{frame}
 
 \input{tailpres}
-- 
cgit v1.2.3

