1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
|
\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 (beaglebone-black)
\item Build a predefined image (beaglebone-black)
\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}
|