summaryrefslogtreecommitdiff
path: root/distribution/elbe-example/pres_elbe-example_en.tex
diff options
context:
space:
mode:
authorManuel Traut <manut@linutronix.de>2014-11-07 12:34:17 +0100
committerManuel Traut <manut@linutronix.de>2014-11-07 12:34:17 +0100
commit3b0fed3e2cb511038a6897f12c09cf141bb3f048 (patch)
tree368a26d464bc3a4975d24fe26102b2b61a243d67 /distribution/elbe-example/pres_elbe-example_en.tex
parent72d5c349e81d92aa4720a33c4884794adbb71c22 (diff)
update elbe-example to be elbe-1.0 compatible
Signed-off-by: Manuel Traut <manut@linutronix.de>
Diffstat (limited to 'distribution/elbe-example/pres_elbe-example_en.tex')
-rw-r--r--distribution/elbe-example/pres_elbe-example_en.tex178
1 files changed, 84 insertions, 94 deletions
diff --git a/distribution/elbe-example/pres_elbe-example_en.tex b/distribution/elbe-example/pres_elbe-example_en.tex
index e80a2e1..dd39b24 100644
--- a/distribution/elbe-example/pres_elbe-example_en.tex
+++ b/distribution/elbe-example/pres_elbe-example_en.tex
@@ -20,68 +20,58 @@
\subsection{generate a buildenv}
\begin{frame}[fragile]
-\frametitle{minimal XML file}
-\begin{verbatim}
-<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>armel</buildtype>
- <mirror>
- <primary_host>ftp.debian.org</primary_host>
- <primary_path>/debian</primary_path>
- <primary_proto>http</primary_proto>
- <url-list>
- <url>
- <binary>http://debian.linutronix.de/elbe wheezy main</binary>
- </url>
- </url-list>
- </mirror>
-\end{verbatim}
+\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{minimal XML file}
-\begin{verbatim}
- <suite>wheezy</suite>
- <buildimage>
- <kinitrd>elbe-bootstrap</kinitrd>
- <pkg-list>
- <pkg>build-essential</pkg>
- <pkg>debhelper</pkg>
- <pkg>devscripts</pkg>
- <pkg>autotools-dev</pkg>
- <pkg>automake</pkg>
- </pkg-list>
- </buildimage>
- </project>
- <target>
- <hostname>mini</hostname>
- <domain>linutronix</domain>
- <passwd>foo</passwd>
- <finetuning>
- </finetuning>
- <pkg-list>
- <pkg>bash</pkg>
- </pkg-list>
- </target>
-</ns0:RootFileSystem>
-\end{verbatim}
+ \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{create and build mini.xml}
+\frametitle{build mini.xml}
\begin{lstlisting}
-$ elbe create --directory=./buildenv mini.xml
-$ cd buildenv
-$ make
+$ elbe control create_project mini.xml
+$ elbe control list_projects
+$ elbe build /var/cache/elbe/...
\end{lstlisting}
\end{frame}
@@ -246,7 +236,7 @@ myapp_1.0_i386.changes
\end{frame}
\begin{frame}[fragile]
-\frametitle{host myapp in a debian repository}
+\frametitle{host myapp source in a debian repository}
\begin{lstlisting}
$ cd ..
$ mkdir -p myrepo/conf
@@ -260,7 +250,7 @@ Suite: stable
Codename: wheezy
Update: - myremoterepo
Version:
-Architectures: i386 amd64 source
+Architectures: armhf source
Components: main
Description: my debian packages
\end{verbatim}
@@ -268,9 +258,9 @@ Description: my debian packages
\begin{frame}[fragile]
-\frametitle{host myapp in a debian repository}
+\frametitle{host myapp source in a debian repository}
\begin{lstlisting}
-$ reprepro include wheezy ../myapp_1.0_i386.changes
+$ reprepro includedsc wheezy ../myapp_1.0.dsc
$ sudo mkdir /var/www/
$ sudo rsync -av --exclude=db --exclude=conf * \
/var/www/myrepo/
@@ -281,15 +271,16 @@ $ sudo rsync -av --exclude=db --exclude=conf * \
\begin{frame}[fragile]
\frametitle{build debian package inside the buildenv}
\begin{lstlisting}
-$ cd ../buildenv
+# login to elbe-initvm
$ make run-con
\end{lstlisting}
-login into buildenv and configure apt to use myrepo
+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 armel binary package
+retrive myapp source package and build armhf binary package
\begin{lstlisting}
$ apt-get source myapp
$ cd myapp-1.0
@@ -306,10 +297,10 @@ $ myapp
\begin{frame}[fragile]
-\frametitle{add myapp armel package to the repo}
+\frametitle{add myapp armhf package to the repo}
\begin{lstlisting}
$ cd ../myrepo
-$ reprepro include wheezy /tmp/myapp_1.0_armel.changes
+$ reprepro include wheezy /tmp/myapp_1.0_armhf.changes
$ sudo rsync -av --exclude=db --exclude=conf * \
/var/www/myrepo/
\end{lstlisting}
@@ -332,9 +323,6 @@ $ $EDIT mini.xml
<primary_proto>http</primary_proto>
<url-list>
<url>
- <binary>http://debian.linutronix.de/elbe wheezy main</binary>
- </url>
- <url>
<binary>http://LOCALMACHINE/myrepo wheezy main</binary>
<source>http://LOCALMACHINE/myrepo wheezy main</source>
</url>
@@ -419,9 +407,11 @@ $ $EDIT mini.xml
\begin{frame}[fragile]
\frametitle{build and extract target as nfsroot}
\begin{lstlisting}
-$ elbe create mini.xml --directory=./target
-$ cd target
-$ make
+$ 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}
@@ -429,8 +419,8 @@ $ asciidoc elbe-report.txt
\end{lstlisting}
host the nfs root filesystem
\begin{lstlisting}
-$ sudo mkdir -p /nfs/elbe-armel
-$ sudo tar xzf rootfs.tar.gz -C /nfs/elbe-armel
+$ 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"'
@@ -439,7 +429,7 @@ $ sudo /etc/init.d/nfs-kernel-server restart
\end{frame}
\begin{frame}[fragile]
-\frametitle{build current kernel for qemu armel boot}
+\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
@@ -462,7 +452,7 @@ $ cd ..
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-armel
+ -append 'root=/dev/nfs nfsroot=10.0.2.2:/nfs/elbe-armhf
ip=dhcp init=/usr/bin/myapp'
\end{lstlisting}
\end{frame}
@@ -470,22 +460,22 @@ qemu-system-arm -M versatilepb -no-reboot \
\begin{frame}[fragile]
\frametitle{strip the nfsroot}
\begin{verbatim}
-$ sudo rm -rf /nfs/elbe-armel/etc
-$ sudo rm -rf /nfs/elbe-armel/sbin
-$ sudo rm -rf /nfs/elbe-armel/var
-$ sudo rm -rf /nfs/elbe-armel/usr/share
-$ sudo rm -rf /nfs/elbe-armel/usr/lib
-$ sudo rm -rf /nfs/elbe-armel/usr/sbin
-$ sudo cp /nfs/elbe-armel/usr/bin/myapp .
-$ sudo rm -rf /nfs/elbe-armel/usr/bin/*
-$ sudo mv myapp /nfs/elbe-armel/usr/bin/
-$ sudo cp -a /nfs/elbe-armel/lib/arm-linux-gnueabi/ld-* .
-$ sudo cp -a /nfs/elbe-armel/lib/arm-linux-gnueabi/libc-2.13.so .
-$ sudo cp -a /nfs/elbe-armel/lib/arm-linux-gnueabi/libc.so.6 .
-$ sudo rm /nfs/elbe-armel/lib/arm-linux-gnueabi/*
-$ sudo mv libc-2.13.so /nfs/elbe-armel/lib/arm-linux-gnueabi/
-$ sudo mv libc.so.6 /nfs/elbe-armel/lib/arm-linux-gnueabi/
-$ sudo mv ld-* /nfs/elbe-armel/lib/arm-linux-gnueabi/
+$ 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}
@@ -493,10 +483,10 @@ $ sudo mv ld-* /nfs/elbe-armel/lib/arm-linux-gnueabi/
\begin{frame}[fragile]
\frametitle{update the ELBE XML file}
\begin{verbatim}
-$ sudo mkdir /nfs/elbe-armel-orig
-$ sudo tar xzf rootfs.tar.gz -C /nfs/elbe-armel-orig/
+$ sudo mkdir /nfs/elbe-armhf-orig
+$ sudo tar xzf rootfs.tar.gz -C /nfs/elbe-armhf-orig/
$ elbe pkgdiff
-$ sudo elbe diff /nfs/elbe-armel-orig /nfs/elbe-armel > diff.txt
+$ sudo elbe diff /nfs/elbe-armhf-orig /nfs/elbe-armhf > diff.txt
$ cd ..
\end{verbatim}
\begin{verbatim}
@@ -526,7 +516,7 @@ $ qemu-system-arm -M versatilepb \
\begin{lstlisting}
$ mkdir -p /mirrors/debian
$ cd debian
-$ debmirror -p -d wheezy, -a i386,amd64,armel,armhf \
+$ debmirror -p -d wheezy, -a i386,amd64,armhf \
--di-dist=wheezy \
--method=http --no-check-gpg \
-h ftp.de.debian.org .