summaryrefslogtreecommitdiff
path: root/distribution/yocto-intro/yocto-intro.tex
blob: 14cde2d06b1e28b9542213bf007fce9cdfd73078 (plain)
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
\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 / distribution
	\begin{description}
		\item[BitBake] build-engine
		\item[Toaster] graphical user interface for BitBake
		\item[meta] shared base layer of recipes and classes
		\item[Example BSPs] for qemux86, mpc8315e-rdb, beaglebone
	\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 and tiny-init)
	\item Yocto Linux kernel
	\item build recipes for common open-source software from openembedded
	\item able to generate toolchains for several architectures
	\item documentation
\end{itemize}
release cycle: about 6 months
\end{frame}

\begin{frame}
\frametitle{Yocto/Poky releases}
\begin{tabular}{llr}
date    & yocto version   &  poky version \\
\hline
04.2013 & 1.4 (dylan)     &   9.0 \\
10.2013 & 1.5 (dora)      &  10.0 \\
04.2014 & 1.6 (daisy)     &  11.0 \\
12.2014 & 1.7 (dizzy)     &  12.0 \\
06.2015 & 1.8 (fido)      &  13.0 \\
02.2016 & 2.0 (jethro)    &  14.0 \\
04.2016 & 2.1 (krogoth)   &  15.0 \\
11.2016 & 2.2 (morty)     &  16.0 \\
05.2017 & 2.3 (pyro)      &  17.0 \\
10.2017 & 2.4 (rocko)     &  18.0 \\
\end{tabular}
\end{frame}

\begin{frame}[fragile]
\frametitle{statistics}

\begin{tabular}{l|rrr}
                  & 04.2014     & 05.2016     & 04.2017 \\
\hline
age (days/active) & 3.275/2.498 & 3.885/3.063 & 4.221/3303 \\
total files       & 4.775       & 5.309       & 5.428 \\
lines of code     & 743.995     & 632.849     & 666.773 \\
commits           & 30.841      & 39.709      & 43.042 \\
commits/day       & 9,4         & 10,2        & 13,0 \\
authors           & 475         & 701         & 752 \\
\end{tabular}
\end{frame}

\begin{frame}[fragile]
\frametitle{who made Yocto?}
\begin{tabular}{l|rrrr}
domain               & commits '14 & commits '17 & \% 2014 & \% 2017  \\
\hline
intel.com            & 9.201       &      12.187 & 29,83\% & 28,31\%  \\
linux.intel.com      & 5.882       &       8.707 & 19,07\% & 20,23\%  \\
openedhand.com       & 5.423       &       5.423 & 17,58\% & 12,60\%  \\
windriver.com        & 2.827       &       4.815 &  9,17\% & 11,19\%  \\
linuxfoundation.org  & 2.625       &       3.696 &  8,51\% &  8,59\%  \\
gmail.com            & 1.904       &       3.622 &  6,17\% &  8,42\%  \\
mentor.com           &   626       &         822 &  2,03\% &  1,91\%  \\
ossystems.com.br     &   206       &         297 &  0,67\% &  0,69\%  \\
dominion.thruhere.net&   187       &         193 &  0,61\% &  0,45\%  \\
freescale.com        &   159       &         187 &  0,52\% &  0,43\%  \\
\end{tabular}
\end{frame}

\begin{frame}
\frametitle{Yocto principles}
\begin{itemize}
	\item poky provides a collection of software build recipes
	\item customize build recipe 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}