blob: cf457f4432bb3f5d0d241c174c09e325261c0e96 (
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
|
#!/bin/bash
set -ex
trap cleanup_exit INT TERM EXIT
cleanup_exit()
{
sudo umount bootfs || true
sudo umount rootfs || true
sudo kpartx -dv hikey-sd-install.img || true
rm -rf hikey-sd-install.img out
}
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update -q=2
sudo apt-get install -q=2 -y --no-install-recommends pigz
# Get installer rootfs
export ROOTFS_BUILD_TIMESTAMP=$(wget -q -O - https://ci.linaro.org/job/debian-arm64-rootfs/label=docker-jessie-arm64,rootfs=installer/lastSuccessfulBuild/buildTimestamp?format=yyyyMMdd)
export ROOTFS_BUILD_NUMBER=$(wget -q -O - https://ci.linaro.org/job/debian-arm64-rootfs/label=docker-jessie-arm64,rootfs=installer/lastSuccessfulBuild/buildNumber)
export ROOTFS_BUILD_URL="http://snapshots.linaro.org/debian/images/installer-arm64/${ROOTFS_BUILD_NUMBER}/linaro-jessie-installer-${ROOTFS_BUILD_TIMESTAMP}-${ROOTFS_BUILD_NUMBER}.tar.gz"
wget -nc --progress=dot -e dotbytes=2M ${ROOTFS_BUILD_URL}
mkdir -p out bootfs rootfs
# Build information
cat > out/HEADER.textile << EOF
h4. Reference Platform Build - Installer for HiKey
Build description:
* Build URL: "${BUILD_URL}":${BUILD_URL}
* Installer Rootfs: "${ROOTFS_BUILD_URL}":${ROOTFS_BUILD_URL}
EOF
# set up partitions
dd if=/dev/zero of=hikey-sd-install.img bs=2096 seek=1M count=0
/sbin/parted --script hikey-sd-install.img mklabel msdos
/sbin/parted --script hikey-sd-install.img mkpart p fat16 0 50
/sbin/parted --script hikey-sd-install.img set 1 boot
/sbin/parted --script -- hikey-sd-install.img mkpart p ext4 50 -0
for device in $(sudo kpartx -avs hikey-sd-install.img | cut -d' ' -f3); do
partition=$(echo ${device} | cut -d'p' -f3)
case "${partition}" in
1)
sudo mkfs.fat -F16 /dev/mapper/${device}
sudo mount /dev/mapper/${device} bootfs
;;
2)
sudo mkfs.ext4 /dev/mapper/${device}
sudo mount /dev/mapper/${device} rootfs
sudo tar xf linaro-jessie-installer-${ROOTFS_BUILD_TIMESTAMP}-${ROOTFS_BUILD_NUMBER}.tar.gz -C rootfs --strip-components=1
;;
esac
done
sudo mkdir -p rootfs/mnt/debian rootfs/boot/efi/EFI/BOOT
sudo chroot rootfs apt-get update -q=2
sudo chroot rootfs apt-get install -q=2 -y linux-image-reference-arm64
sudo rm rootfs/var/cache/apt/archives/*deb rootfs/var/lib/apt/lists/*||true
sudo chroot rootfs /usr/sbin/grub-install-hikey -s
sudo cp -a rootfs/boot/efi/* bootfs/
sudo chown ${USER}:${USER} rootfs/mnt/debian
# download alip image for flash
export ROOTFS_BUILD_TIMESTAMP=$(wget -q -O - https://ci.linaro.org/job/96boards-reference-platform-debian/BOARD=hikey,label=docker-jessie-amd64/lastSuccessfulBuild/buildTimestamp?format=yyyyMMdd)
export ROOTFS_BUILD_NUMBER=$(wget -q -O - https://ci.linaro.org/job/96boards-reference-platform-debian/BOARD=hikey,label=docker-jessie-amd64/lastSuccessfulBuild/buildNumber)
export TARGET_ROOT_URL="https://builds.96boards.org/snapshots/reference-platform/debian/${ROOTFS_BUILD_NUMBER}/hikey/hikey-rootfs-debian-jessie-alip-${ROOTFS_BUILD_TIMESTAMP}-${ROOTFS_BUILD_NUMBER}.emmc.img.gz"
export TARGET_BOOT_URL="https://builds.96boards.org/snapshots/reference-platform/debian/${ROOTFS_BUILD_NUMBER}/hikey/hikey-boot-linux-${ROOTFS_BUILD_TIMESTAMP}-${ROOTFS_BUILD_NUMBER}.uefi.img.gz"
wget -nc --progress=dot -e dotbytes=2M -O rootfs/mnt/debian/rootfs.img.gz ${TARGET_ROOT_URL}
wget -nc --progress=dot -e dotbytes=2M -O rootfs/mnt/debian/boot.img.gz ${TARGET_BOOT_URL}
sudo cp -a rootfs/usr/share/96boards-tools/flash-hikey rootfs/mnt/flash
cat << EOF > rootfs/mnt/debian/os.json
{
"name": "Reference platform Debian Desktop for hikey - Build ${BUILD_NUMBER}",
"url": "http://builds.96boards.org/releases/installer/hikey",
"version": "${ROOTFS_BUILD_NUMBER}",
"release_date": "$(date +%Y-%m-%d)",
"description": "Reference platform Debian LXDE desktop for hikey"
}
EOF
sudo umount bootfs rootfs
sudo kpartx -dv hikey-sd-install.img
time pigz -9 hikey-sd-install.img
mv hikey-sd-install.img.gz out/hikey-sd-installer-${BUILD_NUMBER}.img.gz
# Publish
test -d ${HOME}/bin || mkdir ${HOME}/bin
wget -q https://git.linaro.org/ci/publishing-api.git/blob_plain/HEAD:/linaro-cp.py -O ${HOME}/bin/linaro-cp.py
time python ${HOME}/bin/linaro-cp.py \
--server ${PUBLISH_SERVER} \
--link-latest \
out/ snapshots/reference-platform/installer/hikey/${BUILD_NUMBER}/
|