summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <marcin.juszkiewicz@linaro.org>2012-04-30 14:58:58 +0200
committerMarcin Juszkiewicz <marcin.juszkiewicz@linaro.org>2012-04-30 14:59:36 +0200
commit8db7c4395235d66d9eebe3e4f5608004a9d6032e (patch)
treed3988ead0bff760d3bad82de5931ea9a1707c3cd
parent7e44033a4389921b8de8e2f1249f45e2402da72c (diff)
added ultra minimal sysroot
-rwxr-xr-xprecise-armhf-libc-dev/Makefile32
-rw-r--r--precise-armhf-libc-dev/README16
-rwxr-xr-xprecise-armhf-libc-dev/configure43
-rw-r--r--precise-armhf-libc-dev/customization/archives/linaro-overlay-ppa.key.chroot12
-rw-r--r--precise-armhf-libc-dev/customization/archives/linaro-overlay-ppa.list.chroot2
-rwxr-xr-xprecise-armhf-libc-dev/customization/hooks/50-force-remove-all-packages.binary25
-rwxr-xr-xprecise-armhf-libc-dev/customization/hooks/90-remove_not_needed.binary13
-rw-r--r--precise-armhf-libc-dev/customization/package-lists/linaro-libc-dev.list.chroot1
8 files changed, 144 insertions, 0 deletions
diff --git a/precise-armhf-libc-dev/Makefile b/precise-armhf-libc-dev/Makefile
new file mode 100755
index 0000000..db25f3d
--- /dev/null
+++ b/precise-armhf-libc-dev/Makefile
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+# (C) 2012 Fathi Boudra <fathi.boudra@linaro.org>
+
+# Calls all necessary live-build programs in the correct order to complete
+# the bootstrap, chroot, binary, and source stage.
+
+# You need live-build package installed and superuser privileges.
+
+IMAGEPREFIX=linaro-precise-libc-dev-`date +%Y%m%d`-$(BUILD_NUMBER)
+LOGFILE=$(IMAGEPREFIX).build-log.txt
+CONFIGFILE=$(IMAGEPREFIX).config.tar.gz
+LISTFILE=$(IMAGEPREFIX).list
+PKGSFILE=$(IMAGEPREFIX).packages
+TARGZFILE=$(IMAGEPREFIX).tar.gz
+MD5SUMSFILE=$(IMAGEPREFIX).md5sums.txt
+SHA1SUMSFILE=$(IMAGEPREFIX).sha1sums.txt
+
+all:
+ set -e; sudo lb build 2>&1 | tee $(LOGFILE)
+ if [ -f binary-tar.tar.gz ]; then \
+ tar -jcf $(CONFIGFILE) auto/ config/ configure; \
+ sudo mv binary.list $(LISTFILE); \
+ sudo mv binary.packages $(PKGSFILE); \
+ sudo mv binary-tar.tar.gz $(TARGZFILE); \
+ md5sum $(LOGFILE) $(CONFIGFILE) $(LISTFILE) $(PKGSFILE) $(TARGZFILE) > $(MD5SUMSFILE); \
+ sha1sum $(LOGFILE) $(CONFIGFILE) $(LISTFILE) $(PKGSFILE) $(TARGZFILE) > $(SHA1SUMSFILE); \
+ fi
+
+clean:
+ sudo lb clean --purge
+ rm -f $(IMAGEPREFIX).*
diff --git a/precise-armhf-libc-dev/README b/precise-armhf-libc-dev/README
new file mode 100644
index 0000000..917e1f3
--- /dev/null
+++ b/precise-armhf-libc-dev/README
@@ -0,0 +1,16 @@
+* To build binary image:
+ * install live-build qemu-user-static
+ * run configure
+ * run make
+
+* Scripts:
+ * configure
+ * Makefile
+
+* Configuration Layout
+
+`-- ./config
+
+* Customization Layout
+
+`-- ./customization
diff --git a/precise-armhf-libc-dev/configure b/precise-armhf-libc-dev/configure
new file mode 100755
index 0000000..55d6977
--- /dev/null
+++ b/precise-armhf-libc-dev/configure
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+# (C) 2012 Fathi Boudra <fathi.boudra@linaro.org>
+
+# Create configuration for live-build.
+
+# You need live-build package installed.
+
+set -e
+
+echo "I: create configuration"
+export LB_BOOTSTRAP_INCLUDE="apt-transport-https gnupg"
+export LB_BOOTSTRAP_EXCLUDE="perl-base libdrm2 apt"
+lb config \
+ --apt-indices none \
+ --architectures armhf \
+ --archive-areas 'main universe' \
+ --binary-filesystem ext4 \
+ --binary-images tar \
+ --bootstrap-flavour minimal \
+ --bootstrap-qemu-arch armhf \
+ --bootstrap-qemu-static /usr/bin/qemu-arm-static \
+ --cache false \
+ --chroot-filesystem none \
+ --distribution precise \
+ --gzip-options '-9 --rsyncable' \
+ --hostname linaro-libc \
+ --iso-publisher 'Linaro; http://www.linaro.org/; linaro-dev@lists.linaro.org' \
+ --iso-volume 'Linaro precise $(date +%Y%m%d-%H:%M)' \
+ --linux-flavours none \
+ --linux-packages none \
+ --mode ubuntu \
+ --security true \
+ --system minimal \
+ --username linaro \
+ --apt-http-proxy http://192.168.1.1:3142 \
+ --volatile false \
+ --verbose
+
+echo "I: copy customization"
+cp -rf customization/* config/
+
+echo "I: done"
diff --git a/precise-armhf-libc-dev/customization/archives/linaro-overlay-ppa.key.chroot b/precise-armhf-libc-dev/customization/archives/linaro-overlay-ppa.key.chroot
new file mode 100644
index 0000000..0966316
--- /dev/null
+++ b/precise-armhf-libc-dev/customization/archives/linaro-overlay-ppa.key.chroot
@@ -0,0 +1,12 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: SKS 1.0.10
+
+mI0ETA9rYAEEAM3qPwNzaXsRRyNARLCAEVl7BCte8isURYwLxMgvMlR7RmLip81ox0o4d61E
+Q5uuT5LWEp2/f2xvw2Pn+7uOKbpL0JLyscD7PntrJnZay8vitDXWMUAyQTMltyjfKQ3N3Zrb
+B424lJYL4r04fjFagN5R4+LFaIzO6P71bwk6rj1dABEBAAG0HExhdW5jaHBhZCBMaW5hcm8g
+T3ZlcmxheSBQUEGItgQTAQIAIAUCTA9rYAIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJ
+EPH8usp74fl7+1gD/j9IaY1wCG8RrgYUTVnh8erd3ooHCzN+hlgjgDo0MLYv5DPes8VSgFOC
+j1TLPGwrqSikdGAKpMu7vhJSPEkYC7Y+DGkS6Vuap8O3olnZfc4BPfSF1XI18KLv0GeBiEOq
+xiQvTnlfgEyu21LjFMtAjh6qfbRvJonqvqEbK/7QrvNI
+=sAtw
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/precise-armhf-libc-dev/customization/archives/linaro-overlay-ppa.list.chroot b/precise-armhf-libc-dev/customization/archives/linaro-overlay-ppa.list.chroot
new file mode 100644
index 0000000..2e33004
--- /dev/null
+++ b/precise-armhf-libc-dev/customization/archives/linaro-overlay-ppa.list.chroot
@@ -0,0 +1,2 @@
+# Linaro Overlay PPA
+deb http://ppa.launchpad.net/linaro-maintainers/overlay/ubuntu @DISTRIBUTION@ main
diff --git a/precise-armhf-libc-dev/customization/hooks/50-force-remove-all-packages.binary b/precise-armhf-libc-dev/customization/hooks/50-force-remove-all-packages.binary
new file mode 100755
index 0000000..7087f34
--- /dev/null
+++ b/precise-armhf-libc-dev/customization/hooks/50-force-remove-all-packages.binary
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+
+cd binary/boot/filesystem.dir
+
+for pkg in `dpkg --root . -l |cut -d' ' -f3|tail -n+6 | egrep -v "^(libc6|linux-libc-dev|dpkg|zlib)"`
+do
+ LIST=`sed -e 's+^\/++g' var/lib/dpkg/info/${pkg}.list`
+ for file in $LIST
+ do
+ rm $file 2>/dev/null
+ done
+ pkg2=`echo $pkg|sed -e 's+:armhf++g' `
+ LIST=`sed -e 's+^\/++g' var/lib/dpkg/info/${pkg2}.list`
+ for file in $LIST
+ do
+ rm $file 2>/dev/null
+ done
+done
+
+LIST=`sed -e 's+^\/++g' var/lib/dpkg/info/dpkg.list`
+for file in $LIST
+do
+ rm $file 2>/dev/null
+done
diff --git a/precise-armhf-libc-dev/customization/hooks/90-remove_not_needed.binary b/precise-armhf-libc-dev/customization/hooks/90-remove_not_needed.binary
new file mode 100755
index 0000000..55a7447
--- /dev/null
+++ b/precise-armhf-libc-dev/customization/hooks/90-remove_not_needed.binary
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+cd binary/boot/filesystem.dir
+
+rm -rf usr/share/{groff,linda,lintian,info,man,perl,locale,fonts,icons,i18n,gtk-doc,ghostscript} \
+ boot lib/modules \
+ lib/firmware dev home lib/init lib/lsb lib/systemd lib/terminfo \
+ usr/lib/firefox*/searchplugins/common \
+ etc bin usr/bin sbin usr/sbin var usr/local usr/games lib64 \
+ usr/lib/{locale,gnupg,apt,ConsoleKit,initramfs-tools,ldscripts,mime,sasl2,ssl,tc,upstart,user-setup,valgrind}\
+ lib/udev lib/xtables media mnt opt proc root run selinux srv sys tmp
+
+rmdir -p `find . -type d -empty` || true
diff --git a/precise-armhf-libc-dev/customization/package-lists/linaro-libc-dev.list.chroot b/precise-armhf-libc-dev/customization/package-lists/linaro-libc-dev.list.chroot
new file mode 100644
index 0000000..b418c29
--- /dev/null
+++ b/precise-armhf-libc-dev/customization/package-lists/linaro-libc-dev.list.chroot
@@ -0,0 +1 @@
+libc-dev zlib1g-dev