aboutsummaryrefslogtreecommitdiff
path: root/96boards-hikey-debian
diff options
context:
space:
mode:
authorRiku Voipio <riku.voipio@linaro.org>2017-12-13 16:06:32 +0200
committerRiku Voipio <riku.voipio@linaro.org>2017-12-14 14:02:21 +0200
commit2a336d5b77a645ef18ffd147bb834453fd1bec08 (patch)
tree1992af1a04dcdb7be29e11ba86a9b4cbd739abec /96boards-hikey-debian
parent193fd8e3534078f1cdbca8b91fe9205dc9f5f989 (diff)
96boards-hikey-debian: Build hikey debian images with fai
Fai based hikey debian image builder Change-Id: I268503250b5c748b2d2975c4bb3b5e131bcd9bfe
Diffstat (limited to '96boards-hikey-debian')
-rw-r--r--96boards-hikey-debian/builders-fai.sh81
1 files changed, 81 insertions, 0 deletions
diff --git a/96boards-hikey-debian/builders-fai.sh b/96boards-hikey-debian/builders-fai.sh
new file mode 100644
index 0000000000..ef378b5c33
--- /dev/null
+++ b/96boards-hikey-debian/builders-fai.sh
@@ -0,0 +1,81 @@
+#!/bin/bash
+
+set -e
+
+trap cleanup_exit INT TERM EXIT
+
+cleanup_exit()
+{
+ cd ${WORKSPACE}
+ sudo kpartx -dv /tmp/work.raw || true
+ umount -f /tmp||true
+ rm -rf out
+
+}
+
+if ! sudo DEBIAN_FRONTEND=noninteractive apt-get -q=2 update; then
+ echo "INFO: apt update error - try again in a moment"
+ sleep 15
+ sudo DEBIAN_FRONTEND=noninteractive apt-get -q=2 update || true
+fi
+pkg_list="fai-server fai-setup-storage qemu-utils procps pigz android-tools-fsutils android-tools-mkbootimg kpartx "
+if ! sudo DEBIAN_FRONTEND=noninteractive apt-get -q=2 install -y ${pkg_list}; then
+ echo "INFO: apt install error - try again in a moment"
+ sleep 15
+ sudo DEBIAN_FRONTEND=noninteractive apt-get -q=2 install -y ${pkg_list}
+fi
+
+set -ex
+
+# Create version string
+echo "$(date +%Y%m%d)-${BUILD_NUMBER}" > build-version
+
+# Build information
+mkdir -p out
+cat > out/HEADER.textile << EOF
+
+h4. Hikey build - $BUILD_DISPLAY_NAME
+
+Build description:
+* Build URL: "$BUILD_URL":$BUILD_URL
+* OS flavour: $OS_FLAVOUR
+* FAI: "$GIT_URL":$GIT_URL
+* FAI commit: "$GIT_COMMIT":$GIT_URL/commit/?id=$GIT_COMMIT
+EOF
+
+sudo mount -t tmpfs tmpfs /tmp
+
+for rootfs in ${ROOTFS}; do
+
+ VERSION=$(cat build-version)
+ image_name=${VENDOR}-${OS_FLAVOUR}-${rootfs}-${PLATFORM_NAME}-${VERSION}
+
+ # make bootable sd card
+ sudo fai-diskimage -v --cspace $(pwd) \
+ --hostname linaro-${rootfs} \
+ -S ${rootfs_sz} \
+ --class $(echo SAVECACHE,${OS_FLAVOUR},DEBIAN,LINARO,${rootfs},${PLATFORM_NAME},GRUB_PC | tr '[:lower:]' '[:upper:]') \
+ /tmp/work.raw
+
+ # snatch the rootfs and bootfs for fastboot
+ for device in $(sudo kpartx -avs /tmp/work.raw | cut -d' ' -f3); do
+ partition=$(echo ${device} | cut -d'p' -f3)
+ sudo dd if=/dev/mapper/${device} of=/tmp/partition.raw
+ if [ "${partition}" = "2" ]; then
+ img2simg /tmp/partition.raw out/rootfs-${image_name}.img
+ fi
+ if [ "${partition}" = "1" ]; then
+ cp /tmp/partition.raw out/boot-${image_name}.img
+ fi
+ sudo rm -f /tmp/partition.raw
+ done
+ sudo kpartx -dv /tmp/work.raw
+ mv /tmp/${image_name}.raw out/${image_name}.sd
+
+ # Compress image(s)
+ pigz -9 out/rootfs-${image_name}.img out/boot-${image_name}.img out/${image_name}.sd
+
+ # dpkg -l output
+ mv out/packages.txt out/${image_name}.packages
+done
+