summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel Traut <manut@linutronix.de>2014-11-03 20:06:51 +0100
committerManuel Traut <manut@linutronix.de>2014-11-03 20:06:51 +0100
commit66abaeb80f436576cc0562749480e94d7193856b (patch)
treec144e2f5c0fe4bcea6013541535b6020e08e4462
parentde1e8381e43031c2915cc2c9c5795c3142ca3b7b (diff)
add elbe 1.0 overview slides
Signed-off-by: Manuel Traut <manut@linutronix.de>
-rw-r--r--distribution/Kconfig1
-rw-r--r--distribution/elbe-overview/Kconfig5
-rw-r--r--distribution/elbe-overview/Makefile1
-rw-r--r--distribution/elbe-overview/pres_elbe-overview_en.tex496
-rw-r--r--images/Dresden_Elbe_Terrassenufer.jpgbin0 -> 1449986 bytes
-rw-r--r--images/distri.jpgbin0 -> 190338 bytes
-rw-r--r--images/elbe-build.pngbin0 -> 108276 bytes
-rw-r--r--images/elbe-buildchroot.pngbin0 -> 116823 bytes
-rw-r--r--images/elbe-db-users.pngbin0 -> 7595 bytes
-rw-r--r--images/elbe-db.pngbin0 -> 61842 bytes
-rw-r--r--images/elbe-init.pngbin0 -> 112584 bytes
-rw-r--r--images/elbe-io-chart.pngbin0 -> 97033 bytes
-rw-r--r--images/elbe-login.pngbin0 -> 58489 bytes
-rw-r--r--images/elbe-logo.pngbin0 -> 9038 bytes
-rw-r--r--images/elbe-modify.pngbin0 -> 117066 bytes
-rw-r--r--images/elbe-open.pngbin0 -> 60107 bytes
-rw-r--r--images/elbe-project-db.pngbin0 -> 6536 bytes
-rw-r--r--images/elbe-users.pngbin0 -> 64676 bytes
-rw-r--r--images/happytux.jpgbin0 -> 16382 bytes
-rw-r--r--images/keyboard.jpgbin0 -> 200154 bytes
-rw-r--r--images/slimtux.jpgbin0 -> 337054 bytes
-rw-r--r--images/testing1.pngbin0 -> 17905 bytes
-rw-r--r--images/testing2.pngbin0 -> 33151 bytes
-rw-r--r--images/tux-chamber.jpgbin0 -> 39112 bytes
-rw-r--r--images/tux-fullblown-beer.jpgbin0 -> 101295 bytes
-rw-r--r--images/tux-fullblown.jpgbin0 -> 73691 bytes
-rw-r--r--images/tux-keys.pngbin0 -> 81269 bytes
-rw-r--r--images/tux-testing.jpgbin0 -> 34620 bytes
-rw-r--r--images/uml-elbepack.pngbin0 -> 116902 bytes
-rw-r--r--images/uml-gui.pngbin0 -> 44377 bytes
-rw-r--r--images/workflow.pngbin0 -> 78407 bytes
31 files changed, 503 insertions, 0 deletions
diff --git a/distribution/Kconfig b/distribution/Kconfig
index 761d6cf..9ad9518 100644
--- a/distribution/Kconfig
+++ b/distribution/Kconfig
@@ -8,6 +8,7 @@ if ELBE
source "distribution/elbe/Kconfig"
source "distribution/elbe-internals/Kconfig"
source "distribution/elbe-example/Kconfig"
+ source "distribution/elbe-overview/Kconfig"
endif
menuconfig YOCTO
diff --git a/distribution/elbe-overview/Kconfig b/distribution/elbe-overview/Kconfig
new file mode 100644
index 0000000..80af2ed
--- /dev/null
+++ b/distribution/elbe-overview/Kconfig
@@ -0,0 +1,5 @@
+config ELBE_OVERVIEW
+ bool "ELBE overview"
+ default y
+ help
+ What's ELBE??
diff --git a/distribution/elbe-overview/Makefile b/distribution/elbe-overview/Makefile
new file mode 100644
index 0000000..8bfc113
--- /dev/null
+++ b/distribution/elbe-overview/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_ELBE_OVERVIEW) += pres_elbe-overview_en.pdf
diff --git a/distribution/elbe-overview/pres_elbe-overview_en.tex b/distribution/elbe-overview/pres_elbe-overview_en.tex
new file mode 100644
index 0000000..16ef882
--- /dev/null
+++ b/distribution/elbe-overview/pres_elbe-overview_en.tex
@@ -0,0 +1,496 @@
+\input{configpres}
+
+\begin{frame}[fragile]
+ \includegraphics[width=\textwidth]{images/Dresden_Elbe_Terrassenufer.jpg}
+\end{frame}
+
+\title{\includegraphics[width=8cm]{images/elbe-logo.png}}
+\subtitle{embedded linux build environment}
+\author[manut]{Manuel Traut \texttt{<manut@linutronix.de>}}
+\institute{Linutronix GmbH}
+
+\maketitle
+
+\begin{frame}[fragile]
+\frametitle{overview}
+\begin{block}{1) What is \includegraphics[height=0.8em]{images/elbe-logo.png}?}
+\end{block}
+\pause
+\begin{block}{2) SDCARD Image for Beaglebone Black:}
+\begin{itemize}
+\item bootloader
+\item kernel
+\item Debian RFS (wheezy/armhf)
+\end{itemize}
+\end{block}
+\pause
+\begin{block}{3) Internals}
+\begin{itemize}
+\item resources
+\item elbe architecture
+\item SOAP interface
+\end{itemize}
+\end{block}
+\pause
+\begin{block}{4) Roadmap}
+\end{block}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{what is \includegraphics[height=0.7em]{images/elbe-logo.png}?}
+ \begin{columns}
+ \begin{column}{.5\linewidth}
+\includegraphics[width=4.5cm]{images/distri.jpg}
+ \end{column}
+ \begin{column}{.5\linewidth}
+ \begin{tabular}{cc}
+\begin{lstlisting}
+ open-embedded
+
+ eldk
+
+buildroot
+
+ ptxdist
+
+ yocto
+\end{lstlisting}
+ \end{tabular}
+ \end{column}
+ \end{columns}
+\pause
+\includegraphics[width=2.5cm]{images/elbe-logo.png}
+\hspace{2em}uses Debian packages and infrastructure
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{what is \includegraphics[height=0.7em]{images/elbe-logo.png}?}
+\begin{block}{highlights}
+\begin{itemize}
+\item no more cross compiling
+\pause
+\item security
+\pause
+\item reproducable target images
+\pause
+\item sourcecode cdrom
+\pause
+\item licence informations
+\end{itemize}
+\end{block}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{what is \includegraphics[height=0.7em]{images/elbe-logo.png}?}
+ \includegraphics[height=\textheight]{images/elbe-io-chart.png}
+\end{frame}
+
+\section{prepare environment}
+\begin{frame}[fragile]
+\frametitle{init}
+create a new \includegraphics[height=0.7em]{images/elbe-logo.png} \ virtual-machine:
+\begin{verbatim}
+$ elbe init example.xml
+\end{verbatim}
+\pause
+\begin{itemize}
+\item creates a project directory and Makefile
+\item downloads the elbe-bootstrap package
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{initvm section}
+\begin{scriptsize}
+\begin{lstlisting}
+<initvm>
+ <buildtype>amd64</buildtype>
+ <mirror>
+ <primary_host>ftp.de.debian.org</primary_host>
+ <primary_path>/debian</primary_path>
+ <primary_proto>http</primary_proto>
+\end{lstlisting}
+\pause
+\begin{lstlisting}
+ <!-- elbe-buildenv -->
+ <url-list> <url> <binary>
+ http://debian.linutronix.de/elbe-testing wheezy main
+ </binary> </url> </url-list>
+ </mirror>
+ <suite>wheezy</suite>
+</initvm>
+\end{lstlisting}
+\end{scriptsize}
+\end{frame}
+
+\begin{frame}[fragile]
+\includegraphics[width=\textwidth]{images/elbe-init.png}
+\end{frame}
+
+\section{build project}
+\begin{frame}[fragile]
+\frametitle{buildchroot}
+build a project:
+\begin{verbatim}
+$ elbe buildchroot \
+ -t /opt/elbe/build \
+ -o /opt/elbe/build.log \
+ example.xml
+\end{verbatim}
+\pause
+\begin{itemize}
+\item creates a project directory
+\item builds the project
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+\includegraphics[width=\textwidth]{images/elbe-buildchroot.png}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{project section}
+\begin{scriptsize}
+\begin{lstlisting}
+<project>
+ <name>beaglebone-black</name>
+ <buildtype>armhf</buildtype>
+ <mirror>
+ <primary_host>ftp.de.debian.org</primary_host>
+ <primary_path>/debian</primary_path>
+ <primary_proto>http</primary_proto>
+\end{lstlisting}
+\pause
+\begin{lstlisting}
+ <!-- kernel -->
+ <url-list><url><binary>
+ http://debian.linutronix.de/elbe wheezy main
+ </binary></url></url-list>
+ </mirror>
+ <noauth />
+ <suite>wheezy</suite>
+</project>
+\end{lstlisting}
+\end{scriptsize}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{target section [1/3]}
+\begin{scriptsize}
+\begin{lstlisting}
+<target>
+ <hostname>bbb</hostname>
+ <passwd>foo</passwd>
+ <console>ttyS0,115200</console>
+\end{lstlisting}
+\pause
+\begin{lstlisting}
+ <images>
+ <msdoshd>
+ <name>sdcard.images</name>
+ <size>1900MiB</size>
+\end{lstlisting}
+\pause
+\begin{lstlisting}
+ <partition>
+ <size>100MB</size>
+ <label>boot</label>
+ <bootable />
+ </partition>
+\end{lstlisting}
+\pause
+\begin{lstlisting}
+ <partition>
+ <size>remain</size>
+ <label>rfs</label>
+ </partition>
+ </msdoshd>
+ </images>
+\end{lstlisting}
+\end{scriptsize}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{target section [2/3]}
+\begin{scriptsize}
+\begin{lstlisting}
+ <fstab>
+ <bylabel>
+ <label>boot</label>
+ <mountpoint>/boot</mountpoint>
+ <fs>
+ <type>vfat</type>
+ </fs>
+ </bylabel>
+\end{lstlisting}
+\pause
+\begin{lstlisting}
+ <bylabel>
+ <label>rfs</label>
+ <mountpoint>/</mountpoint>
+ <fs>
+ <type>ext4</type>
+ <tune2fs>-i 0</tune2fs>
+ </fs>
+ </bylabel>
+ </fstab>
+\end{lstlisting}
+\end{scriptsize}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{target section [3/3]}
+\begin{scriptsize}
+\begin{lstlisting}
+ <finetuning>
+ <rm>/var/cache/apt/archives/*.deb</rm>
+ <mv path="/boot/vmlinuz-3.12.4-rt6-*">
+ /boot/zImage
+ </mv>
+ </finetuning>
+\end{lstlisting}
+\pause
+\begin{lstlisting}
+ <pkg-list>
+ <pkg>linux-image-3.12.4-rt6</pkg>
+ <pkg>openssh-server</pkg>
+ </pkg-list>
+</target>
+\end{lstlisting}
+\pause
+\begin{lstlisting}
+<!-- /boot/[MLO, uboot.images] -->
+<archive>
+QlpoOTFBWSZTWbr9i8ICOcH//////
+...
+</archive>
+\end{lstlisting}
+\end{scriptsize}
+\end{frame}
+
+\section{result}
+\begin{frame}[fragile]
+\frametitle{generated files}
+\begin{verbatim}
+$ ls
+buildenv.images licence.txt
+elbe-report.txt sdcard.images
+install.iso source.xml
+Makefile validation.txt
+\end{verbatim}
+\end{frame}
+
+\section{minimal target systems}
+\begin{frame}
+\includegraphics[height=\textheight]{images/tux-fullblown-beer.jpg}
+\end{frame}
+
+\begin{frame}
+\frametitle{modes}
+
+are used to strip target-images
+
+\pause
+\begin{description}
+\item[setsel]
+\begin{itemize}
+\item automatic dependency resolution
+
+(can be overridden)
+\item files from postinst-scripts are on the target
+\item dpkg and perl needs to be on the target
+\end{itemize}
+
+\pause
+\item[diet]
+\begin{itemize}
+\item reverse dependency resolution
+\item postinst-scripts are executed (but may fail)
+\end{itemize}
+
+\pause
+\item[tighten]
+\begin{itemize}
+\item no dependency resolution
+\item files from postinst-scripts are not on the target
+\end{itemize}
+\end{description}
+\end{frame}
+
+\begin{frame}
+\includegraphics[width=\textwidth]{images/slimtux.jpg}
+\end{frame}
+
+\begin{frame}
+\includegraphics[width=\textheight]{images/tux-keys.png}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{using the native ADK}
+\begin{itemize}
+\item start the virtual-machine:
+\begin{lstlisting}
+$ make run
+\end{lstlisting}
+\pause
+\item enter the native ADK:
+\begin{lstlisting}
+$ elbe chroot /opt/elbe/build
+\end{lstlisting}
+\pause
+\item build your application like on a native Debian machine
+\pause
+\item package own application as debian package (dh\_make)
+\pause
+\item host debian application in own repository (reprepro)
+\pause
+\item add own packages to XML description, rerun buildchroot
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\center
+ \includegraphics[width=5cm]{images/happytux.jpg}
+\endcenter
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{resources}
+\begin{description}
+ \item[website] http://elbe-rfs.org/
+\pause
+ \item[mailing-list] https://linutronix.de/mailman/listinfo/elbe-devel
+\pause
+ \item[github] https://github.com/linutronix/elbe
+\end{description}
+\pause
+\begin{verbatim}
+git clone https://github.com/Linutronix/elbe.git
+git checkout -b devel/elbe-1.0 -t devel/elbe-1.0
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{install}
+\begin{verbatim}
+# on a Debian based system
+$ echo 'deb http://debian.linutronix.de/elbe-testing \
+ wheezy main' >> /etc/apt/sources.list
+$ aptitude install elbe
+\end{verbatim}
+\end{frame}
+
+
+\section{Internals}
+
+\begin{frame}
+\center
+ \includegraphics[width=10cm]{images/tux-chamber.jpg}
+\endcenter
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{Packaging}
+\begin{description}
+\item[elbe-doc] man-pages, overview, XSD documentation
+\pause
+\item[elbe-common] shared python modules, XML schema
+\pause
+\item[elbe] needed on host PC (init, chg\_archive, \dots)
+\pause
+\item[elbe-buildenv] for virtual machine (buildchroot, db, chroot, \dots)
+\pause
+\item[elbe-updated] for embedded target to apply update packages
+\pause
+\item[elbe-daemon] for virtual machine (wsgi server)
+\pause
+\item[elbe-soap] for virtual machine
+
+ implements SOAP interface
+\pause
+\item[elbe-control] for host PC
+
+ controls SOAP interface
+\end{description}
+\end{frame}
+
+\section{architecture}
+\begin{frame}[fragile]
+\frametitle{architecture}
+\begin{block}{technologies}
+\begin{itemize}
+ \item python
+\pause
+ \item qemu-user
+\pause
+ \item python-apt
+\pause
+ \item python-mako
+\pause
+ \item python-parted
+\pause
+ \item sqlalchemy
+\end{itemize}
+\end{block}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{architecture}
+ \includegraphics[width=\textwidth]{images/workflow.png}
+\end{frame}
+
+\begin{frame}[fragile]
+ \includegraphics[width=\textwidth]{images/uml-elbepack.png}
+\end{frame}
+
+
+\section{SOAP interface / automated testing}
+\begin{frame}[fragile]
+\frametitle{SOAP interface / automated testing}
+\includegraphics[width=\textwidth]{images/tux-testing.jpg}
+\end{frame}
+
+\begin{frame}[fragile]
+\includegraphics[height=\textheight]{images/testing1.png}
+\end{frame}
+
+\begin{frame}[fragile]
+\includegraphics[height=\textheight]{images/testing2.png}
+\end{frame}
+
+\section{Roadmap}
+\begin{frame}[fragile]
+\frametitle{open issues for 1.0 release}
+\begin{itemize}
+ \item modify commands to use the project manager
+ \pause
+ \item status reporting
+ \pause
+ \item (automated) testing
+ \pause
+ \item CDROM generation
+ \pause
+ \item documentation
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{Debian integration}
+\begin{itemize}
+ \item with help from Wolfgang Borgert - debacle@debian.org
+ \item http://anonscm.debian.org/gitweb/?p=collab-maint/elbe.git
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{ideas?}
+\begin{itemize}
+ \item packaging templates for kernel and bootloader
+ \pause
+ \item improve ADK usage / eclipse plugin?
+ \pause
+ \item ??
+\end{itemize}
+\end{frame}
+
+\include{tailpres}
diff --git a/images/Dresden_Elbe_Terrassenufer.jpg b/images/Dresden_Elbe_Terrassenufer.jpg
new file mode 100644
index 0000000..9aab682
--- /dev/null
+++ b/images/Dresden_Elbe_Terrassenufer.jpg
Binary files differ
diff --git a/images/distri.jpg b/images/distri.jpg
new file mode 100644
index 0000000..80cad53
--- /dev/null
+++ b/images/distri.jpg
Binary files differ
diff --git a/images/elbe-build.png b/images/elbe-build.png
new file mode 100644
index 0000000..a8d6e4d
--- /dev/null
+++ b/images/elbe-build.png
Binary files differ
diff --git a/images/elbe-buildchroot.png b/images/elbe-buildchroot.png
new file mode 100644
index 0000000..394b217
--- /dev/null
+++ b/images/elbe-buildchroot.png
Binary files differ
diff --git a/images/elbe-db-users.png b/images/elbe-db-users.png
new file mode 100644
index 0000000..b192ebf
--- /dev/null
+++ b/images/elbe-db-users.png
Binary files differ
diff --git a/images/elbe-db.png b/images/elbe-db.png
new file mode 100644
index 0000000..d4229c8
--- /dev/null
+++ b/images/elbe-db.png
Binary files differ
diff --git a/images/elbe-init.png b/images/elbe-init.png
new file mode 100644
index 0000000..9f8a622
--- /dev/null
+++ b/images/elbe-init.png
Binary files differ
diff --git a/images/elbe-io-chart.png b/images/elbe-io-chart.png
new file mode 100644
index 0000000..3284c40
--- /dev/null
+++ b/images/elbe-io-chart.png
Binary files differ
diff --git a/images/elbe-login.png b/images/elbe-login.png
new file mode 100644
index 0000000..1a9f8d6
--- /dev/null
+++ b/images/elbe-login.png
Binary files differ
diff --git a/images/elbe-logo.png b/images/elbe-logo.png
new file mode 100644
index 0000000..b88ca5d
--- /dev/null
+++ b/images/elbe-logo.png
Binary files differ
diff --git a/images/elbe-modify.png b/images/elbe-modify.png
new file mode 100644
index 0000000..e13af46
--- /dev/null
+++ b/images/elbe-modify.png
Binary files differ
diff --git a/images/elbe-open.png b/images/elbe-open.png
new file mode 100644
index 0000000..6f660ee
--- /dev/null
+++ b/images/elbe-open.png
Binary files differ
diff --git a/images/elbe-project-db.png b/images/elbe-project-db.png
new file mode 100644
index 0000000..da88e85
--- /dev/null
+++ b/images/elbe-project-db.png
Binary files differ
diff --git a/images/elbe-users.png b/images/elbe-users.png
new file mode 100644
index 0000000..51b0cdf
--- /dev/null
+++ b/images/elbe-users.png
Binary files differ
diff --git a/images/happytux.jpg b/images/happytux.jpg
new file mode 100644
index 0000000..69d593a
--- /dev/null
+++ b/images/happytux.jpg
Binary files differ
diff --git a/images/keyboard.jpg b/images/keyboard.jpg
new file mode 100644
index 0000000..280c548
--- /dev/null
+++ b/images/keyboard.jpg
Binary files differ
diff --git a/images/slimtux.jpg b/images/slimtux.jpg
new file mode 100644
index 0000000..e31907a
--- /dev/null
+++ b/images/slimtux.jpg
Binary files differ
diff --git a/images/testing1.png b/images/testing1.png
new file mode 100644
index 0000000..31c30e4
--- /dev/null
+++ b/images/testing1.png
Binary files differ
diff --git a/images/testing2.png b/images/testing2.png
new file mode 100644
index 0000000..4dc924c
--- /dev/null
+++ b/images/testing2.png
Binary files differ
diff --git a/images/tux-chamber.jpg b/images/tux-chamber.jpg
new file mode 100644
index 0000000..46b2cf5
--- /dev/null
+++ b/images/tux-chamber.jpg
Binary files differ
diff --git a/images/tux-fullblown-beer.jpg b/images/tux-fullblown-beer.jpg
new file mode 100644
index 0000000..c2afc46
--- /dev/null
+++ b/images/tux-fullblown-beer.jpg
Binary files differ
diff --git a/images/tux-fullblown.jpg b/images/tux-fullblown.jpg
new file mode 100644
index 0000000..0f3cc9e
--- /dev/null
+++ b/images/tux-fullblown.jpg
Binary files differ
diff --git a/images/tux-keys.png b/images/tux-keys.png
new file mode 100644
index 0000000..1f03ed5
--- /dev/null
+++ b/images/tux-keys.png
Binary files differ
diff --git a/images/tux-testing.jpg b/images/tux-testing.jpg
new file mode 100644
index 0000000..db4b4db
--- /dev/null
+++ b/images/tux-testing.jpg
Binary files differ
diff --git a/images/uml-elbepack.png b/images/uml-elbepack.png
new file mode 100644
index 0000000..7af6498
--- /dev/null
+++ b/images/uml-elbepack.png
Binary files differ
diff --git a/images/uml-gui.png b/images/uml-gui.png
new file mode 100644
index 0000000..49e039e
--- /dev/null
+++ b/images/uml-gui.png
Binary files differ
diff --git a/images/workflow.png b/images/workflow.png
new file mode 100644
index 0000000..aa354f2
--- /dev/null
+++ b/images/workflow.png
Binary files differ