blob: 23ee61478949dc5fe6acc6075c5a5ed15b5e4790 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
- 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'
|