summaryrefslogtreecommitdiff
path: root/precise-armhf-developer
diff options
context:
space:
mode:
authorFathi Boudra <fabo@debian.org>2012-03-13 12:09:06 +0200
committerFathi Boudra <fabo@debian.org>2012-03-13 12:09:06 +0200
commit45e8d973853e8096b7731424054ddfd77e80f7cf (patch)
treeb035fac47fb9d4a03dd397eb1947c92411b1f105 /precise-armhf-developer
parente84139be68666cd54ad5fb476cf598bc0ef35a96 (diff)
Add initial configuration for Developer image
Diffstat (limited to 'precise-armhf-developer')
-rwxr-xr-xprecise-armhf-developer/Makefile17
-rw-r--r--precise-armhf-developer/README16
-rwxr-xr-xprecise-armhf-developer/configure41
-rw-r--r--precise-armhf-developer/customization/archives/linaro-overlay-ppa.key.chroot12
-rw-r--r--precise-armhf-developer/customization/archives/linaro-overlay-ppa.list.chroot2
-rwxr-xr-xprecise-armhf-developer/customization/hooks/01-setup_user_linaro.chroot7
-rwxr-xr-xprecise-armhf-developer/customization/hooks/02-add_linaro_to_groups.chroot63
-rwxr-xr-xprecise-armhf-developer/customization/hooks/03-check_sudoers_for_admin.chroot17
-rwxr-xr-xprecise-armhf-developer/customization/hooks/20-extract_initrd_uuid.binary29
-rw-r--r--precise-armhf-developer/customization/includes/precise/common/boot/filesystem.dir/etc/default/locale1
-rw-r--r--precise-armhf-developer/customization/includes/precise/common/boot/filesystem.dir/etc/hostname1
-rw-r--r--precise-armhf-developer/customization/includes/precise/common/boot/filesystem.dir/etc/hosts7
-rw-r--r--precise-armhf-developer/customization/package-lists/linaro-developer.list.chroot3
13 files changed, 216 insertions, 0 deletions
diff --git a/precise-armhf-developer/Makefile b/precise-armhf-developer/Makefile
new file mode 100755
index 0000000..4ef94fd
--- /dev/null
+++ b/precise-armhf-developer/Makefile
@@ -0,0 +1,17 @@
+#!/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.
+
+TIMESTAMP=`date "+%y%m%d%H%M%S"`
+LOGFILE=logfile-$(TIMESTAMP)
+
+all:
+ set -e; sudo lb build 2>&1 | tee $(LOGFILE)
+
+clean:
+ sudo lb clean --purge
diff --git a/precise-armhf-developer/README b/precise-armhf-developer/README
new file mode 100644
index 0000000..917e1f3
--- /dev/null
+++ b/precise-armhf-developer/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-developer/configure b/precise-armhf-developer/configure
new file mode 100755
index 0000000..342b16e
--- /dev/null
+++ b/precise-armhf-developer/configure
@@ -0,0 +1,41 @@
+#!/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"
+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-developer \
+ --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 \
+ --package-lists minimal \
+ --security false \
+ --system normal \
+ --username linaro \
+ --volatile false
+
+echo "I: copy customization"
+cp -rf customization/* config/
+
+echo "I: done"
diff --git a/precise-armhf-developer/customization/archives/linaro-overlay-ppa.key.chroot b/precise-armhf-developer/customization/archives/linaro-overlay-ppa.key.chroot
new file mode 100644
index 0000000..0966316
--- /dev/null
+++ b/precise-armhf-developer/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-developer/customization/archives/linaro-overlay-ppa.list.chroot b/precise-armhf-developer/customization/archives/linaro-overlay-ppa.list.chroot
new file mode 100644
index 0000000..2e33004
--- /dev/null
+++ b/precise-armhf-developer/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-developer/customization/hooks/01-setup_user_linaro.chroot b/precise-armhf-developer/customization/hooks/01-setup_user_linaro.chroot
new file mode 100755
index 0000000..9c65f97
--- /dev/null
+++ b/precise-armhf-developer/customization/hooks/01-setup_user_linaro.chroot
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+echo "I: create linaro user"
+adduser --gecos linaro --disabled-login linaro
+
+echo "I: set linaro user password"
+echo "linaro:linaro" | chpasswd
diff --git a/precise-armhf-developer/customization/hooks/02-add_linaro_to_groups.chroot b/precise-armhf-developer/customization/hooks/02-add_linaro_to_groups.chroot
new file mode 100755
index 0000000..f3b2d4e
--- /dev/null
+++ b/precise-armhf-developer/customization/hooks/02-add_linaro_to_groups.chroot
@@ -0,0 +1,63 @@
+#!/bin/sh -x
+
+DEFGROUPS="admin,adm,dialout,cdrom,plugdev,audio,dip,video"
+
+/bin/egrep -i "^admin" /etc/group
+if [ $? -eq 0 ]; then
+ echo "User admin exists in /etc/group"
+else
+ echo "User admin does not exists in /etc/group must create"
+ groupadd admin
+fi
+/bin/egrep -i "^dialout" /etc/group
+if [ $? -eq 0 ]; then
+ echo "User dialout exists in /etc/group"
+else
+ echo "User dialout does not exists in /etc/group must create"
+ groupadd dialout
+fi
+/bin/egrep -i "^cdrom" /etc/group
+if [ $? -eq 0 ]; then
+ echo "User cdrom exists in /etc/group"
+else
+ echo "User cdrom does not exists in /etc/group must create"
+ groupadd cdrom
+fi
+/bin/egrep -i "^plugdev" /etc/group
+if [ $? -eq 0 ]; then
+ echo "User plugdev exists in /etc/group"
+else
+ echo "User plugdev does not exists in /etc/group must create"
+ groupadd plugdev
+fi
+/bin/egrep -i "^audio" /etc/group
+if [ $? -eq 0 ]; then
+ echo "User audio exists in /etc/group"
+else
+ echo "User audio does not exists in /etc/group must create"
+ groupadd audio
+fi
+/bin/egrep -i "^dip" /etc/group
+if [ $? -eq 0 ]; then
+ echo "User dip exists in /etc/group"
+else
+ echo "User dip does not exists in /etc/group must create"
+ groupadd dip
+fi
+/bin/egrep -i "^video" /etc/group
+if [ $? -eq 0 ]; then
+ echo "User video exists in /etc/group"
+else
+ echo "User video does not exists in /etc/group must create"
+ groupadd video
+fi
+/bin/egrep -i "^adm" /etc/group
+if [ $? -eq 0 ]; then
+ echo "User adm exists in /etc/group"
+else
+ echo "User adm does not exists in /etc/group must create"
+ groupadd adm
+fi
+
+echo "I: add linaro to ($DEFGROUPS) groups"
+usermod -a -G ${DEFGROUPS} linaro
diff --git a/precise-armhf-developer/customization/hooks/03-check_sudoers_for_admin.chroot b/precise-armhf-developer/customization/hooks/03-check_sudoers_for_admin.chroot
new file mode 100755
index 0000000..5c82429
--- /dev/null
+++ b/precise-armhf-developer/customization/hooks/03-check_sudoers_for_admin.chroot
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# check to make sure sudoers file has ref for admin
+ADMINEXISTS="$(awk '$1 == "%admin" { print $1 }' /etc/sudoers)"
+if [ -z "$ADMINEXISTS" ]; then
+ # append admin entry to sudoers
+ echo "# Members of the admin group may gain root privileges" >> /etc/sudoers
+ echo "%admin ALL = (ALL) NOPASSWD: ALL" >> /etc/sudoers
+fi
+
+# make sure that NOPASSWD is set for %admin
+# expecially in the case that we didn't add it to /etc/sudoers
+# just blow the %admin line away and force it to be NOPASSWD
+sed -i -e '
+/\%admin/ c \
+%admin ALL = (ALL) NOPASSWD: ALL
+' /etc/sudoers
diff --git a/precise-armhf-developer/customization/hooks/20-extract_initrd_uuid.binary b/precise-armhf-developer/customization/hooks/20-extract_initrd_uuid.binary
new file mode 100755
index 0000000..fee2b1b
--- /dev/null
+++ b/precise-armhf-developer/customization/hooks/20-extract_initrd_uuid.binary
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+mkdir -p uuid
+cd uuid
+
+prefix=
+
+if ls ../binary/casper/initrd.img-* 2>&1 > /dev/null; then
+ prefix=../binary/boot/filesystem.dir/casper/
+else
+ prefix=../binary/boot/filesystem.dir/boot/
+fi
+
+UUID=`uuidgen -r`
+
+for initrd in `ls $prefix/initrd.img-*`; do
+ zcat $initrd | cpio --quiet -id
+ echo $UUID > conf/uuid.conf
+ find . | cpio --quiet --dereference -o -H newc | gzip > $initrd
+ rm -rf *
+done
+
+echo "I: setting rootfs UUID $UUID in initrd... copying to '.disk/casper-uuid'."
+if [ ! -d ../binary/boot/filesystem.dir/.disk ]; then
+ mkdir -p ../binary/boot/filesystem.dir/.disk
+fi
+echo $UUID > ../binary/boot/filesystem.dir/.disk/casper-uuid
+cd ..
+rm -rf uuid
diff --git a/precise-armhf-developer/customization/includes/precise/common/boot/filesystem.dir/etc/default/locale b/precise-armhf-developer/customization/includes/precise/common/boot/filesystem.dir/etc/default/locale
new file mode 100644
index 0000000..f9c983c
--- /dev/null
+++ b/precise-armhf-developer/customization/includes/precise/common/boot/filesystem.dir/etc/default/locale
@@ -0,0 +1 @@
+LANG=C.UTF-8
diff --git a/precise-armhf-developer/customization/includes/precise/common/boot/filesystem.dir/etc/hostname b/precise-armhf-developer/customization/includes/precise/common/boot/filesystem.dir/etc/hostname
new file mode 100644
index 0000000..bafc623
--- /dev/null
+++ b/precise-armhf-developer/customization/includes/precise/common/boot/filesystem.dir/etc/hostname
@@ -0,0 +1 @@
+linaro-developer
diff --git a/precise-armhf-developer/customization/includes/precise/common/boot/filesystem.dir/etc/hosts b/precise-armhf-developer/customization/includes/precise/common/boot/filesystem.dir/etc/hosts
new file mode 100644
index 0000000..135dd9d
--- /dev/null
+++ b/precise-armhf-developer/customization/includes/precise/common/boot/filesystem.dir/etc/hosts
@@ -0,0 +1,7 @@
+127.0.0.1 localhost
+::1 localhost ip6-localhost ip6-loopback
+fe00::0 ip6-localnet
+ff00::0 ip6-mcastprefix
+ff02::1 ip6-allnodes
+ff02::2 ip6-allrouters
+127.0.1.1 linaro-developer
diff --git a/precise-armhf-developer/customization/package-lists/linaro-developer.list.chroot b/precise-armhf-developer/customization/package-lists/linaro-developer.list.chroot
new file mode 100644
index 0000000..75e4fe8
--- /dev/null
+++ b/precise-armhf-developer/customization/package-lists/linaro-developer.list.chroot
@@ -0,0 +1,3 @@
+# Packages needed for Linaro - Developer
+linaro-development
+linaro-overlay-minimal