diff options
| author | Manuel Traut <manut@linutronix.de> | 2015-07-01 16:12:36 +0200 |
|---|---|---|
| committer | Manuel Traut <manut@linutronix.de> | 2015-07-01 16:12:36 +0200 |
| commit | 1d13e674d7be4bf9aa69139deac6737bf60af17b (patch) | |
| tree | 5cacf42d37efa861d2487efa4585e4eb3b99d7ae /distribution/elbe-example | |
| parent | 6723cb895ae583ed95724a5d3d7acab756340263 (diff) | |
rework elbe training stuff to match current elbe
also delete presentations that are completely outdated
and rename presentations to better identify their content
Signed-off-by: Manuel Traut <manut@linutronix.de>
Diffstat (limited to 'distribution/elbe-example')
| -rw-r--r-- | distribution/elbe-example/Kconfig | 5 | ||||
| -rw-r--r-- | distribution/elbe-example/Makefile | 1 | ||||
| -rw-r--r-- | distribution/elbe-example/mini.xml | 27 | ||||
| -rw-r--r-- | distribution/elbe-example/myapp/AUTHORS | 0 | ||||
| -rw-r--r-- | distribution/elbe-example/myapp/ChangeLog | 0 | ||||
| -rw-r--r-- | distribution/elbe-example/myapp/Makefile.am | 5 | ||||
| -rw-r--r-- | distribution/elbe-example/myapp/NEWS | 0 | ||||
| -rw-r--r-- | distribution/elbe-example/myapp/README | 0 | ||||
| -rwxr-xr-x | distribution/elbe-example/myapp/autogen.sh | 2 | ||||
| -rw-r--r-- | distribution/elbe-example/myapp/configure.ac | 23 | ||||
| -rw-r--r-- | distribution/elbe-example/myapp/myapp.c | 12 | ||||
| -rw-r--r-- | distribution/elbe-example/myrepo/conf/distributions | 12 | ||||
| -rw-r--r-- | distribution/elbe-example/myrepo/conf/updates | 6 | ||||
| -rw-r--r-- | distribution/elbe-example/pres_elbe-example_en.tex | 540 |
14 files changed, 0 insertions, 633 deletions
diff --git a/distribution/elbe-example/Kconfig b/distribution/elbe-example/Kconfig deleted file mode 100644 index e70c6d1..0000000 --- a/distribution/elbe-example/Kconfig +++ /dev/null @@ -1,5 +0,0 @@ -config ELBE_EXAMPLE - bool "ELBE example" - default y - help - Example project for ELBE diff --git a/distribution/elbe-example/Makefile b/distribution/elbe-example/Makefile deleted file mode 100644 index 26f94cc..0000000 --- a/distribution/elbe-example/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-$(CONFIG_ELBE_EXAMPLE) += pres_elbe-example_en.pdf diff --git a/distribution/elbe-example/mini.xml b/distribution/elbe-example/mini.xml deleted file mode 100644 index 956ffc9..0000000 --- a/distribution/elbe-example/mini.xml +++ /dev/null @@ -1,27 +0,0 @@ -<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"> - <project> - <name>mini xml</name> - <version>1</version> - <description> - optimal to use as buildenv - </description> - <buildtype>armhf</buildtype> - <mirror> - <primary_host>ftp.debian.org</primary_host> - <primary_path>/debian</primary_path> - <primary_proto>http</primary_proto> - </mirror> - <suite>wheezy</suite> - </project> - <target> - <hostname>mini</hostname> - <domain>linutronix</domain> - <passwd>foo</passwd> - <finetuning> - </finetuning> - <pkg-list> - <pkg>bash</pkg> - </pkg-list> - </target> -</ns0:RootFileSystem> diff --git a/distribution/elbe-example/myapp/AUTHORS b/distribution/elbe-example/myapp/AUTHORS deleted file mode 100644 index e69de29..0000000 --- a/distribution/elbe-example/myapp/AUTHORS +++ /dev/null diff --git a/distribution/elbe-example/myapp/ChangeLog b/distribution/elbe-example/myapp/ChangeLog deleted file mode 100644 index e69de29..0000000 --- a/distribution/elbe-example/myapp/ChangeLog +++ /dev/null diff --git a/distribution/elbe-example/myapp/Makefile.am b/distribution/elbe-example/myapp/Makefile.am deleted file mode 100644 index 73ff4e8..0000000 --- a/distribution/elbe-example/myapp/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -bin_PROGRAMS = myapp -myapp_SOURCES = myapp.c - -EXTRA_DIST = debian/changelog debian/compat debian/control debian/rules \ - debian/source/format diff --git a/distribution/elbe-example/myapp/NEWS b/distribution/elbe-example/myapp/NEWS deleted file mode 100644 index e69de29..0000000 --- a/distribution/elbe-example/myapp/NEWS +++ /dev/null diff --git a/distribution/elbe-example/myapp/README b/distribution/elbe-example/myapp/README deleted file mode 100644 index e69de29..0000000 --- a/distribution/elbe-example/myapp/README +++ /dev/null diff --git a/distribution/elbe-example/myapp/autogen.sh b/distribution/elbe-example/myapp/autogen.sh deleted file mode 100755 index 9088512..0000000 --- a/distribution/elbe-example/myapp/autogen.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -autoreconf -sif diff --git a/distribution/elbe-example/myapp/configure.ac b/distribution/elbe-example/myapp/configure.ac deleted file mode 100644 index 109e8ea..0000000 --- a/distribution/elbe-example/myapp/configure.ac +++ /dev/null @@ -1,23 +0,0 @@ -# -*- Autoconf -*- -# Process this file with autoconf to produce a configure script. - -AC_PREREQ([2.69]) -AC_INIT([myapp], [1.0], [manut@linutronix.de]) -AM_INIT_AUTOMAKE([-Wall -Werror]) -AC_CONFIG_SRCDIR([myapp.c]) -AC_CONFIG_HEADERS([config.h]) - -# Checks for programs. -AC_PROG_CC - -# Checks for libraries. - -# Checks for header files. - -# Checks for typedefs, structures, and compiler characteristics. - -# Checks for library functions. - -AC_CONFIG_FILES([Makefile]) - -AC_OUTPUT diff --git a/distribution/elbe-example/myapp/myapp.c b/distribution/elbe-example/myapp/myapp.c deleted file mode 100644 index 4e39438..0000000 --- a/distribution/elbe-example/myapp/myapp.c +++ /dev/null @@ -1,12 +0,0 @@ -#include <stdio.h> -#include <time.h> - -int main (int argc, char **argv) -{ - while (1) { - printf ("Hello ELBE\n"); - sleep (1); - } - - return 0; -} diff --git a/distribution/elbe-example/myrepo/conf/distributions b/distribution/elbe-example/myrepo/conf/distributions deleted file mode 100644 index 9cd8d3b..0000000 --- a/distribution/elbe-example/myrepo/conf/distributions +++ /dev/null @@ -1,12 +0,0 @@ -Origin: myrepo -Label: myrepo -Suite: stable -Codename: wheezy -Update: - myremoterepo -Version: -Architectures: i386 amd64 armel source -Components: main -Description: my debian packages -DebIndices: Packages Release . .gz .bz2 -UDebIndices: Packages . .gz .bz2 -DscIndices: Sources Release .gz .bz2 diff --git a/distribution/elbe-example/myrepo/conf/updates b/distribution/elbe-example/myrepo/conf/updates deleted file mode 100644 index e8df2b1..0000000 --- a/distribution/elbe-example/myrepo/conf/updates +++ /dev/null @@ -1,6 +0,0 @@ -Name: myremoterepo -Method: http://localhost/myrepo -Components: main -Architectures: i386 amd64 source -VerifyRelease: blindtrust -IgnoreRelease: yes diff --git a/distribution/elbe-example/pres_elbe-example_en.tex b/distribution/elbe-example/pres_elbe-example_en.tex deleted file mode 100644 index dd39b24..0000000 --- a/distribution/elbe-example/pres_elbe-example_en.tex +++ /dev/null @@ -1,540 +0,0 @@ -\input{configpres} - -\title{ELBE example} -\maketitle - -\subsection{What will be done?} - -\begin{frame} -\frametitle{Goal} -\begin{itemize} -\item generate an ELBE buildenv -\item generate a software component and manage it with debian tools -\item build own software component inside the ELBE buildenv -\item include own application in target RFS -\item define a stripped target RFS -\item setup a local debian mirror -\end{itemize} -\end{frame} - -\subsection{generate a buildenv} - -\begin{frame}[fragile] -\frametitle{use elbe-init.xml} -\begin{lstlisting} -$ cp /usr/share/doc/elbe-doc/examples/elbe-init.xml . -$ elbe init --directory=./initvm elbe-init.xml -$ cd initvm -$ make -$ make run-con -\end{lstlisting} -\end{frame} - -\begin{frame}[fragile] - \frametitle{mini.xml} - \begin{lstlisting} - <project> - <name>mini xml</name> - <version>1</version> - <description> - optimal to use as buildenv - </description> - <buildtype>armhf</buildtype> - <mirror> - <primary_host>ftp.debian.org</primary_host> - <primary_path>/debian</primary_path> - <primary_proto>http</primary_proto> - </mirror> - <suite>wheezy</suite> - </project> - \end{lstlisting} -\end{frame} - -\begin{frame}[fragile] - \frametitle{mini.xml} - \begin{lstlisting} - <target> - <hostname>mini</hostname> - <domain>linutronix</domain> - <passwd>foo</passwd> - <finetuning> - </finetuning> - <pkg-list> - <pkg>bash</pkg> - </pkg-list> - </target> - \end{lstlisting} -\end{frame} - -\begin{frame}[fragile] -\frametitle{build mini.xml} -\begin{lstlisting} -$ elbe control create_project mini.xml -$ elbe control list_projects -$ elbe build /var/cache/elbe/... -\end{lstlisting} -\end{frame} - -\subsection{build an own application} - -\begin{frame}[fragile] -\frametitle{myapp.c} -\begin{lstlisting} -$ mkdir myapp -$ cd myapp -$ $EDITOR myapp.c -\end{lstlisting} -\begin{lstlisting} -#include <stdio.h> -#include <time.h> - -int main (int argc, char **argv) -{ - while (1) { - printf ("Hello ELBE\n"); - sleep (1); - } - - return 0; -} -\end{lstlisting} -\end{frame} - -\begin{frame}[fragile] -\frametitle{use autotools} -\begin{lstlisting} -$ $EDITOR Makefile.am -\end{lstlisting} -\begin{lstlisting} -bin_PROGRAMS = myapp -myapp_SOURCES = myapp.c -\end{lstlisting} -\begin{lstlisting} -$ autoscan -$ mv configure.scan configure.ac -$ rm autoscan.log -\end{lstlisting} -\end{frame} - -\begin{frame}[fragile] -\frametitle {use autotools} -\begin{lstlisting} -$ $EDITOR configure.ac -\end{lstlisting} -\begin{verbatim} -# -*- Autoconf -*- -# Process this file with autoconf to produce a configure script. - -AC_PREREQ([2.69]) -AC_INIT([myapp], [1.0], [manut@linutronix.de]) -AM_INIT_AUTOMAKE([-Wall -Werror]) -AC_CONFIG_SRCDIR([myapp.c]) -AC_CONFIG_HEADERS([config.h]) - -# Checks for programs. -AC_PROG_CC - -# Checks for libraries. - -# Checks for header files. - -# Checks for typedefs, structures, and compiler characteristics. - -# Checks for library functions. - -AC_CONFIG_FILES([Makefile]) - -AC_OUTPUT -\end{verbatim} -\end{frame} - -\begin{frame}[fragile] -\frametitle{use autotools} -\begin{lstlisting} -$ touch NEWS README AUTHORS ChangeLog -$ $EDITOR autogen.sh -\end{lstlisting} -\begin{lstlisting} -#!/bin/bash -automake --add-missing -autoreconf -sif -\end{lstlisting} -\end{frame} - -\begin{frame}[fragile] -\frametitle{use autotools} -\begin{lstlisting} -$ chmod +x autogen.sh -$ ls -lh -insgesamt 12K --rw-r--r-- 1 local local 0 Jan 7 09:45 AUTHORS --rwxr-xr-x 1 local local 28 Jan 7 09:24 autogen.sh --rw-r--r-- 1 local local 0 Jan 7 09:45 ChangeLog --rw-r--r-- 1 local local 496 Jan 7 09:20 configure.ac --rw-r--r-- 1 local local 35 Jan 7 09:35 Makefile.am --rw-r--r-- 1 local local 143 Jan 7 09:18 myapp.c --rw-r--r-- 1 local local 0 Jan 7 09:45 NEWS --rw-r--r-- 1 local local 0 Jan 7 09:45 README -# these files may be added to your vcs -$ ./autogen.sh -$ ./configure -$ make -$ ./myapp -Hello ELBE -Hello ELBE -^C -\end{lstlisting} -\end{frame} - -\begin{frame}[fragile] -\frametitle{debianize myapp} -\begin{lstlisting} -$ dh_make -n -p myapp_1.0 -e manut@linutronix.de -$ cd debian -$ rm *.ex *.EX docs README* copyright -$ $EDITOR changelog -\end{lstlisting} -\begin{lstlisting} -myapp (1.0) stable; urgency=low - - * Initial Release. - - -- Manuel Traut <manut@linutronix.de> Tue, 07 Jan 2014 10:20:20 +0100 -\end{lstlisting} -\begin{lstlisting} -$ ls -lh -insgesamt 16K --rw-r--r-- 1 local local 122 Jan 7 10:20 changelog --rw-r--r-- 1 local local 2 Jan 7 10:20 compat --rw-r--r-- 1 local local 517 Jan 7 10:20 control --rwxr-xr-x 1 local local 135 Jan 7 10:20 rules -drwxr-xr-x 2 local local 19 Jan 7 10:20 source -# these files may be added to your vcs -\end{lstlisting} -\end{frame} - -\begin{frame}[fragile] -\frametitle{debianize myapp} -\begin{lstlisting} -$ cd .. -$ $EDITOR Makefile.am -\end{lstlisting} -\begin{lstlisting} -bin_PROGRAMS = myapp -myapp_SOURCES = myapp.c - -EXTRA_DIST = debian/changelog debian/compat debian/control debian/rules \ - debian/source/format -\end{lstlisting} -\begin{lstlisting} -$ dpkg-buildpackage -$ ls .. -myapp myapp_1.0_i386.deb -myapp_1.0.dsc myapp_1.0.tar.gz -myapp_1.0_i386.changes -\end{lstlisting} -\end{frame} - -\begin{frame}[fragile] -\frametitle{host myapp source in a debian repository} -\begin{lstlisting} -$ cd .. -$ mkdir -p myrepo/conf -$ cd myrepo -$ $EDITOR conf/distributions -\end{lstlisting} -\begin{verbatim} -Origin: myrepo -Label: myrepo -Suite: stable -Codename: wheezy -Update: - myremoterepo -Version: -Architectures: armhf source -Components: main -Description: my debian packages -\end{verbatim} -\end{frame} - - -\begin{frame}[fragile] -\frametitle{host myapp source in a debian repository} -\begin{lstlisting} -$ reprepro includedsc wheezy ../myapp_1.0.dsc -$ sudo mkdir /var/www/ -$ sudo rsync -av --exclude=db --exclude=conf * \ -/var/www/myrepo/ -\end{lstlisting} -\end{frame} - - -\begin{frame}[fragile] -\frametitle{build debian package inside the buildenv} -\begin{lstlisting} -# login to elbe-initvm -$ make run-con -\end{lstlisting} -change into buildenv and configure apt to use myrepo -\begin{lstlisting} -$ elbe chroot /var/cache/elbe/... -$ echo 'deb-src http://10.0.2.2/myrepo wheezy main' >> /etc/apt/sources.list -$ apt-get update -\end{lstlisting} -retrive myapp source package and build armhf binary package -\begin{lstlisting} -$ apt-get source myapp -$ cd myapp-1.0 -$ ./autogen.sh -$ dpkg-buildpackage -b -\end{lstlisting} -copy the package to the host PC and install it into the buildenv -\begin{lstlisting} -$ scp ../myapp*.changes ../myapp*.deb 10.0.2.2:/tmp -$ dpkg -i ../myapp*.deb -$ myapp -\end{lstlisting} -\end{frame} - - -\begin{frame}[fragile] -\frametitle{add myapp armhf package to the repo} -\begin{lstlisting} -$ cd ../myrepo -$ reprepro include wheezy /tmp/myapp_1.0_armhf.changes -$ sudo rsync -av --exclude=db --exclude=conf * \ -/var/www/myrepo/ -\end{lstlisting} -\end{frame} - - -\subsection{include app in target RFS} - -\begin{frame}[fragile] -\frametitle{add repo including myapp} -\begin{lstlisting} -$ cd .. -$ $EDIT mini.xml -\end{lstlisting} -\begin{verbatim} -... - <mirror> - <primary_host>ftp.debian.org</primary_host> - <primary_path>/debian</primary_path> - <primary_proto>http</primary_proto> - <url-list> - <url> - <binary>http://LOCALMACHINE/myrepo wheezy main</binary> - <source>http://LOCALMACHINE/myrepo wheezy main</source> - </url> - </url-list> - </mirror> - <noauth/> -... -\end{verbatim} -\end{frame} - -\begin{frame}[fragile] -\frametitle{add myapp} -\begin{verbatim} -... - <target> - <hostname>mini</hostname> - <domain>linutronix</domain> - <passwd>foo</passwd> - <finetuning> - <rm>var/cache/apt/archives/*.deb</rm> - </finetuning> - <pkg-list> - <pkg>bash</pkg> - <pkg>myapp</pkg> - </pkg-list> - </target> -</ns0:RootFileSystem> -\end{verbatim} -\end{frame} - -\subsection{define a striped target RFS} -\begin{frame}[fragile] -\frametitle{define sdcard image} -\begin{verbatim} -... - <target> - <hostname>mini</hostname> - <domain>linutronix</domain> - <passwd>foo</passwd> - <console>ttyAMA0,115200</console> - <package> - <tar> - <name>rootfs.tar.gz</name> - </tar> - </package> - <images> - <msdoshd> - <name>my.img</name> - <size>64MiB</size> - <partition> - <size>remain</size> - <label>rfs</label> - </partition> - </msdoshd> - </images> -... -\end{verbatim} -\end{frame} - -\begin{frame}[fragile] -\frametitle{create fstab and set elbe mode} -\begin{verbatim} -... - </images> - <fstab> - <bylabel> - <label>rfs</label> - <mountpoint>/</mountpoint> - <fs> - <type>ext2</type> - <tune2fs>-i 0</tune2fs> - </fs> - </bylabel> - </fstab> - <diet /> - <norecommend /> - <finetuning> -... -\end{verbatim} -\end{frame} - -\begin{frame}[fragile] -\frametitle{build and extract target as nfsroot} -\begin{lstlisting} -$ elbe control set_xml /var/cache/elbe/.. mini.xml -$ elbe control build /var/cache/elbe/.. -$ elbe list_files /var/cache/elbe/.. -$ elbe get_file /var/cache/elbe/.. elbe-report.txt -$ elbe get_file /var/cache/elbe/.. rootfs.tar.gz -\end{lstlisting} -hint: it is possible to generate a html page from the elbe-report.txt: -\begin{lstlisting} -$ asciidoc elbe-report.txt -\end{lstlisting} -host the nfs root filesystem -\begin{lstlisting} -$ sudo mkdir -p /nfs/elbe-armhf -$ sudo tar xzf rootfs.tar.gz -C /nfs/elbe-armhf -$ su -c \ -'echo "/nfs *(rw,sync,no_subtree_check,insecure) \ ->> /etc/exports"' -$ sudo /etc/init.d/nfs-kernel-server restart -\end{lstlisting} -\end{frame} - -\begin{frame}[fragile] -\frametitle{build current kernel for qemu armhf boot} -\begin{verbatim} -$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux -$ cd linux -$ mkdir ../linux-qemu-arm -$ ARCH=arm CROSS_COMPILE=arm-none-eabi- make O=../linux-qemu-arm versatile_defconfig -$ # enable Kernel Features / Use the ARM EABI to compile the kernel -$ # Allow old ABI binaries to run with this kernel -$ # Networking support / Networking options / TCP/IP networking / -$ # IP: kernel level autoconfiguration / IP: DHCP Support -$ ARCH=arm CROSS_COMPILE=arm-none-eabi- make O=../linux-qemu-arm menuconfig -$ ARCH=arm CROSS_COMPILE=arm-none-eabi- make O=../linux-qemu-arm -j5 -$ cd .. -\end{verbatim} -\end{frame} - - -\begin{frame}[fragile] -\frametitle{boot nfsroot with qemu} -\begin{lstlisting} -qemu-system-arm -M versatilepb -no-reboot \ - -m 256 -usb \ - -kernel linux-qemu-arm/arch/arm/boot/zImage \ - -append 'root=/dev/nfs nfsroot=10.0.2.2:/nfs/elbe-armhf - ip=dhcp init=/usr/bin/myapp' -\end{lstlisting} -\end{frame} - -\begin{frame}[fragile] -\frametitle{strip the nfsroot} -\begin{verbatim} -$ sudo rm -rf /nfs/elbe-armhf/etc -$ sudo rm -rf /nfs/elbe-armhf/sbin -$ sudo rm -rf /nfs/elbe-armhf/var -$ sudo rm -rf /nfs/elbe-armhf/usr/share -$ sudo rm -rf /nfs/elbe-armhf/usr/lib -$ sudo rm -rf /nfs/elbe-armhf/usr/sbin -$ sudo cp /nfs/elbe-armhf/usr/bin/myapp . -$ sudo rm -rf /nfs/elbe-armhf/usr/bin/* -$ sudo mv myapp /nfs/elbe-armhf/usr/bin/ -$ sudo cp -a /nfs/elbe-armhf/lib/arm-linux-gnueabi/ld-* . -$ sudo cp -a /nfs/elbe-armhf/lib/arm-linux-gnueabi/libc-2.13.so . -$ sudo cp -a /nfs/elbe-armhf/lib/arm-linux-gnueabi/libc.so.6 . -$ sudo rm /nfs/elbe-armhf/lib/arm-linux-gnueabi/* -$ sudo mv libc-2.13.so /nfs/elbe-armhf/lib/arm-linux-gnueabi/ -$ sudo mv libc.so.6 /nfs/elbe-armhf/lib/arm-linux-gnueabi/ -$ sudo mv ld-* /nfs/elbe-armhf/lib/arm-linux-gnueabi/ -\end{verbatim} -\end{frame} - - -\begin{frame}[fragile] -\frametitle{update the ELBE XML file} -\begin{verbatim} -$ sudo mkdir /nfs/elbe-armhf-orig -$ sudo tar xzf rootfs.tar.gz -C /nfs/elbe-armhf-orig/ -$ elbe pkgdiff -$ sudo elbe diff /nfs/elbe-armhf-orig /nfs/elbe-armhf > diff.txt -$ cd .. -\end{verbatim} -\begin{verbatim} -$ vim mini.xml -$ # place cursor in finetuning section -$ <ESC>:read target/diff.txt<RETURN> -$ # remove everything until 'suggesting:' -$ <ESC>:x<RETURN> -\end{verbatim} -\begin{verbatim} -$ elbe create --directory=target-stripped mini.xml -$ cd target-stripped -$ make -$ # get debian kernel and initrd from the buildenv: -$ make .elbe-vm/vmkernel .elbe-vm/vminitrd -$ # boot the image -$ qemu-system-arm -M versatilepb \ --kernel .elbe-vm/vmkernel -initrd .elbe-vm/vminitrd \ --append 'root=/dev/sda1 init=/usr/bin/myapp' my.img -\end{verbatim} -\end{frame} - -\subsection{setup own debian mirror} - -\begin{frame}[fragile] -\frametitle{partial clone a remote debian mirror} -\begin{lstlisting} -$ mkdir -p /mirrors/debian -$ cd debian -$ debmirror -p -d wheezy, -a i386,amd64,armhf \ - --di-dist=wheezy \ - --method=http --no-check-gpg \ - -h ftp.de.debian.org . -$ cd /var/www/html -$ ln -s /mirrors/debian -\end{lstlisting} -\end{frame} - -\subsection{Conclusion} -\begin{frame} -\begin{itemize} -\item generate an ELBE buildenv with a minimal XML file -\item manage software components with autotools, dpkg and reprepro -\item build own software component inside the ELBE buildenv -\item include own debian packages in the target RFS -\item edit a running rootfs and make it reproducable -\item setup a partial, local debian mirror -\end{itemize} -\end{frame} - -\input{tailpres} |
