\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 Build configuration \item Using BSP layers (fsl/ti) \item Define a distribution \item Create layers \& recipes \item Create images \item Yocto \& ELBE combined \end{itemize} \end{itemize} \end{frame} \begin{frame} \frametitle{Yocto is \dots} \begin{itemize} \item an Ecosystem (not a single open-source project) \item a collection of embedded projects and tooling \item a place for Industry to publish BSPs \item NOT an embedded Linux distribution \end{itemize} \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 \item[BitBake] build-engine \item[Hob] graphical user interface for BitBake \item[OpenEmbedded Core] shared base layer of recipes and classes \item[ADT] development environment for user-space applications \item[Eclipse IDE Plugin] integration of ADT into the Eclipse IDE \item[EGLIBC] embedded variant of the GNU C library \item[Matchbox] X-Windows-based open source graphical UI for embedded devices \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) \item Yocto Linux kernel \item build recipes for common open-source software \item toolchains for several architectures \item documentation \end{itemize} release cycle: 6 months \end{frame} \begin{frame} \frametitle{statistics} \begin{description} \item[Generated] 2014-08-19 18:16:11 (in 228 seconds) \item[Generator] GitStats (version 2013.12.07) \item[Report Period] 2005-08-31 12:45:47 to 2014-08-18 16:21:54 \item[Age] 3275 days, 2498 active days (76.27%) \item[Total Files] 4775 \item[Total Lines of Code] 743995 (15398000 added, 14654005 removed) \item[Total Commits] 30841 (average 12.3 commits per active day, 9.4 per all days) \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 \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) \item customize blueprints for your own needs \item distinguishing between app and system developers \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? \item security tracking? \item optimizations needed on all binaries? \item cross-compile wanted? \end{itemize} \end{frame} \input{tailpres}