- job: name: kvm-guest-image project-type: matrix defaults: global logrotate: daysToKeep: 30 numToKeep: 30 properties: - authorization: anonymous: - job-read - job-extended-read linaro: - job-read - job-extended-read - job-build - job-cancel disabled: false display-name: 'Linaro KVM guest image build' axes: - axis: type: slave name: label values: - docker-vivid-arm64 - docker-vivid-armhf wrappers: - timestamps - matrix-tie-parent: node: master builders: - linaro-publish-token - shell: | #!/bin/bash set -ex trap cleanup_exit INT TERM EXIT cleanup_exit() { sudo umount /mnt || true sudo kpartx -dv kvm.raw || true } sudo apt-get update sudo apt-get -y install kpartx parted pixz qemu-utils python-pycurl arch=`dpkg-architecture -qDEB_HOST_ARCH` case "${arch}" in armhf) export ROOTFS_BUILD_URL="http://releases.linaro.org/15.05/ubuntu/vivid-images/nano/linaro-vivid-nano-20150522-704.tar.gz" ;; arm64) export ROOTFS_BUILD_URL="http://releases.linaro.org/15.05/ubuntu/vivid-images/nano-arm64/linaro-vivid-nano-20150520-94.tar.gz" ;; esac wget -nc --progress=dot -e dotbytes=2M ${ROOTFS_BUILD_URL} -O nano.tgz dd if=/dev/zero of=kvm.raw bs=1024 seek=1M count=0 /sbin/parted --script kvm.raw mklabe gpt /sbin/parted --script kvm.raw mkpart p fat32 1 50 /sbin/parted --script -- kvm.raw mkpart p ext4 51 -0 /sbin/parted --script kvm.raw set 1 boot for device in $(sudo kpartx -av kvm.raw | cut -d' ' -f3); do partition=$(echo ${device} | cut -d'p' -f3) case "${partition}" in 1) sudo mkfs.vfat -F 32 /dev/mapper/${device} ;; 2) sudo mkfs.ext4 /dev/mapper/${device} sudo mount /dev/mapper/${device} /mnt/ sudo tar xaf nano.tgz -C /mnt --strip-components=1 cat << EOF | sudo tee /mnt/etc/network/interfaces.d/eth0 auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp EOF sudo umount /mnt ;; esac done sudo kpartx -dv kvm.raw qemu-img convert -f raw -O qcow2 kvm.raw kvm.qcow2 time pixz kvm.qcow2 # Publish to snapshots mkdir out; mv kvm.qcow2.xz out/kvm-${arch}.qcow2.xz test -d ${HOME}/bin || mkdir ${HOME}/bin wget https://git.linaro.org/ci/publishing-api.git/blob_plain/HEAD:/linaro-cp.py -O ${HOME}/bin/linaro-cp.py python ${HOME}/bin/linaro-cp.py out ubuntu/images/kvm-guest/${BUILD_NUMBER}/${arch} publishers: - email: recipients: 'riku.voipio@linaro.org'