diff options
| -rw-r--r-- | application-devel/debian-packages/pres_debian_packages_en.tex | 4 | ||||
| -rw-r--r-- | distribution/Kconfig | 9 | ||||
| -rw-r--r-- | distribution/yocto-advanced/Kconfig | 5 | ||||
| -rw-r--r-- | distribution/yocto-advanced/Makefile | 1 | ||||
| -rw-r--r-- | distribution/yocto-advanced/pres_yocto-advanced.tex | 11 | ||||
| -rw-r--r-- | distribution/yocto-basic/Kconfig | 5 | ||||
| -rw-r--r-- | distribution/yocto-basic/Makefile | 1 | ||||
| -rw-r--r-- | distribution/yocto-basic/pres_yocto-basic.tex | 11 | ||||
| -rw-r--r-- | distribution/yocto-intro/Kconfig | 5 | ||||
| -rw-r--r-- | distribution/yocto-intro/Makefile | 1 | ||||
| -rw-r--r-- | distribution/yocto-intro/pres_yocto-intro.tex | 109 | ||||
| -rw-r--r-- | lx-trainer-vm.xml | 183 |
12 files changed, 341 insertions, 4 deletions
diff --git a/application-devel/debian-packages/pres_debian_packages_en.tex b/application-devel/debian-packages/pres_debian_packages_en.tex index 719a6ec..bae8a19 100644 --- a/application-devel/debian-packages/pres_debian_packages_en.tex +++ b/application-devel/debian-packages/pres_debian_packages_en.tex @@ -1,5 +1,4 @@ % on the following slides, include icon in the left sidebar -\def\lximg{/usr/share/lx/icons/fueller.png} \input{configpres} @@ -7,9 +6,6 @@ \title{Building Debian Packages} \maketitle -% stop displaying 'fueller.png' on the following slides -\def\lximg{none} - \subsection{Basics} \begin{frame} \frametitle{Debian Packages} diff --git a/distribution/Kconfig b/distribution/Kconfig index 53f5ccb..761d6cf 100644 --- a/distribution/Kconfig +++ b/distribution/Kconfig @@ -9,3 +9,12 @@ if ELBE source "distribution/elbe-internals/Kconfig" source "distribution/elbe-example/Kconfig" endif + +menuconfig YOCTO + bool "Yocto build system" + +if YOCTO + source "distribution/yocto-intro/Kconfig" + source "distribution/yocto-basic/Kconfig" + source "distribution/yocto-advanced/Kconfig" +endif diff --git a/distribution/yocto-advanced/Kconfig b/distribution/yocto-advanced/Kconfig new file mode 100644 index 0000000..36aa179 --- /dev/null +++ b/distribution/yocto-advanced/Kconfig @@ -0,0 +1,5 @@ +config YOCTO_ADVANCED + bool "Yocto Advanced" + default y + help + Building an ARM BSP Image and customize it with an RT Kernel diff --git a/distribution/yocto-advanced/Makefile b/distribution/yocto-advanced/Makefile new file mode 100644 index 0000000..1fcc766 --- /dev/null +++ b/distribution/yocto-advanced/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_YOCTO_ADVANCED) = pres_yocto-advanced.pdf diff --git a/distribution/yocto-advanced/pres_yocto-advanced.tex b/distribution/yocto-advanced/pres_yocto-advanced.tex new file mode 100644 index 0000000..8d044f3 --- /dev/null +++ b/distribution/yocto-advanced/pres_yocto-advanced.tex @@ -0,0 +1,11 @@ +\input{configpres} + +\title{YOCTO - Advanced} +\maketitle + +\begin{frame} +\frametitle{What is Yocto?} +bla +\end{frame} + +\input{tailpres} diff --git a/distribution/yocto-basic/Kconfig b/distribution/yocto-basic/Kconfig new file mode 100644 index 0000000..e5c8959 --- /dev/null +++ b/distribution/yocto-basic/Kconfig @@ -0,0 +1,5 @@ +config YOCTO_BASIC + bool "Yocto Basics" + default y + help + Building an x86 Image, Toochain and ADT, adding own Packages diff --git a/distribution/yocto-basic/Makefile b/distribution/yocto-basic/Makefile new file mode 100644 index 0000000..e6aa4d1 --- /dev/null +++ b/distribution/yocto-basic/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_YOCTO_BASIC) = pres_yocto-basic.pdf diff --git a/distribution/yocto-basic/pres_yocto-basic.tex b/distribution/yocto-basic/pres_yocto-basic.tex new file mode 100644 index 0000000..f10b6e3 --- /dev/null +++ b/distribution/yocto-basic/pres_yocto-basic.tex @@ -0,0 +1,11 @@ +\input{configpres} + +\title{YOCTO - Basics} +\maketitle + +\begin{frame} +\frametitle{What is Yocto?} +bla +\end{frame} + +\input{tailpres} diff --git a/distribution/yocto-intro/Kconfig b/distribution/yocto-intro/Kconfig new file mode 100644 index 0000000..b148d33 --- /dev/null +++ b/distribution/yocto-intro/Kconfig @@ -0,0 +1,5 @@ +config YOCTO_INTRO + bool "What is yocto?" + default y + help + Overview and basic information about YOCTO diff --git a/distribution/yocto-intro/Makefile b/distribution/yocto-intro/Makefile new file mode 100644 index 0000000..3541e18 --- /dev/null +++ b/distribution/yocto-intro/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_YOCTO_INTRO) = pres_yocto-intro.pdf diff --git a/distribution/yocto-intro/pres_yocto-intro.tex b/distribution/yocto-intro/pres_yocto-intro.tex new file mode 100644 index 0000000..c7d30e9 --- /dev/null +++ b/distribution/yocto-intro/pres_yocto-intro.tex @@ -0,0 +1,109 @@ +\input{configpres} + +\title{YOCTO - Intro} +\maketitle + +\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} diff --git a/lx-trainer-vm.xml b/lx-trainer-vm.xml new file mode 100644 index 0000000..02260a4 --- /dev/null +++ b/lx-trainer-vm.xml @@ -0,0 +1,183 @@ +<ns0:RootFileSystem xmlns:ns0="https://www.linutronix.de/projects/Elbe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" created="2009-05-20T08:50:56" revision="6" xsi:schemaLocation="https://www.linutronix.de/projects/Elbe dbsfed.xsd"> + <initvm> + <buildtype>amd64</buildtype> + <mirror> + <primary_host>ftp.de.debian.org</primary_host> + <primary_path>/debian</primary_path> + <primary_proto>http</primary_proto> + <url-list> + <url> + <binary> + http://debian.linutronix.de/elbe-testing wheezy main + </binary> + <source> + http://debian.linutronix.de/elbe-testing wheezy main + </source> + </url> + </url-list> + </mirror> + <noauth/> + <suite>wheezy</suite> + </initvm> + <project> + <name>lx-training</name> + <version>1</version> + <description> + can be used for linutronix trainigs. use as usb hd or + use this command to generate a vmware image: + qemu-img convert -O vmdk lx-trainer.img lx-trainer.vmdk + </description> + <buildtype>i386</buildtype> + <mirror> + <primary_host>ftp.de.debian.org</primary_host> + <primary_path>/debian</primary_path> + <primary_proto>http</primary_proto> + <url-list> + <url> + <binary> + http://ftp.de.debian.org/debian jessie contrib non-free + </binary> + <source> + http://ftp.de.debian.org/debian jessie contrib non-free + </source> + </url> + <url> + <binary> + http://debian.linutronix.de/elbe-testing jessie main + </binary> + <source> + http://debian.linutronix.de/elbe-testing jessie main + </source> + </url> + </url-list> + </mirror> + <noauth/> + <suite>jessie</suite> + </project> + <target> + <hostname>lx-training</hostname> + <domain>tec.linutronix.de</domain> + <passwd>root</passwd> + <console>ttyS0,115200</console> + <images> + <msdoshd> + <name>lx-trainer.img</name> + <size>32GiB</size> + <grub-install/> + <partition> + <size>remain</size> + <label>rfs</label> + </partition> + </msdoshd> + </images> + <fstab> + <bylabel> + <label>rfs</label> + <mountpoint>/</mountpoint> + <fs> + <type>ext4</type> + <tune2fs>-i 0</tune2fs> + </fs> + </bylabel> + <bylabel> + <label>lxhome</label> + <mountpoint>/home</mountpoint> + <fs> + <type>ext4</type> + <tune2fs>-i 0</tune2fs> + </fs> + </bylabel> + <bydev> + <source>none</source> + <mountpoint>/sys/kernel/debug</mountpoint> + <fs> + <type>debugfs</type> + </fs> + </bydev> + </fstab> + <finetuning> + <rm>var/cache/apt/archives/*.deb</rm> + <adduser passwd="devel" shell="/bin/bash">devel</adduser> + <command>wget https://sourcery.mentor.com/sgpp/lite/arm/portal/package8739/public/arm-none-linux-gnueabi/arm-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2</command> + <command>tar xjf arm-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /opt</command> + <command>rm arm-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2</command> + <command>wget http://ftp.halifax.rwth-aachen.de/eclipse//technology/epp/downloads/release/luna/R/eclipse-cpp-luna-R-linux-gtk.tar.gz</command> + <command>tar xzf eclipse-cpp-luna-R-linux-gtk.tar.gz -C /opt</command> + <command>rm eclipse-cpp-luna-R-linux-gtk.tar.gz</command> + <command>git clone -b daisy git://git.yoctoproject.org/poky.git /opt/poky-daisy</command> + <command>git clone -b daisy git://git.yoctoproject.org/meta-ti /opt/poky-daisy/</command> + <command>git clone -b daisy git://git.yoctoproject.org/meta-fsl-arm /opt/poky-daisy/</command> + </finetuning> + <pkg-list> + <pkg>grub-pc</pkg> + <pkg>linux-image-686-pae</pkg> + <pkg>linux-image-686-pae-dbg</pkg> + <pkg>linux-headers-686-pae</pkg> + <pkg>linux-tools</pkg> + <pkg>firmware-linux</pkg> + + <pkg>openssh-client</pkg> + <pkg>openssh-server</pkg> + <pkg>apache2</pkg> + <pkg>nfs-kernel-server</pkg> + <pkg>tftpd-hpa</pkg> + + <pkg>less</pkg> + <pkg>bash</pkg> + <pkg>vim-nox</pkg> + <pkg>emacs-nox</pkg> + <pkg>mc</pkg> + <pkg>unzip</pkg> + <pkg>texinfo</pkg> + <pkg>chrpath</pkg> + <pkg>libsdl1.2-dev</pkg> + <pkg>diffstat</pkg> + <pkg>quilt</pkg> + <pkg>git</pkg> + <pkg>gitk</pkg> + <pkg>wireshark</pkg> + <pkg>xxxterm</pkg> + + <pkg>build-essential</pkg> + <pkg>autoconf</pkg> + <pkg>automake</pkg> + <pkg>u-boot-tools</pkg> + <pkg>libncurses5-dev</pkg> + + <pkg>bootchart2</pkg> + <pkg>pybootchartgui</pkg> + <pkg>kexec-tools</pkg> + <pkg>mtd-utils</pkg> + <pkg>qemu-system</pkg> + <pkg>qemu-user</pkg> + + <pkg>elbe</pkg> + <pkg>reprepro</pkg> + <pkg>devscripts</pkg> + <pkg>dh-make</pkg> + + <pkg>acl</pkg> + <pkg>attr</pkg> + <pkg>tomoyo-tools</pkg> + <pkg>selinux-basics</pkg> + <pkg>selinux-utils</pkg> + <pkg>selinux-policy-default</pkg> + <pkg>selinux-policy-dev</pkg> + <pkg>openvpn</pkg> + <pkg>easy-rsa</pkg> + + <pkg>openjdk-7-jdk</pkg> + + <pkg>lightdm</pkg> + <pkg>mate-desktop-environment-extras</pkg> + <pkg>mate-gnome-main-menu-applet</pkg> + <pkg>mate-themes</pkg> + <pkg>pluma</pkg> + <pkg>xterm</pkg> + <pkg>xinit</pkg> + <pkg>locales</pkg> + <pkg>xserver-xorg</pkg> + <pkg>network-manager-gnome</pkg> + </pkg-list> + </target> +</ns0:RootFileSystem> |
