\input{configpres}

\title{YOCTO - Intro}
\maketitle

\begin{frame}
\frametitle{Agenda}
\begin{itemize}
	\item Intro
	\begin{itemize}
		\item What is Yocto?
		\item History
		\item Yocto compared with other methods
	\end{itemize}
	\pause
	\item Basics
	\begin{itemize}
		\item Understand the workflow
		\item Build predefined images
		\item Using ADT
	\end{itemize}
	\pause
	\item Advanced
	\begin{itemize}
		\item Using BSP layers
		\item Build a predefined image
		\item Define a distribution
		\item Create layers \& recipes
		\item Create images
	\end{itemize}
\end{itemize}
\end{frame}

\begin{frame}
\frametitle{Yocto is \dots}
\begin{itemize}
	\item an Ecosystem (not a single open-source project)
	\pause
	\item a collection of embedded projects and tooling
	\pause
	\item a place for Industry to publish BSPs
	\pause
	\item NOT an embedded Linux distribution
\end{itemize}
	\pause
\dots used to build a Linux system from source in about an hour \footnote{quad i7, 16GB
	RAM, fast disks, needed}
\end{frame}

\begin{frame}
\frametitle{the Yocto project family}
\begin{description}
	\item[Poky] reference build system
	\begin{description}
		\item[BitBake] build-engine
		\item[Hob] graphical user interface for BitBake
		\item[OpenEmbedded Core] shared base layer of recipes and classes
	\end{description}
	\item[ADT] development environment for user-space applications
	\item[Eclipse IDE Plugin] integration of ADT into the Eclipse IDE
\end{description}
\end{frame}

\begin{frame}
\frametitle{Poky is \dots}
the Yocto key project; a reference distribution consisting of
\begin{itemize}
	\item a build system for Linux (openembedded + customized busybox,
		psplash, alsa-state, formfactor, uclibc and tiny-init)
	\pause
	\item Yocto Linux kernel
	\pause
	\item build recipes for common open-source software
	\pause
	\item toolchains for several architectures
	\pause
	\item documentation
\end{itemize}
release cycle: 6 months
\end{frame}

\begin{frame}
\frametitle{statistics 2015}
\begin{description}
\item[Generated] 2015-04-29 09:25:24 (in 199 seconds)
\item[Generator] GitStats (version 2013.12.07)
\item[Report Period] 2005-08-31 12:45:47 to 2015-04-27 19:10:40
\item[Age] 3527 days, 2732 active days (77.46%)
\item[Total Files] 5147
\item[Total Lines of Code] 661023 (15597747 added, 14936724 removed)
\item[Total Commits] 33870

(average 12.4 commits per active day, 9.6 per all days)
\item[Authors] 564
\end{description}
\end{frame}

\begin{frame}
\frametitle{statistics 2014}
\begin{description}
\item[Generated] 2014-08-19 18:16:11 (in 228 seconds)
	\pause
\item[Generator] GitStats (version 2013.12.07)
	\pause
\item[Report Period] 2005-08-31 12:45:47 to 2014-08-18 16:21:54
	\pause
\item[Age] 3275 days, 2498 active days (76.27%)
	\pause
\item[Total Files] 4775
	\pause
\item[Total Lines of Code] 743995 (15398000 added, 14654005 removed)
	\pause
\item[Total Commits] 30841

(average 12.3 commits per active day, 9.4 per all days)
	\pause
\item[Authors] 475
\end{description}
\end{frame}

\begin{frame}[fragile]
\frametitle{who made Yocto?}
commits by domain
\begin{verbatim}
intel.com	9201 (29.83%)
linux.intel.com	5882 (19.07%)
openedhand.com	5423 (17.58%)
windriver.com	2827 (9.17%)
linuxfoundation.org	2625 (8.51%)
gmail.com	1904 (6.17%)
mentor.com	626 (2.03%)
ossystems.com.br	206 (0.67%)
dominion.thruhere.net	187 (0.61%)
freescale.com	159 (0.52%)
\end{verbatim}
\end{frame}

\begin{frame}
\frametitle{OpenEmbedded}
\begin{itemize}
	\item open-source project providing a cross-build framework for embedded Linux
	\pause
	\item recipes for toolchain, bootloader, kernel, lttng, user-space packages
\end{itemize}
\end{frame}

\begin{frame}
\frametitle{Yocto pincipals}
\begin{itemize}
	\item validated collection of software (toolchain, kernel, user-space)
	\pause
	\item customize blueprints for your own needs
	\pause
	\item distinguishing between app and system developers
	\pause
	\item layer model for modular development, reuse, and customizations
\end{itemize}
\end{frame}


\begin{frame}
\frametitle{cross-build vs. binary distribution}
\begin{itemize}
	\item men-power needed for building an own distribution?
	\pause
	\item security tracking?
	\pause
	\item optimizations needed on all binaries?
	\pause
	\item cross-compile wanted?
\end{itemize}
\end{frame}

\input{tailpres}
