diff options
Diffstat (limited to 'distribution')
20 files changed, 1939 insertions, 157 deletions
diff --git a/distribution/debian/pres_debian.tex b/distribution/debian/pres_debian.tex index 0009185..5736c4e 100644 --- a/distribution/debian/pres_debian.tex +++ b/distribution/debian/pres_debian.tex @@ -5,10 +5,6 @@ \includegraphics[width=1.0\textwidth]{debian.png} \end{figure} Manuel Traut, Linutronix GmbH - -OSADL Networking Day 2013 - -May 28, 2013 \end{frame} \subsection{Agenda} @@ -24,7 +20,7 @@ and a clear focus on Security. We also have a look at the open-source infrastructure of Debian. \end{frame} -\subsection{Debian is a community driven distribution} +\subsection{community driven distribution} \begin{frame} The Debian Project is \begin{itemize} diff --git a/distribution/elbe-devel/Makefile b/distribution/elbe-example/Makefile index 0881674..0881674 100644 --- a/distribution/elbe-devel/Makefile +++ b/distribution/elbe-example/Makefile diff --git a/distribution/elbe-example/mini-incl-target-stripped.xml b/distribution/elbe-example/mini-incl-target-stripped.xml new file mode 100644 index 0000000..30f8f48 --- /dev/null +++ b/distribution/elbe-example/mini-incl-target-stripped.xml @@ -0,0 +1,934 @@ +<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> + minimal target rfs including a simple app + buildenv to build the simple app + </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> + <binary>http://LOCALMACHINE/myrepo wheezy main</binary> + <source>http://LOCALMACHINE/myrepo wheezy main</source> + </url> + </url-list> + </mirror> + <noauth/> + <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> + <console>ttyAMA0,115200</console> + <package> + <tar> + <name>rootfs.tar.gz</name> + </tar> + </package> + <images> + <msdoshd> + <name>my.img</name> + <size>200MiB</size> + <partition> + <size>remain</size> + <label>rfs</label> + </partition> + </msdoshd> + </images> + <fstab> + <bylabel> + <label>rfs</label> + <mountpoint>/</mountpoint> + <fs> + <type>ext2</type> + <tune2fs>-i 0</tune2fs> + </fs> + </bylabel> + </fstab> + <diet /> + <norecommend /> + <finetuning> + <rm>var/cache/apt/archives/*.deb</rm> + <command>echo "T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100" >> etc/inittab</command> + <rm>/var/backups</rm> + <rm>/var/tmp</rm> + <rm>/var/log</rm> + <rm>/var/lib/dpkg/updates</rm> + <rm>/var/lib/dpkg/parts</rm> + <rm>/var/lib/dpkg/info</rm> + <rm>/var/lib/dpkg/alternatives</rm> + <rm>/var/lib/misc</rm> + <rm>/var/spool</rm> + <rm>/var/local</rm> + <rm>/usr/share</rm> + <rm>/usr/share/debianutils/shells</rm> + <rm>/usr/share/dict</rm> + <rm>/usr/share/libc-bin/nsswitch.conf</rm> + <rm>/usr/share/dpkg/archtable</rm> + <rm>/usr/share/dpkg/abitable</rm> + <rm>/usr/share/dpkg/ostable</rm> + <rm>/usr/share/dpkg/triplettable</rm> + <rm>/usr/share/dpkg/cputable</rm> + <rm>/usr/share/locale</rm> + <rm>/usr/share/locale/ja</rm> + <rm>/usr/share/locale/ja/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/ja/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/ja/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/mr</rm> + <rm>/usr/share/locale/mr/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/tr</rm> + <rm>/usr/share/locale/tr/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/tr/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/pa</rm> + <rm>/usr/share/locale/pa/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/pt_BR</rm> + <rm>/usr/share/locale/pt_BR/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/pt_BR/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/pt_BR/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/nn</rm> + <rm>/usr/share/locale/nn/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/dz</rm> + <rm>/usr/share/locale/dz/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/zh_TW</rm> + <rm>/usr/share/locale/zh_TW/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/zh_TW/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/zh_TW/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/en@boldquot</rm> + <rm>/usr/share/locale/en@boldquot/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/de</rm> + <rm>/usr/share/locale/de/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/de/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/de/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/vi</rm> + <rm>/usr/share/locale/vi/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/vi/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/vi/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/fr</rm> + <rm>/usr/share/locale/fr/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/fr/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/fr/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/ro</rm> + <rm>/usr/share/locale/ro/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/ro/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/ro/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/et</rm> + <rm>/usr/share/locale/et/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/et/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/et/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/es</rm> + <rm>/usr/share/locale/es/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/es/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/es/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/ga</rm> + <rm>/usr/share/locale/ga/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/ga/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/sv</rm> + <rm>/usr/share/locale/sv/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/sv/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/sv/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/eo</rm> + <rm>/usr/share/locale/eo/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/eo/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/lt</rm> + <rm>/usr/share/locale/lt/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/lt/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/id</rm> + <rm>/usr/share/locale/id/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/id/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/id/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/nl</rm> + <rm>/usr/share/locale/nl/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/nl/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/nl/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/bg</rm> + <rm>/usr/share/locale/bg/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/bg/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/bs</rm> + <rm>/usr/share/locale/bs/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/cs</rm> + <rm>/usr/share/locale/cs/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/cs/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/cs/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/it</rm> + <rm>/usr/share/locale/it/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/it/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/hu</rm> + <rm>/usr/share/locale/hu/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/hu/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/hu/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/hr</rm> + <rm>/usr/share/locale/hr/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/th</rm> + <rm>/usr/share/locale/th/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/zh_CN</rm> + <rm>/usr/share/locale/zh_CN/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/zh_CN/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/zh_CN/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/da</rm> + <rm>/usr/share/locale/da/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/da/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/pl</rm> + <rm>/usr/share/locale/pl/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/pl/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/pl/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/pt</rm> + <rm>/usr/share/locale/pt/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/pt/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/el</rm> + <rm>/usr/share/locale/el/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/el/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/ku</rm> + <rm>/usr/share/locale/ku/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/af</rm> + <rm>/usr/share/locale/af/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/fi</rm> + <rm>/usr/share/locale/fi/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/fi/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/ko</rm> + <rm>/usr/share/locale/ko/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/ko/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/en@quot</rm> + <rm>/usr/share/locale/en@quot/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/gl</rm> + <rm>/usr/share/locale/gl/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/gl/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/ne</rm> + <rm>/usr/share/locale/ne/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/ast</rm> + <rm>/usr/share/locale/ast/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/sl</rm> + <rm>/usr/share/locale/sl/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/ca</rm> + <rm>/usr/share/locale/ca/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/ca/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/ca/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/uk</rm> + <rm>/usr/share/locale/uk/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/uk/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/eu</rm> + <rm>/usr/share/locale/eu/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/eu/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/ms</rm> + <rm>/usr/share/locale/ms/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/nb</rm> + <rm>/usr/share/locale/nb/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/nb/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/sk</rm> + <rm>/usr/share/locale/sk/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/sk/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/sk/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/ru</rm> + <rm>/usr/share/locale/ru/LC_MESSAGES/bash.mo</rm> + <rm>/usr/share/locale/ru/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/ru/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/km</rm> + <rm>/usr/share/locale/km/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/locale/ky</rm> + <rm>/usr/share/locale/ky/LC_MESSAGES/tar.mo</rm> + <rm>/usr/share/locale/tl</rm> + <rm>/usr/share/locale/tl/LC_MESSAGES/dpkg.mo</rm> + <rm>/usr/share/doc</rm> + <rm>/usr/share/doc/libbz2-1.0/changelog.gz</rm> + <rm>/usr/share/doc/libbz2-1.0/copyright</rm> + <rm>/usr/share/doc/libbz2-1.0/changelog.Debian.gz</rm> + <rm>/usr/share/doc/libc6/README.hesiod.gz</rm> + <rm>/usr/share/doc/libc6/changelog.gz</rm> + <rm>/usr/share/doc/libc6/NEWS.Debian.gz</rm> + <rm>/usr/share/doc/libc6/FAQ.gz</rm> + <rm>/usr/share/doc/libc6/test-results-arm-linux-gnueabi-libc</rm> + <rm>/usr/share/doc/libc6/copyright</rm> + <rm>/usr/share/doc/libc6/changelog.Debian.gz</rm> + <rm>/usr/share/doc/libc6/NEWS.gz</rm> + <rm>/usr/share/doc/libc6/BUGS</rm> + <rm>/usr/share/doc/libc6/README.Debian.gz</rm> + <rm>/usr/share/doc/libselinux1/changelog.gz</rm> + <rm>/usr/share/doc/libselinux1/copyright</rm> + <rm>/usr/share/doc/libselinux1/changelog.Debian.gz</rm> + <rm>/usr/share/doc/debianutils/changelog.gz</rm> + <rm>/usr/share/doc/debianutils/copyright</rm> + <rm>/usr/share/doc/debianutils/README.shells.gz</rm> + <rm>/usr/share/doc/zlib1g/changelog.gz</rm> + <rm>/usr/share/doc/zlib1g/copyright</rm> + <rm>/usr/share/doc/zlib1g/changelog.Debian.gz</rm> + <rm>/usr/share/doc/sensible-utils/changelog.gz</rm> + <rm>/usr/share/doc/sensible-utils/copyright</rm> + <rm>/usr/share/doc/tar/AUTHORS</rm> + <rm>/usr/share/doc/tar/changelog.1.gz</rm> + <rm>/usr/share/doc/tar/changelog.gz</rm> + <rm>/usr/share/doc/tar/NEWS.Debian.gz</rm> + <rm>/usr/share/doc/tar/THANKS.gz</rm> + <rm>/usr/share/doc/tar/copyright</rm> + <rm>/usr/share/doc/tar/changelog.Debian.gz</rm> + <rm>/usr/share/doc/tar/README.Debian</rm> + <rm>/usr/share/doc/tar/NEWS.gz</rm> + <rm>/usr/share/doc/bash/POSIX.gz</rm> + <rm>/usr/share/doc/bash/COMPAT.gz</rm> + <rm>/usr/share/doc/bash/FAQ</rm> + <rm>/usr/share/doc/bash/inputrc.arrows</rm> + <rm>/usr/share/doc/bash/CHANGES.gz</rm> + <rm>/usr/share/doc/bash/copyright</rm> + <rm>/usr/share/doc/bash/changelog.Debian.gz</rm> + <rm>/usr/share/doc/bash/INTRO.gz</rm> + <rm>/usr/share/doc/bash/README.commands.gz</rm> + <rm>/usr/share/doc/bash/README.abs-guide</rm> + <rm>/usr/share/doc/bash/NEWS.gz</rm> + <rm>/usr/share/doc/bash/README.Debian.gz</rm> + <rm>/usr/share/doc/libc-bin/changelog.gz</rm> + <rm>/usr/share/doc/libc-bin/TODO.Debian</rm> + <rm>/usr/share/doc/libc-bin/copyright</rm> + <rm>/usr/share/doc/libc-bin/changelog.Debian.gz</rm> + <rm>/usr/share/doc/liblzma5/AUTHORS</rm> + <rm>/usr/share/doc/liblzma5/changelog.gz</rm> + <rm>/usr/share/doc/liblzma5/THANKS</rm> + <rm>/usr/share/doc/liblzma5/copyright</rm> + <rm>/usr/share/doc/liblzma5/changelog.Debian.gz</rm> + <rm>/usr/share/doc/liblzma5/NEWS.gz</rm> + <rm>/usr/share/doc/dpkg/AUTHORS</rm> + <rm>/usr/share/doc/dpkg/changelog.gz</rm> + <rm>/usr/share/doc/dpkg/usertags.gz</rm> + <rm>/usr/share/doc/dpkg/README.feature-removal-schedule.gz</rm> + <rm>/usr/share/doc/dpkg/THANKS.gz</rm> + <rm>/usr/share/doc/dpkg/copyright</rm> + <rm>/usr/share/doc/dpkg/changelog.Debian.gz</rm> + <rm>/usr/share/doc/multiarch-support/changelog.gz</rm> + <rm>/usr/share/doc/multiarch-support/copyright</rm> + <rm>/usr/share/doc/multiarch-support/changelog.Debian.gz</rm> + <rm>/usr/share/doc/gcc-4.7-base/TODO.Debian</rm> + <rm>/usr/share/doc/gcc-4.7-base/README.Debian.armel.gz</rm> + <rm>/usr/share/doc/gcc-4.7-base/copyright</rm> + <rm>/usr/share/doc/gcc-4.7-base/changelog.Debian.gz</rm> + <rm>/usr/share/doc/base-files/README</rm> + <rm>/usr/share/doc/base-files/changelog.gz</rm> + <rm>/usr/share/doc/base-files/README.FHS</rm> + <rm>/usr/share/doc/base-files/FAQ</rm> + <rm>/usr/share/doc/base-files/copyright</rm> + <rm>/usr/share/doc/libtinfo5/changelog.gz</rm> + <rm>/usr/share/doc/libtinfo5/TODO.Debian</rm> + <rm>/usr/share/doc/libtinfo5/copyright</rm> + <rm>/usr/share/doc/libtinfo5/changelog.Debian.gz</rm> + <rm>/usr/share/doc/myapp/changelog.gz</rm> + <rm>/usr/share/doc/dash/changelog.gz</rm> + <rm>/usr/share/doc/dash/NEWS.Debian.gz</rm> + <rm>/usr/share/doc/dash/README.source</rm> + <rm>/usr/share/doc/dash/README.Debian.diet</rm> + <rm>/usr/share/doc/dash/copyright</rm> + <rm>/usr/share/doc/dash/changelog.Debian.gz</rm> + <rm>/usr/share/menu/bash</rm> + <rm>/usr/share/menu/dash</rm> + <rm>/usr/share/base-files/nsswitch.conf</rm> + <rm>/usr/share/base-files/info.dir</rm> + <rm>/usr/share/base-files/dot.bashrc</rm> + <rm>/usr/share/base-files/profile</rm> + <rm>/usr/share/base-files/dot.profile</rm> + <rm>/usr/share/base-files/motd</rm> + <rm>/usr/share/base-files/profile.md5sums</rm> + <rm>/usr/share/base-files/staff-group-for-usr-local</rm> + <rm>/usr/share/misc</rm> + <rm>/usr/share/lintian</rm> + <rm>/usr/share/lintian/overrides/libc6</rm> + <rm>/usr/share/lintian/overrides/libselinux1</rm> + <rm>/usr/share/lintian/overrides/libgcc1</rm> + <rm>/usr/share/lintian/overrides/bash</rm> + <rm>/usr/share/lintian/overrides/libc-bin</rm> + <rm>/usr/share/lintian/overrides/dpkg</rm> + <rm>/usr/share/lintian/overrides/base-files</rm> + <rm>/usr/share/man</rm> + <rm>/usr/share/man/ja</rm> + <rm>/usr/share/man/ja/man8/update-alternatives.8.gz</rm> + <rm>/usr/share/man/ja/man8/start-stop-daemon.8.gz</rm> + <rm>/usr/share/man/ja/man8/dpkg-statoverride.8.gz</rm> + <rm>/usr/share/man/ja/man8/dpkg-divert.8.gz</rm> + <rm>/usr/share/man/ja/man1/sensible-pager.1.gz</rm> + <rm>/usr/share/man/ja/man1/dpkg-maintscript-helper.1.gz</rm> + <rm>/usr/share/man/ja/man1/dpkg-deb.1.gz</rm> + <rm>/usr/share/man/ja/man1/sensible-editor.1.gz</rm> + <rm>/usr/share/man/ja/man1/dpkg.1.gz</rm> + <rm>/usr/share/man/ja/man1/sensible-browser.1.gz</rm> + <rm>/usr/share/man/ja/man1/dpkg-split.1.gz</rm> + <rm>/usr/share/man/ja/man1/dpkg-trigger.1.gz</rm> + <rm>/usr/share/man/ja/man1/dpkg-query.1.gz</rm> + <rm>/usr/share/man/ja/man5/dpkg.cfg.5.gz</rm> + <rm>/usr/share/man/man8/zic.8.gz</rm> + <rm>/usr/share/man/man8/update-alternatives.8.gz</rm> + <rm>/usr/share/man/man8/ld.so.8.gz</rm> + <rm>/usr/share/man/man8/start-stop-daemon.8.gz</rm> + <rm>/usr/share/man/man8/add-shell.8.gz</rm> + <rm>/usr/share/man/man8/remove-shell.8.gz</rm> + <rm>/usr/share/man/man8/rpcinfo.8.gz</rm> + <rm>/usr/share/man/man8/dpkg-statoverride.8.gz</rm> + <rm>/usr/share/man/man8/installkernel.8.gz</rm> + <rm>/usr/share/man/man8/rmt-tar.8.gz</rm> + <rm>/usr/share/man/man8/run-parts.8.gz</rm> + <rm>/usr/share/man/man8/ldconfig.8.gz</rm> + <rm>/usr/share/man/man8/iconvconfig.8.gz</rm> + <rm>/usr/share/man/man8/savelog.8.gz</rm> + <rm>/usr/share/man/man8/dpkg-divert.8.gz</rm> + <rm>/usr/share/man/de</rm> + <rm>/usr/share/man/de/man8/update-alternatives.8.gz</rm> + <rm>/usr/share/man/de/man8/start-stop-daemon.8.gz</rm> + <rm>/usr/share/man/de/man8/add-shell.8.gz</rm> + <rm>/usr/share/man/de/man8/remove-shell.8.gz</rm> + <rm>/usr/share/man/de/man8/dpkg-statoverride.8.gz</rm> + <rm>/usr/share/man/de/man8/installkernel.8.gz</rm> + <rm>/usr/share/man/de/man8/run-parts.8.gz</rm> + <rm>/usr/share/man/de/man8/savelog.8.gz</rm> + <rm>/usr/share/man/de/man8/dpkg-divert.8.gz</rm> + <rm>/usr/share/man/de/man1/sensible-pager.1.gz</rm> + <rm>/usr/share/man/de/man1/dpkg-maintscript-helper.1.gz</rm> + <rm>/usr/share/man/de/man1/dpkg-deb.1.gz</rm> + <rm>/usr/share/man/de/man1/which.1.gz</rm> + <rm>/usr/share/man/de/man1/sensible-editor.1.gz</rm> + <rm>/usr/share/man/de/man1/dpkg.1.gz</rm> + <rm>/usr/share/man/de/man1/sensible-browser.1.gz</rm> + <rm>/usr/share/man/de/man1/dpkg-split.1.gz</rm> + <rm>/usr/share/man/de/man1/dpkg-trigger.1.gz</rm> + <rm>/usr/share/man/de/man1/tempfile.1.gz</rm> + <rm>/usr/share/man/de/man1/dpkg-query.1.gz</rm> + <rm>/usr/share/man/de/man5/dpkg.cfg.5.gz</rm> + <rm>/usr/share/man/fr</rm> + <rm>/usr/share/man/fr/man8/update-alternatives.8.gz</rm> + <rm>/usr/share/man/fr/man8/start-stop-daemon.8.gz</rm> + <rm>/usr/share/man/fr/man8/add-shell.8.gz</rm> + <rm>/usr/share/man/fr/man8/remove-shell.8.gz</rm> + <rm>/usr/share/man/fr/man8/dpkg-statoverride.8.gz</rm> + <rm>/usr/share/man/fr/man8/installkernel.8.gz</rm> + <rm>/usr/share/man/fr/man8/run-parts.8.gz</rm> + <rm>/usr/share/man/fr/man8/savelog.8.gz</rm> + <rm>/usr/share/man/fr/man8/dpkg-divert.8.gz</rm> + <rm>/usr/share/man/fr/man1/sensible-pager.1.gz</rm> + <rm>/usr/share/man/fr/man1/dpkg-maintscript-helper.1.gz</rm> + <rm>/usr/share/man/fr/man1/dpkg-deb.1.gz</rm> + <rm>/usr/share/man/fr/man1/which.1.gz</rm> + <rm>/usr/share/man/fr/man1/sensible-editor.1.gz</rm> + <rm>/usr/share/man/fr/man1/dpkg.1.gz</rm> + <rm>/usr/share/man/fr/man1/sensible-browser.1.gz</rm> + <rm>/usr/share/man/fr/man1/dpkg-split.1.gz</rm> + <rm>/usr/share/man/fr/man1/dpkg-trigger.1.gz</rm> + <rm>/usr/share/man/fr/man1/tempfile.1.gz</rm> + <rm>/usr/share/man/fr/man1/dpkg-query.1.gz</rm> + <rm>/usr/share/man/fr/man5/dpkg.cfg.5.gz</rm> + <rm>/usr/share/man/man1/sh.1.gz</rm> + <rm>/usr/share/man/man1/bash.1.gz</rm> + <rm>/usr/share/man/man1/dash.1.gz</rm> + <rm>/usr/share/man/man1/tar.1.gz</rm> + <rm>/usr/share/man/man1/getconf.1.gz</rm> + <rm>/usr/share/man/man1/sensible-pager.1.gz</rm> + <rm>/usr/share/man/man1/bashbug.1.gz</rm> + <rm>/usr/share/man/man1/dpkg-maintscript-helper.1.gz</rm> + <rm>/usr/share/man/man1/dpkg-deb.1.gz</rm> + <rm>/usr/share/man/man1/which.1.gz</rm> + <rm>/usr/share/man/man1/locale.1.gz</rm> + <rm>/usr/share/man/man1/ischroot.1.gz</rm> + <rm>/usr/share/man/man1/sensible-editor.1.gz</rm> + <rm>/usr/share/man/man1/dpkg.1.gz</rm> + <rm>/usr/share/man/man1/ldd.1.gz</rm> + <rm>/usr/share/man/man1/catchsegv.1.gz</rm> + <rm>/usr/share/man/man1/sensible-browser.1.gz</rm> + <rm>/usr/share/man/man1/dpkg-split.1.gz</rm> + <rm>/usr/share/man/man1/dpkg-trigger.1.gz</rm> + <rm>/usr/share/man/man1/zdump.1.gz</rm> + <rm>/usr/share/man/man1/tempfile.1.gz</rm> + <rm>/usr/share/man/man1/rbash.1.gz</rm> + <rm>/usr/share/man/man1/clear_console.1.gz</rm> + <rm>/usr/share/man/man1/tzselect.1.gz</rm> + <rm>/usr/share/man/man1/iconv.1.gz</rm> + <rm>/usr/share/man/man1/localedef.1.gz</rm> + <rm>/usr/share/man/man1/dpkg-query.1.gz</rm> + <rm>/usr/share/man/es</rm> + <rm>/usr/share/man/es/man8/update-alternatives.8.gz</rm> + <rm>/usr/share/man/es/man8/start-stop-daemon.8.gz</rm> + <rm>/usr/share/man/es/man8/add-shell.8.gz</rm> + <rm>/usr/share/man/es/man8/remove-shell.8.gz</rm> + <rm>/usr/share/man/es/man8/dpkg-statoverride.8.gz</rm> + <rm>/usr/share/man/es/man8/installkernel.8.gz</rm> + <rm>/usr/share/man/es/man8/run-parts.8.gz</rm> + <rm>/usr/share/man/es/man8/savelog.8.gz</rm> + <rm>/usr/share/man/es/man8/dpkg-divert.8.gz</rm> + <rm>/usr/share/man/es/man1/sensible-pager.1.gz</rm> + <rm>/usr/share/man/es/man1/dpkg-maintscript-helper.1.gz</rm> + <rm>/usr/share/man/es/man1/dpkg-deb.1.gz</rm> + <rm>/usr/share/man/es/man1/which.1.gz</rm> + <rm>/usr/share/man/es/man1/sensible-editor.1.gz</rm> + <rm>/usr/share/man/es/man1/dpkg.1.gz</rm> + <rm>/usr/share/man/es/man1/sensible-browser.1.gz</rm> + <rm>/usr/share/man/es/man1/dpkg-split.1.gz</rm> + <rm>/usr/share/man/es/man1/dpkg-trigger.1.gz</rm> + <rm>/usr/share/man/es/man1/tempfile.1.gz</rm> + <rm>/usr/share/man/es/man1/dpkg-query.1.gz</rm> + <rm>/usr/share/man/es/man5/dpkg.cfg.5.gz</rm> + <rm>/usr/share/man/man7/bash-builtins.7.gz</rm> + <rm>/usr/share/man/sv</rm> + <rm>/usr/share/man/sv/man8/update-alternatives.8.gz</rm> + <rm>/usr/share/man/sv/man8/start-stop-daemon.8.gz</rm> + <rm>/usr/share/man/sv/man8/dpkg-statoverride.8.gz</rm> + <rm>/usr/share/man/sv/man8/dpkg-divert.8.gz</rm> + <rm>/usr/share/man/sv/man1/dpkg-maintscript-helper.1.gz</rm> + <rm>/usr/share/man/sv/man1/dpkg-deb.1.gz</rm> + <rm>/usr/share/man/sv/man1/dpkg.1.gz</rm> + <rm>/usr/share/man/sv/man1/dpkg-split.1.gz</rm> + <rm>/usr/share/man/sv/man1/dpkg-trigger.1.gz</rm> + <rm>/usr/share/man/sv/man1/dpkg-query.1.gz</rm> + <rm>/usr/share/man/sv/man5/dpkg.cfg.5.gz</rm> + <rm>/usr/share/man/it</rm> + <rm>/usr/share/man/it/man8/update-alternatives.8.gz</rm> + <rm>/usr/share/man/it/man8/start-stop-daemon.8.gz</rm> + <rm>/usr/share/man/it/man1/sensible-pager.1.gz</rm> + <rm>/usr/share/man/it/man1/dpkg-deb.1.gz</rm> + <rm>/usr/share/man/it/man1/sensible-editor.1.gz</rm> + <rm>/usr/share/man/it/man1/dpkg.1.gz</rm> + <rm>/usr/share/man/it/man1/sensible-browser.1.gz</rm> + <rm>/usr/share/man/it/man1/dpkg-split.1.gz</rm> + <rm>/usr/share/man/it/man1/dpkg-query.1.gz</rm> + <rm>/usr/share/man/it/man5/dpkg.cfg.5.gz</rm> + <rm>/usr/share/man/hu</rm> + <rm>/usr/share/man/hu/man5/dpkg.cfg.5.gz</rm> + <rm>/usr/share/man/pl</rm> + <rm>/usr/share/man/pl/man8/update-alternatives.8.gz</rm> + <rm>/usr/share/man/pl/man8/start-stop-daemon.8.gz</rm> + <rm>/usr/share/man/pl/man8/dpkg-statoverride.8.gz</rm> + <rm>/usr/share/man/pl/man8/dpkg-divert.8.gz</rm> + <rm>/usr/share/man/pl/man1/sensible-pager.1.gz</rm> + <rm>/usr/share/man/pl/man1/dpkg-maintscript-helper.1.gz</rm> + <rm>/usr/share/man/pl/man1/dpkg-deb.1.gz</rm> + <rm>/usr/share/man/pl/man1/sensible-editor.1.gz</rm> + <rm>/usr/share/man/pl/man1/dpkg.1.gz</rm> + <rm>/usr/share/man/pl/man1/sensible-browser.1.gz</rm> + <rm>/usr/share/man/pl/man1/dpkg-split.1.gz</rm> + <rm>/usr/share/man/pl/man1/dpkg-trigger.1.gz</rm> + <rm>/usr/share/man/pl/man1/dpkg-query.1.gz</rm> + <rm>/usr/share/man/pl/man5/dpkg.cfg.5.gz</rm> + <rm>/usr/share/man/man5/gai.conf.5.gz</rm> + <rm>/usr/share/man/man5/dpkg.cfg.5.gz</rm> + <rm>/usr/share/man/sl</rm> + <rm>/usr/share/man/sl/man8/add-shell.8.gz</rm> + <rm>/usr/share/man/sl/man8/remove-shell.8.gz</rm> + <rm>/usr/share/man/sl/man8/installkernel.8.gz</rm> + <rm>/usr/share/man/sl/man8/run-parts.8.gz</rm> + <rm>/usr/share/man/sl/man8/savelog.8.gz</rm> + <rm>/usr/share/man/sl/man1/which.1.gz</rm> + <rm>/usr/share/man/sl/man1/tempfile.1.gz</rm> + <rm>/usr/share/info</rm> + <rm>/usr/share/common-licenses/GPL-3</rm> + <rm>/usr/share/common-licenses/LGPL-2.1</rm> + <rm>/usr/share/common-licenses/BSD</rm> + <rm>/usr/share/common-licenses/LGPL</rm> + <rm>/usr/share/common-licenses/GPL-2</rm> + <rm>/usr/share/common-licenses/Apache-2.0</rm> + <rm>/usr/share/common-licenses/Artistic</rm> + <rm>/usr/share/common-licenses/GFDL-1.3</rm> + <rm>/usr/share/common-licenses/LGPL-2</rm> + <rm>/usr/share/common-licenses/GFDL-1.2</rm> + <rm>/usr/share/common-licenses/GPL-1</rm> + <rm>/usr/share/common-licenses/LGPL-3</rm> + <rm>/usr/share/common-licenses/GFDL</rm> + <rm>/usr/share/common-licenses/GPL</rm> + <rm>/usr/bin/bashbug</rm> + <rm>/usr/bin/ischroot</rm> + <rm>/usr/bin/zdump</rm> + <rm>/usr/bin/ldd</rm> + <rm>/usr/bin/dpkg-query</rm> + <rm>/usr/bin/localedef</rm> + <rm>/usr/bin/sensible-pager</rm> + <rm>/usr/bin/rpcinfo</rm> + <rm>/usr/bin/getent</rm> + <rm>/usr/bin/dpkg-maintscript-helper</rm> + <rm>/usr/bin/savelog</rm> + <rm>/usr/bin/dpkg-trigger</rm> + <rm>/usr/bin/sensible-editor</rm> + <rm>/usr/bin/tzselect</rm> + <rm>/usr/bin/catchsegv</rm> + <rm>/usr/bin/dpkg-split</rm> + <rm>/usr/bin/dpkg-statoverride</rm> + <rm>/usr/bin/update-alternatives</rm> + <rm>/usr/bin/dpkg-deb</rm> + <rm>/usr/bin/dpkg</rm> + <rm>/usr/bin/locale</rm> + <rm>/usr/bin/iconv</rm> + <rm>/usr/bin/which</rm> + <rm>/usr/bin/clear_console</rm> + <rm>/usr/bin/dpkg-divert</rm> + <rm>/usr/bin/getconf</rm> + <rm>/usr/bin/sensible-browser</rm> + <rm>/usr/sbin/remove-shell</rm> + <rm>/usr/sbin/rmt-tar</rm> + <rm>/usr/sbin/add-shell</rm> + <rm>/usr/sbin/dpkg-statoverride</rm> + <rm>/usr/sbin/update-alternatives</rm> + <rm>/usr/sbin/dpkg-divert</rm> + <rm>/usr/sbin/install-info</rm> + <rm>/usr/sbin/zic</rm> + <rm>/usr/sbin/iconvconfig</rm> + <rm>/usr/lib/pt_chown</rm> + <rm>/usr/lib/mime</rm> + <rm>/usr/lib/mime/packages/sensible-utils</rm> + <rm>/usr/lib/mime/packages/tar</rm> + <rm>/usr/lib/arm-linux-gnueabi/libtic.so.5.9</rm> + <rm>/usr/lib/arm-linux-gnueabi/libtic.so.5</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1008.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO8859-9E.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM904.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM852.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM284.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EBCDIC-DK-NO-A.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/INIS-CYRILLIC.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/BIG5.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO_6937-2.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/libGB.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/CSN_369103.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1149.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/CP932.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO8859-2.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EUC-KR.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM5347.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM933.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/DEC-MCS.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/VISCII.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM285.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM855.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/MIK.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/GBGBK.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM875.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/CP1125.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO_5427.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1004.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO-2022-KR.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM037.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM9066.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1130.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM864.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO8859-9.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM4899.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO8859-4.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM275.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM868.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EUC-TW.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM862.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM4909.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM861.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO8859-15.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/CP1258.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/MAC-SAMI.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM4971.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM278.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/HP-ROMAN9.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ARMSCII-8.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/MACINTOSH.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/CP1257.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM866NAV.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/libKSC.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM856.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO8859-14.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/libISOIR165.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/BIG5HKSCS.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO-2022-JP-3.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1160.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/GOST_19768-74.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1156.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/gconv-modules.cache</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/UTF-16.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EBCDIC-ES.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/GBBIG5.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO8859-10.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/BRF.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM9030.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO-IR-209.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO8859-1.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/UTF-7.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/CP775.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1157.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM420.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM437.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/TIS-620.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/UNICODE.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1166.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM905.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ECMA-CYRILLIC.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1144.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM277.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM423.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM274.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1025.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EBCDIC-AT-DE.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/RK1048.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM871.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EUC-JP-MS.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EBCDIC-FI-SE-A.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM424.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/gconv-modules</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/NATS-DANO.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM866.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EBCDIC-FR.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1146.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/SHIFT_JISX0213.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/PT154.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1147.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1145.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EBCDIC-ES-S.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/libCNS.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO8859-7.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EBCDIC-US.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM297.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1141.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM803.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1163.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/libJIS.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1158.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM860.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EBCDIC-IS-FRISS.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM891.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/TSCII.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM038.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM874.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM930.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM939.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1137.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EBCDIC-ES-A.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO8859-5.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1154.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/KOI8-RU.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/KOI8-R.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/CP1250.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM256.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM937.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1026.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/LATIN-GREEK.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1164.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM851.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1167.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EBCDIC-IT.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/NATS-SEFI.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1399.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/CP1256.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1047.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1390.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EBCDIC-DK-NO.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/MAC-CENTRALEUROPE.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1148.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/GBK.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/CP1255.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO8859-8.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1388.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO8859-11.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/HP-TURKISH8.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO8859-16.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/T.61.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/CWI.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/KOI8-T.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM943.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM932.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM850.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM4517.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO-2022-CN-EXT.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/libJISX0213.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/TCVN5712-1.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO8859-3.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO-2022-JP.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM857.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/GREEK7-OLD.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM9448.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1132.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO-IR-197.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO8859-13.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EBCDIC-AT-DE-A.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM865.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO_10367-BOX.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EUC-JISX0213.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1008_420.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM902.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/LATIN-GREEK-1.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/SJIS.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/HP-GREEK8.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM918.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO-2022-CN.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO_2033.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EBCDIC-PT.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1162.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM12712.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1123.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/GEORGIAN-ACADEMY.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM290.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EBCDIC-FI-SE.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/GB18030.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM500.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/UHC.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISIRI-3342.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ASMO_449.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1142.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM273.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM16804.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1112.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1122.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EBCDIC-UK.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/HP-ROMAN8.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM869.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EUC-CN.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/GREEK7.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM922.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/CP1252.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM280.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1140.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/INIS.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/KOI-8.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/SAMI-WS2.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/GEORGIAN-PS.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/MAC-IS.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1364.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/CP737.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO_11548-1.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IEC_P27-1.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO_5427-EXT.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1143.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1161.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM281.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1155.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1129.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO_6937.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM880.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/MAC-UK.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1097.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO8859-6.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM870.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/CP1254.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/KOI8-U.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/GREEK-CCITT.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1046.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM901.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM903.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/INIS-8.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO_5428.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM863.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1153.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/UTF-32.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM935.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/CP10007.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/CP1253.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/CP1251.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ANSI_X3.110.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/JOHAB.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1133.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EUC-JP.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/ISO646.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1124.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/EBCDIC-CA-FR.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM1371.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/HP-THAI8.so</rm> + <rm>/usr/lib/arm-linux-gnueabi/gconv/IBM921.so</rm> + <rm>/usr/lib/locale</rm> + <rm>/usr/lib/locale/C.UTF-8/LC_IDENTIFICATION</rm> + <rm>/usr/lib/locale/C.UTF-8/LC_NAME</rm> + <rm>/usr/lib/locale/C.UTF-8/LC_MONETARY</rm> + <rm>/usr/lib/locale/C.UTF-8/LC_TELEPHONE</rm> + <rm>/usr/lib/locale/C.UTF-8/LC_ADDRESS</rm> + <rm>/usr/lib/locale/C.UTF-8/LC_CTYPE</rm> + <rm>/usr/lib/locale/C.UTF-8/LC_PAPER</rm> + <rm>/usr/lib/locale/C.UTF-8/LC_TIME</rm> + <rm>/usr/lib/locale/C.UTF-8/LC_COLLATE</rm> + <rm>/usr/lib/locale/C.UTF-8/LC_MEASUREMENT</rm> + <rm>/usr/lib/locale/C.UTF-8/LC_NUMERIC</rm> + <rm>/usr/lib/locale/C.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES</rm> + <rm>/usr/lib/gcc</rm> + <rm>/usr/lib/gcc/arm-linux-gnueabi</rm> + <rm>/usr/lib/gcc/arm-linux-gnueabi/4.7</rm> + <rm>/sbin/start-stop-daemon</rm> + <rm>/sbin/ldconfig</rm> + <rm>/sbin/installkernel</rm> + <rm>/etc/os-release</rm> + <rm>/etc/bash.bashrc</rm> + <rm>/etc/debian_version</rm> + <rm>/etc/issue</rm> + <rm>/etc/rmt</rm> + <rm>/etc/fstab</rm> + <rm>/etc/host.conf</rm> + <rm>/etc/issue.net</rm> + <rm>/etc/inittab</rm> + <rm>/etc/bindresvport.blacklist</rm> + <rm>/etc/gai.conf</rm> + <rm>/etc/default/nss</rm> + <rm>/etc/profile.d</rm> + <rm>/etc/skel/.profile</rm> + <rm>/etc/skel/.bash_logout</rm> + <rm>/etc/skel/.bashrc</rm> + <rm>/etc/ld.so.conf.d/libc.conf</rm> + <rm>/etc/ld.so.conf.d/arm-linux-gnueabi.conf</rm> + <rm>/etc/dpkg/dpkg.cfg</rm> + <rm>/etc/dpkg/dpkg.cfg.d</rm> + <rm>/etc/dpkg/origins/debian</rm> + <rm>/etc/cron.daily/dpkg</rm> + <rm>/etc/logrotate.d/dpkg</rm> + <rm>/etc/alternatives/README</rm> + <rm>/lib/arm-linux-gnueabi/libnss_hesiod.so.2</rm> + <rm>/lib/arm-linux-gnueabi/libbz2.so.1.0.4</rm> + <rm>/lib/arm-linux-gnueabi/libz.so.1</rm> + <rm>/lib/arm-linux-gnueabi/libresolv.so.2</rm> + <rm>/lib/arm-linux-gnueabi/liblzma.so.5.0.0</rm> + <rm>/lib/arm-linux-gnueabi/libnss_files-2.13.so</rm> + <rm>/lib/arm-linux-gnueabi/libdl-2.13.so</rm> + <rm>/lib/arm-linux-gnueabi/libtinfo.so.5.9</rm> + <rm>/lib/arm-linux-gnueabi/libselinux.so.1</rm> + <rm>/lib/arm-linux-gnueabi/libthread_db.so.1</rm> + <rm>/lib/arm-linux-gnueabi/libnss_hesiod-2.13.so</rm> + <rm>/lib/arm-linux-gnueabi/libz.so.1.2.7</rm> + <rm>/lib/arm-linux-gnueabi/libdl.so.2</rm> + <rm>/lib/arm-linux-gnueabi/libnss_compat-2.13.so</rm> + <rm>/lib/arm-linux-gnueabi/libbz2.so.1.0</rm> + <rm>/lib/arm-linux-gnueabi/libbz2.so.1</rm> + <rm>/lib/arm-linux-gnueabi/libmemusage.so</rm> + <rm>/lib/arm-linux-gnueabi/libnsl-2.13.so</rm> + <rm>/lib/arm-linux-gnueabi/libcidn.so.1</rm> + <rm>/lib/arm-linux-gnueabi/librt-2.13.so</rm> + <rm>/lib/arm-linux-gnueabi/libnss_nisplus.so.2</rm> + <rm>/lib/arm-linux-gnueabi/libm.so.6</rm> + <rm>/lib/arm-linux-gnueabi/librt.so.1</rm> + <rm>/lib/arm-linux-gnueabi/libnss_compat.so.2</rm> + <rm>/lib/arm-linux-gnueabi/libutil-2.13.so</rm> + <rm>/lib/arm-linux-gnueabi/libm-2.13.so</rm> + <rm>/lib/arm-linux-gnueabi/libanl-2.13.so</rm> + <rm>/lib/arm-linux-gnueabi/libnss_nis-2.13.so</rm> + <rm>/lib/arm-linux-gnueabi/libthread_db-1.0.so</rm> + <rm>/lib/arm-linux-gnueabi/libnsl.so.1</rm> + <rm>/lib/arm-linux-gnueabi/libcrypt.so.1</rm> + <rm>/lib/arm-linux-gnueabi/libpthread-2.13.so</rm> + <rm>/lib/arm-linux-gnueabi/libnss_files.so.2</rm> + <rm>/lib/arm-linux-gnueabi/libcidn-2.13.so</rm> + <rm>/lib/arm-linux-gnueabi/libnss_dns.so.2</rm> + <rm>/lib/arm-linux-gnueabi/libgcc_s.so.1</rm> + <rm>/lib/arm-linux-gnueabi/libpcprofile.so</rm> + <rm>/lib/arm-linux-gnueabi/libnss_nisplus-2.13.so</rm> + <rm>/lib/arm-linux-gnueabi/libnss_nis.so.2</rm> + <rm>/lib/arm-linux-gnueabi/libSegFault.so</rm> + <rm>/lib/arm-linux-gnueabi/libanl.so.1</rm> + <rm>/lib/arm-linux-gnueabi/libcrypt-2.13.so</rm> + <rm>/lib/arm-linux-gnueabi/libnss_dns-2.13.so</rm> + <rm>/lib/arm-linux-gnueabi/libutil.so.1</rm> + <rm>/lib/arm-linux-gnueabi/libBrokenLocale.so.1</rm> + <rm>/lib/arm-linux-gnueabi/libresolv-2.13.so</rm> + <rm>/lib/arm-linux-gnueabi/libtinfo.so.5</rm> + <rm>/lib/arm-linux-gnueabi/libpthread.so.0</rm> + <rm>/lib/arm-linux-gnueabi/libBrokenLocale-2.13.so</rm> + <rm>/lib/arm-linux-gnueabi/liblzma.so.5</rm> + </finetuning> + <pkg-list> + <pkg>bash</pkg> + <pkg>myapp</pkg> + </pkg-list> + </target> +</ns0:RootFileSystem> diff --git a/distribution/elbe-example/mini-incl-target.xml b/distribution/elbe-example/mini-incl-target.xml new file mode 100644 index 0000000..c660969 --- /dev/null +++ b/distribution/elbe-example/mini-incl-target.xml @@ -0,0 +1,78 @@ +<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> + minimal target rfs including a simple app + buildenv to build the simple app + </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> + <binary>http://LOCALMACHINE/myrepo wheezy main</binary> + <source>http://LOCALMACHINE/myrepo wheezy main</source> + </url> + </url-list> + </mirror> + <noauth/> + <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> + <console>ttyAMA0,115200</console> + <package> + <tar> + <name>rootfs.tar.gz</name> + </tar> + </package> + <images> + <msdoshd> + <name>my.img</name> + <size>16MiB</size> + <partition> + <size>remain</size> + <label>rfs</label> + </partition> + </msdoshd> + </images> + <fstab> + <bylabel> + <label>rfs</label> + <mountpoint>/</mountpoint> + <fs> + <type>ext2</type> + <tune2fs>-i 0</tune2fs> + </fs> + </bylabel> + </fstab> + <diet /> + <norecommend /> + <finetuning> + <rm>var/cache/apt/archives/*.deb</rm> + <command>echo "T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100" >> etc/inittab</command> + </finetuning> + <pkg-list> + <pkg>bash</pkg> + <pkg>myapp</pkg> + </pkg-list> + </target> +</ns0:RootFileSystem> diff --git a/distribution/elbe-example/mini.xml b/distribution/elbe-example/mini.xml new file mode 100644 index 0000000..fe1d65f --- /dev/null +++ b/distribution/elbe-example/mini.xml @@ -0,0 +1,42 @@ +<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> + <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> diff --git a/distribution/elbe-example/myapp/AUTHORS b/distribution/elbe-example/myapp/AUTHORS new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/distribution/elbe-example/myapp/AUTHORS diff --git a/distribution/elbe-example/myapp/ChangeLog b/distribution/elbe-example/myapp/ChangeLog new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/distribution/elbe-example/myapp/ChangeLog diff --git a/distribution/elbe-example/myapp/Makefile.am b/distribution/elbe-example/myapp/Makefile.am new file mode 100644 index 0000000..73ff4e8 --- /dev/null +++ b/distribution/elbe-example/myapp/Makefile.am @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/distribution/elbe-example/myapp/NEWS diff --git a/distribution/elbe-example/myapp/README b/distribution/elbe-example/myapp/README new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/distribution/elbe-example/myapp/README diff --git a/distribution/elbe-example/myapp/autogen.sh b/distribution/elbe-example/myapp/autogen.sh new file mode 100755 index 0000000..9088512 --- /dev/null +++ b/distribution/elbe-example/myapp/autogen.sh @@ -0,0 +1,2 @@ +#!/bin/bash +autoreconf -sif diff --git a/distribution/elbe-example/myapp/configure.ac b/distribution/elbe-example/myapp/configure.ac new file mode 100644 index 0000000..109e8ea --- /dev/null +++ b/distribution/elbe-example/myapp/configure.ac @@ -0,0 +1,23 @@ +# -*- 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 new file mode 100644 index 0000000..4e39438 --- /dev/null +++ b/distribution/elbe-example/myapp/myapp.c @@ -0,0 +1,12 @@ +#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 new file mode 100644 index 0000000..f6cb43a --- /dev/null +++ b/distribution/elbe-example/myrepo/conf/distributions @@ -0,0 +1,9 @@ +Origin: myrepo +Label: myrepo +Suite: stable +Codename: wheezy +Update: - myremoterepo +Version: +Architectures: i386 amd64 armel source +Components: main +Description: my debian packages diff --git a/distribution/elbe-example/myrepo/conf/updates b/distribution/elbe-example/myrepo/conf/updates new file mode 100644 index 0000000..e8df2b1 --- /dev/null +++ b/distribution/elbe-example/myrepo/conf/updates @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..db8c2d7 --- /dev/null +++ b/distribution/elbe-example/pres_elbe-example_en.tex @@ -0,0 +1,556 @@ +\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} + +\lstset{language=xml} +\begin{frame}[fragile] +\frametitle{minimal XML file} +\begin{lstlisting} +<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{lstlisting} +\end{frame} + +\begin{frame}[fragile] +\frametitle{minimal XML file} +\begin{lstlisting} + <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{lstlisting} +\end{frame} + +\begin{frame}[fragile] +\frametitle{create and build mini.xml} +\begin{lstlisting} +$ elbe create --directory=./buildenv mini.xml +$ cd buildenv +$ make +\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{lstlisting} +# -*- 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{lstlisting} +\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 +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 in a debian repository} +\begin{lstlisting} +$ cd .. +$ mkdir -p myrepo/conf +$ cd myrepo +$ $EDITOR conf/distributions +\end{lstlisting} +\begin{lstlisting} +Origin: myrepo +Label: myrepo +Suite: stable +Codename: wheezy +Update: - myremoterepo +Version: +Architectures: i386 amd64 source +Components: main +Description: my debian packages +\end{lstlisting} +\begin{lstlisting} +$ $EDITOR conf/updates +\end{lstlisting} +\begin{lstlisting} +Name: myremoterepo +Method: http://localhost/myrepo +Components: main +Architectures: i386 amd64 armel source +VerifyRelease: blindtrust +IgnoreRelease: yes +\end{lstlisting} +\end{frame} + + +\begin{frame}[fragile] +\frametitle{host myapp in a debian repository} +\begin{lstlisting} +$ reprepro include wheezy ../myapp_1.0_i386.changes +$ 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} +$ cd ../buildenv +$ make run-con +\end{lstlisting} +login into buildenv and configure apt to use myrepo +\begin{lstlisting} +$ 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 +\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 armel package to the repo} +\begin{lstlisting} +$ cd ../myrepo +$ reprepro include wheezy /tmp/myapp_1.0_armel.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{lstlisting} +... + <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> + <binary>http://LOCALMACHINE/myrepo wheezy main</binary> + <source>http://LOCALMACHINE/myrepo wheezy main</source> + </url> + </url-list> + </mirror> + <noauth/> +... +\end{lstlisting} +\end{frame} + +\begin{frame}[fragile] +\frametitle{add myapp} +\begin{lstlisting} +... + <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{lstlisting} +\end{frame} + +\subsection{define a striped target RFS} +\begin{frame}[fragile] +\frametitle{define sdcard image} +\begin{lstlisting} +... + <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{lstlisting} +\end{frame} + +\begin{frame}[fragile] +\frametitle{create fstab and set elbe mode} +\begin{lstlisting} +... + </images> + <fstab> + <bylabel> + <label>rfs</label> + <mountpoint>/</mountpoint> + <fs> + <type>ext2</type> + <tune2fs>-i 0</tune2fs> + </fs> + </bylabel> + </fstab> + <diet /> + <norecommend /> + <finetuning> +... +\end{lstlisting} +\end{frame} + +\begin{frame}[fragile] +\frametitle{build and extract target as nfsroot} +\begin{lstlisting} +$ elbe create mini.xml --directory=./target +$ cd target +$ make +\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-armel +$ sudo tar xzf rootfs.tar.gz -C /nfs/elbe-armel +$ 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 armel boot} +\begin{lstlisting} +$ 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{lstlisting} +\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-armel ip=dhcp init=/usr/bin/myapp' +\end{lstlisting} +\end{frame} + +\begin{frame}[fragile] +\frametitle{strip the nfsroot} +\begin{lstlisting} +$ 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/ +\end{lstlisting} +\end{frame} + + +\begin{frame}[fragile] +\frametitle{update the ELBE XML file} +\begin{lstlisting} +$ sudo mkdir /nfs/elbe-armel-orig +$ sudo tar xzf rootfs.tar.gz -C /nfs/elbe-armel-orig/ +$ elbe pkgdiff +$ sudo elbe diff /nfs/elbe-armel-orig /nfs/elbe-armel > diff.txt +$ cd .. +\end{lstlisting} +\begin{lstlisting} +$ vim mini.xml +$ # place cursor in finetuning section +$ <ESC>:read target/diff.txt<RETURN> +$ # remove everything until 'suggesting:' +$ <ESC>:x<RETURN> +\end{lstlisting} +\begin{lstlisting} +$ 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{lstlisting} +\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,armel,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} diff --git a/distribution/elbe-internals/Makefile b/distribution/elbe-internals/Makefile new file mode 100644 index 0000000..d641258 --- /dev/null +++ b/distribution/elbe-internals/Makefile @@ -0,0 +1,9 @@ +all: + for pdf in `ls -1 *.tex` ; do \ + TEXINPUTS=`pwd`/../..:.:..:$(TEXINPUTS) pdflatex $$pdf; \ + TEXINPUTS=`pwd`/../..:.:..:$(TEXINPUTS) pdflatex $$pdf; \ + done + +clean: + rm -f *.aux *.log *.pdf *.log *.snm *.toc *.vrb *.nav *.out + diff --git a/distribution/elbe-devel/pres_elbe-devel_en.tex b/distribution/elbe-internals/pres_elbe-devel_en.tex index c145d9d..c57ad47 100644 --- a/distribution/elbe-devel/pres_elbe-devel_en.tex +++ b/distribution/elbe-internals/pres_elbe-devel_en.tex @@ -113,7 +113,7 @@ at the current working directory \begin{itemize} \item the elbe project has packaged the d-i used by elbe as binary debian packages \begin{lstlisting} -testrd_0.6_armel +elbe-bootstrap_0.1_armel |- opt | +-elbe | +-initrd @@ -123,10 +123,10 @@ testrd_0.6_armel \end{lstlisting} \item the name of the debian package is specified by the 'kinitrd' tag inside the xml file -\item current packages are called testrd and are available at the debian +\item current packages are called elbe-bootstrap and are available at the debian repository: \begin{lstlisting} -deb http://debian.linutronix.de/elbe squeeze main +deb http://debian.linutronix.de/elbe wheezy main \end{lstlisting} \end{itemize} \end{frame} diff --git a/distribution/elbe-usage/pres_elbe-usage_en.tex b/distribution/elbe-usage/pres_elbe-usage_en.tex index 8e37ad5..452d678 100644 --- a/distribution/elbe-usage/pres_elbe-usage_en.tex +++ b/distribution/elbe-usage/pres_elbe-usage_en.tex @@ -15,7 +15,7 @@ ELBE is a Debian based system to generate root-filesystems for embedded devices \begin{verbatim} # On a Debian based system $ echo 'deb http://debian.linutronix.de/elbe \ -squeeze main' >> /etc/apt/sources.list +wheezy main' >> /etc/apt/sources.list $ aptitude install elbe \end{verbatim} Or get the latest source from github: @@ -25,7 +25,7 @@ git clone https://github.com/Linutronix/elbe.git \end{frame} \begin{frame} -\frametitle{ELBE: Overview} +\frametitle{Overview} \begin{itemize} \item The Elbe system consists of the program elbe which is implemented in Python \item Similar to git, it can be called with several sub commands @@ -34,10 +34,11 @@ git clone https://github.com/Linutronix/elbe.git \end{frame} \begin{frame} -\frametitle{ELBE: Documentation} +\frametitle{Documentation} \begin{itemize} \item Have a look at /usr/share/doc/elbe/ \item Please read /usr/share/doc/elbe/elbeoverview-en.html +\item There are man pages e.g. 'man elbe', 'man elbe-create', \dots \end{itemize} \end{frame} @@ -60,50 +61,151 @@ git clone https://github.com/Linutronix/elbe.git \begin{frame} \frametitle{The ELBE workflow} \begin{enumerate} -\item Create an XML file +\item Create a XML file \item Create a project based on that XML file \item Change to the project directory an run make \end{enumerate} \end{frame} \begin{frame}[fragile] -\frametitle{ELBE: command overview} +\frametitle{command overview} Create a new project: \begin{verbatim} -elbe create \ +$ elbe create \ --directory /home/user/example example.xml \end{verbatim} \end{frame} \begin{frame}[fragile] -\frametitle{ELBE: start build} +\frametitle{start build} \begin{verbatim} -cd /home/user/example -# Note: the next step might take a while -make +$ cd /home/user/example +$ ls -a +. .. .elbe-in Makefile +$ make \end{verbatim} +.elbe-in contains the files needed inside the virtual build machine \end{frame} \begin{frame}[fragile] -\frametitle{ELBE: Using the VM} +\frametitle{generated files} \begin{verbatim} -cd /home/user/example -make run -# or (without graphics) -make run-con +$ ls -a +. elbe-report.txt sdcard.img +.. install.iso source.xml +buildenv.img licence.txt .stamps +.elbe-gen Makefile validation.txt +.elbe-in rootfs.tar.gz \end{verbatim} \end{frame} +\begin{frame} +\frametitle{buildenv.img} +\begin{itemize} +\item Qemu HD image containing a complete Debian system +\item was used to generate the RFS for the target +\item can be used as build environment for own applications +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{.elbe-gen} +\begin{itemize} +\item files generated by the Makefile +\item including the modified initrd that contains the debian-installer +\item and a list containing the files that are copied from the buildenv to the +host PC +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{elbe-report.txt} +\begin{itemize} +\item logfile of the build process in asciidoc format +\item 'asciidoc elbe-report.txt' generates a html file +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{install.iso} +\begin{itemize} +\item ISO image that contains all used packages +\item the --skip-cds parameter of 'elbe create' can be used to skip the + generation of the image +\item the --build-source parameter of 'elbe create' can be used to also generate + a cdrom image that contains all Debian source packages +\item All mirrors configured in an elbe XML file can be replaced by an ISO image + using the command 'elbe setcdrom' +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{licence.txt} +\begin{itemize} +\item contains the licence text of all used debian packages +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{rootfs.tar.gz, sdcard.img} +\begin{itemize} +\item Images or archives containing the target RFS +\item The 'target' section in the XML file describes which image and archive + files are created; the 'fstab' section describes their content. +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{source.xml} +\begin{itemize} +\item based on the XML file given to 'elbe create' +\item added a 'fullpkgs' section containing informations about all installed + packages and their version +\item added a 'sources\_list' section that contains the used mirrors +\item added a 'apt\_prefs' section that contains the pinning settings +\item added a 'elbe\_version' section that contains the version number of + the elbe tool that generated the file +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{.stamps} +\begin{itemize} +\item status information used by the Makefile +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{validation.txt} +\begin{itemize} +\item if elbe create was called with a XML file containing a 'fullpkgs' section + the file contains informations if a package version differs +\item if a package in the 'pkg-list' was not found on one of the mirrors this + will be logged in this file +\end{itemize} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Using the VM} +\begin{verbatim} +$ make run +\end{verbatim} +A Qemu with the buildenv.img will be started. +\end{frame} + \begin{frame}[fragile] \frametitle{The ELBE XML format} -/usr/share/doc/elbe/examples/ contains a couple of examples: +/usr/share/doc/elbe/examples/ contains a couple of examples that can be used +as templates for an own project: \begin{verbatim} -$ ls -1 /usr/share/doc/elbe/examples/ -amd64-example.xml -arm-complex-example.xml.gz -arm-example.xml -i386-example.xml +$ ls /usr/share/doc/elbe/examples/ +amd64-example.xml beaglebone.xml +arm-complex-example.xml i386-example.xml +arm-example.xml ppc-example.xml +arm-wheezy-example.xml x86-example.xml \end{verbatim} +Take a look at the different modes and finetuning sections. Also various +iamge generation methods are used. \end{frame} \begin{frame}[fragile] @@ -114,7 +216,12 @@ i386-example.xml <project> <name>ARMexample</name> <version>08.15</version> -... + <description> + creates an UBI based target system without debian package management + tools for version control and package build are added to the buildimage + </description> + <buildtype>armel</buildtype> + ... </project> \end{lstlisting} \end{scriptsize} @@ -128,30 +235,17 @@ i386-example.xml <project> ... <mirror> - <primary_host>debian.tu-bs.de</primary_host> + <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 squeeze main</binary> + <binary>http://debian.linutronix.de/elbe wheezy main</binary> + <source>http://debian.linutronix.de/elbe wheezy main</source> </url> </url-list> </mirror> -... -</project> -\end{lstlisting} -\end{scriptsize} -\end{frame} - -\begin{frame}[fragile] -\frametitle{The ELBE XML format: Project setup} -\lstset{language=XML} -\begin{scriptsize} -\begin{lstlisting} -<project> -... <noauth /> - <suite>squeeze</suite> ... </project> \end{lstlisting} @@ -165,29 +259,15 @@ i386-example.xml \begin{lstlisting} <project> ... + <suite>wheezy</suite> <buildimage> - <arch>armel</arch> - <size>20G</size> - <mem>256</mem> - <interpreter>qemu-system-arm</interpreter> - <kinitrd>testrd</kinitrd> - <console>ttyAMA0,115200n1</console> - <machine>versatilepb</machine> - <NIC> - <model>smc91c111</model> - <MAC>de:ad:be:ef:be:05</MAC> - </NIC> - <portforwarding> - <forward> - <proto>tcp</proto> - <buildenv>22</buildenv> - <host>5022</host> - </forward> - </portforwarding> + <kinitrd>elbe-bootstrap</kinitrd> <pkg-list> + <pkg>build-essential</pkg> + <pkg>debhelper</pkg> + <pkg>git</pkg> </pkg-list> </buildimage> -... </project> \end{lstlisting} \end{scriptsize} @@ -209,62 +289,30 @@ i386-example.xml </tar> </package> <finetuning> + <rm>usr/share/doc</rm> <!-- remove from target --> + <rm>/usr/share/doc</rm> <!-- remove from buildenv --> </finetuning> <pkg-list> - <pkg>build-essential</pkg> <pkg>bash</pkg> - <pkg>less</pkg> - <pkg>git</pkg> - <pkg>debhelper</pkg> - <pkg>nfs-common</pkg> - <pkg>openssh-server</pkg> </pkg-list> </target> \end{lstlisting} \end{scriptsize} \end{frame} -\begin{frame}[fragile] -\frametitle{The ELBE XML format: finetuning} -\lstset{language=XML} -\begin{scriptsize} -\begin{lstlisting} -<target> -... - <finetuning> - <rm>/usr/share/doc</rm> - <mv path="/var">/var_ro</mv> - <cp path=/copy/me>/my/name/on/target</mv> - </finetuning> -... -</target> -\end{lstlisting} -\end{scriptsize} -\end{frame} - -\begin{frame}[fragile] -\frametitle{The ELBE XML format: finetuning} -\lstset{language=XML} -\begin{scriptsize} -\begin{lstlisting} -<target> -... - <finetuning> - <command>cp /etc/passwd etc/ </command> - </finetuning> -... -</target> -\end{lstlisting} -\end{scriptsize} -\end{frame} \begin{frame} \frametitle{ELBE modes} \begin{itemize} -\item default -\item norecommend (can be combined with any of the other modes): Don't install recommended packages -\item setsel: The resulting image will just contain dpkg. This mode offers a finegrained control on which packages should be installed -\item diet: Only copy files referenced in the package management. Only use this for small and simple root filesystems! +\item norecommend (can be combined with any of the other modes): + Don't install recommended packages +\item default: target is a copy of the buildenv +\item diet: Only copy files referenced in the package management. + Only use this for small and simple root filesystems! +\item setsel: The resulting image will just contain dpkg. + This mode offers a finegrained control on which packages should be installed +\item tighten: ignore dependencies, this is useful for very minimalistic busybox + based systems. Normally setsel mode should be used. \end{itemize} \end{frame} @@ -277,7 +325,6 @@ i386-example.xml ... <diet /> <norecommend /> - <pkg-list> <pkg>bash</pkg> </pkg-list> @@ -288,15 +335,21 @@ i386-example.xml \end{frame} \begin{frame}[fragile] -\frametitle{ELBE command overview: elbe-setsel} +\frametitle{elbe-setsel usage} \begin{enumerate} \item Create package list: \begin{verbatim} -dpkg --get-selections > selections.list +hostpc$ make run-con +# remove all pkgs not wanted on the target +target$ dpkg --purge vim-nox libxml2-dev +# export installed package list +target$ dpkg --get-selections > selections.list +# copy list to hostpc +target$ scp selections.list 10.0.2.2:/tmp \end{verbatim} \item Import the package list to your xml file: \begin{verbatim} -elbe setsel <xmlfile> selections.list +hostpc$ elbe setsel rfs.xml /tmp/selections.list \end{verbatim} \end{enumerate} \end{frame} @@ -304,56 +357,57 @@ elbe setsel <xmlfile> selections.list \begin{frame}[fragile] \frametitle{Using a CDROM} \begin{itemize} -\item Each ELBE build will create a CD-ROM image with the package (which have been used for the installation): install.iso -\item You can use this ISO image for future builds: -\begin{verbatim} -<mirror> -<cdrom>/home/user/elbe-exmpl/install.iso</cdrom> -</mirror> -\end{verbatim} -\item You can also use the elbe-setcdrom command +\item Each ELBE build will create a CD-ROM image with the packages + needed for an elbe image build. +\item this ISO image can be used for future builds: \end{itemize} -\end{frame} - -\begin{frame}[fragile] -\frametitle{ELBE command overview: elbe-setcdrom} \begin{verbatim} -$ elbe setcdrom mysqueeze.xml \ +$ elbe setcdrom rfs.xml \ /home/user/elbe-test/install.iso \end{verbatim} -This command removes all configured mirrors and additional urls from the XML file and sets the given ISO image as the only mirror. +This command removes all configured mirrors and additional urls from the XML +file and sets the given ISO image as the only mirror. \end{frame} \begin{frame}[fragile] -\frametitle{ELBE command overview: elbe-chg\_archive} -It is possible to include an archive into the xml file, that is unpacked into the target root-filesystem after the finetuning step: +\frametitle{elbe-chg\_archive} +It is possible to include an archive into the xml file, that is unpacked into +the target RFS before and after the finetuning step: \begin{verbatim} -elbe chg_archive <xmlfile> archive.tar.bz2 +$ mkdir archive/testd +$ cd archive +$ echo 'port = 1234' > archive/testd/myconfig +$ tar cjf ../archive.tar.bz2 * +$ cd .. +$ elbe chg_archive <xmlfile> archive.tar.bz2 \end{verbatim} NOTE: The file must be a bzip2 compressed tar (.tar.bz2) \end{frame} \begin{frame}[fragile] -\frametitle{ELBE command overview: elbe-get\_archive} +\frametitle{elbe-get\_archive} It is also possible to extract an archive from an XML file: \begin{verbatim} -elbe get_archive <xmlfile> <archive> +$ elbe get_archive <xmlfile> <archive> \end{verbatim} \end{frame} \begin{frame}[fragile] -\frametitle{ELBE command overview: elbe-show} -The elbe show command prints out some textual information about an ELBE xml file: +\frametitle{elbe-show} +The elbe show command prints out some textual information about an +ELBE xml file: \begin{verbatim} -$ elbe show arm-example.xml +$ elbe show --verbose arm-example.xml == arm-example.xml: ARMexample - version 08.15 == -Debian suite: squeeze/armel +Debian suite: wheezy/armel [...] \end{verbatim} +The '--verbose' parameter shows more informations, like the complete package +list. \end{frame} \begin{frame}[fragile] -\frametitle{ELBE command overview: elbe-xsdtoasciidoc} +\frametitle{elbe-xsdtoasciidoc} Create an asciidoc documentation from an annotated XML Schema file \begin{verbatim} # Create asciidoc format @@ -361,9 +415,75 @@ $ elbe xsdtoasciidoc --output=myasciidoc dbsfed.xsd # Create HTML doc $ asciidoc myasciidoc \end{verbatim} +This is used to create the documentation of the ELBE XML schema. \end{frame} \begin{frame}[fragile] +\frametitle{elbe-checkupdates} +Use a source.xml file to check if there are updates available for an existing +image: +\begin{verbatim} +$ elbe check_updates source.xml +checking /home/user/rfs/build-release/source.xml +armel +Reading package lists... Done +Building dependency tree... Done +Reading package lists... Done +Building dependency tree... Done +adduser 3.113+nmu1 != 3.113+nmu3 +1 updates required +\end{verbatim} +This can be used e.g. as cronjob to get notifications if updates are availabe. + +Than the person responsible for updates can decide what needs to be done. +\end{frame} + +\begin{frame}[fragile] +\frametitle{elbe-diff} +compares to RFS trees and suggests commands to update the archive tar and a +'finetuning' section: +\begin{verbatim} +$ sudo elbe diff rfs rfs-modified +suggesting: + +<rm>/etc/init.d/mountall-bootclean.sh</rm> +<rm>/etc/init.d/bootmisc.sh</rm> +tar rf archive.tar -C build/rfs /sbin/dhclient-script +tar rf archive.tar -C build/rfs /etc/init.d/mountfstab.sh +\end{verbatim} +This can be used if a (nfsroot) filesystem was modified and these modifications +should be included in an ELBE XML file. +\end{frame} + +\begin{frame}[fragile] +\frametitle{elbe-pkgdiff} +compares to RFS trees and displays the difference of the installed packages +\begin{verbatim} +$ sudo elbe pkgdiff `pwd`/rfs `pwd`/rfs-modified +-<pkg>firmware-ivtv</pkg> +-<pkg>firmware-ipw2x00</pkg> +\end{verbatim} +This can be used if a (nfsroot) filesystem was modified and these modifications +should be included in an ELBE XML file. +\end{frame} + +\begin{frame}[fragile] +\frametitle{elbe-validate} +validates the xmlfile provided, and prints out errors: +\begin{verbatim} +$ elbe validate rfs.xml +rfs.xml:101 error Element 'type': [facet 'enumeration'] The value 'ext5' is +not an element of the set {'ext2', 'ext3', 'ext4', 'xfs', 'ubifs', 'tmpfs', +'debugfs', 'configfs', 'proc', 'sysfs', 'vfat'}. +rfs.xml:101 error Element 'type': 'ext5' is not a valid value of the atomic +type '{https://www.linutronix.de/projects/Elbe}fs_type'. +validation failed +\end{verbatim} +\dots there is an typo in the XML file line 105: ext5 instead of ext4 +\end{frame} + + +\begin{frame}[fragile] \frametitle{Creating UBI images} \lstset{language=XML} \begin{scriptsize} @@ -405,32 +525,26 @@ $ asciidoc myasciidoc \begin{lstlisting} <fstab> <bylabel> - <label>data</label> - <mountpoint>/opt</mountpoint> - <fs> - <type>ubifs</type> - <mkfs>-x lzo</mkfs> - </fs> - <options>rw</options> - </bylabel> - <bylabel> <label>rfs</label> <mountpoint>/</mountpoint> <fs> <type>ubifs</type> <mkfs>-x lzo</mkfs> </fs> - <options>ro</options> </bylabel> - <bydev> - <source>proc</source> - <mountpoint>/proc</mountpoint> - <fs> - <type>proc</type> - </fs> - </bydev> </fstab> \end{lstlisting} \end{scriptsize} \end{frame} + +\begin{frame}[fragile] +\frametitle{Future? elbe buildchroot} +Something like this may be used in the future: +\begin{lstlisting} +sudo elbe buildchroot -t build-chroot -o buildchroot.log -n myrfs \ +--skip-validation --skip-cdrom --debug --buildtype=armel +\end{lstlisting} +Testing and feedback is welcome! +\end{frame} + \input{tailpres} diff --git a/distribution/elbe/pres_elbe.tex b/distribution/elbe/pres_elbe.tex index f1c5cd1..8c66cb3 100644 --- a/distribution/elbe/pres_elbe.tex +++ b/distribution/elbe/pres_elbe.tex @@ -7,10 +7,6 @@ \centerline{\large Embedded Linux Build Environment} \vskip20pt Manuel Traut, Linutronix GmbH - -OSADL Networking Day 2013 - -May 28, 2013 \end{frame} \subsection{Agenda} |
