blob: 17a41565a0391f9461671e48b6bc64b1e811f108 (
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
- job:
name: 96boards-reference-debian-installer-staging
project-type: freestyle
defaults: global
logrotate:
daysToKeep: 30
numToKeep: 30
properties:
- authorization:
anonymous:
- job-read
- job-extended-read
- job-workspace
linaro:
- job-read
- job-extended-read
- job-build
- job-cancel
disabled: false
node: docker-jessie-arm64
display-name: 'Reference Platform - Debian Installer (staging)'
wrappers:
- timestamps
- build-name:
name: '#${BUILD_NUMBER}'
builders:
- linaro-publish-token:
host: builds.96boards.org
- shell: |
#!/bin/bash
set -ex
echo "deb http://repo.linaro.org/ubuntu/linaro-overlay jessie main" > local.list
echo "deb http://repo.linaro.org/ubuntu/linaro-staging jessie main" >> local.list
sudo cp local.list /etc/apt/sources.list.d/
sudo apt-get update
sudo apt-get install -y debian-archive-keyring gnupg dctrl-tools bc debiandoc-sgml xsltproc libbogl-dev glibc-pic libslang2-pic libnewt-pic genext2fs e2fsprogs mklibs genisoimage dosfstools
sudo apt-get install -y grub-efi-arm64-bin mtools module-init-tools openssl xorriso bf-utf-source docbook-xml docbook-xsl cpio
# Find kernel abi
KERNEL_ABI=`apt-cache show linux-image-reference-arm64 | grep -m 1 Depends | sed -e "s/.*linux-image-//g" -e "s/-arm64//g"`
# Build the installer
DEB_INSTALLER_VERSION="20150422+deb8u4"
dget http://ftp.us.debian.org/debian/pool/main/d/debian-installer/debian-installer_${DEB_INSTALLER_VERSION}.dsc
cd debian-installer-*
## https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=810654, so lava can use grub to load grub.cfg from the local disk
sed -i 's/fshelp|//g' build/util/grub-cpmodules
# Config changes
cd build
sed -i "s/LINUX_KERNEL_ABI.*/LINUX_KERNEL_ABI = $KERNEL_ABI/g" config/common
sed -i "s/PRESEED.*/PRESEED = default-preseed/g" config/common
sed -i "s/USE_UDEBS_FROM.*/USE_UDEBS_FROM = jessie/g" config/common
# Local pkg-list (to include all udebs)
cat <<EOF > pkg-lists/local
ext4-modules-\${kernel:Version}
fat-modules-\${kernel:Version}
btrfs-modules-\${kernel:Version}
md-modules-\${kernel:Version}
efi-modules-\${kernel:Version}
scsi-modules-\${kernel:Version}
jfs-modules-\${kernel:Version}
xfs-modules-\${kernel:Version}
ata-modules-\${kernel:Version}
sata-modules-\${kernel:Version}
usb-storage-modules-\${kernel:Version}
EOF
# Set up local repo
cat <<EOF > sources.list.udeb
deb [trusted=yes] http://repo.linaro.org/ubuntu/linaro-overlay jessie main/debian-installer
deb [trusted=yes] http://repo.linaro.org/ubuntu/linaro-staging jessie main/debian-installer
deb http://httpredir.debian.org/debian jessie main/debian-installer
EOF
# Default preseed to add the overlay and kernel
cat <<EOF > default-preseed
# Continue install on "no kernel modules were found for this kernel"
d-i anna/no_kernel_modules boolean true
# Continue install on "no installable kernels found"
d-i base-installer/kernel/skip-install boolean true
d-i base-installer/kernel/no-kernels-found boolean true
# Adding security, updates and backports by default
d-i apt-setup/services-select multiselect security, updates, backports
# Adding linaro-overlay by default, so it can find the kernel and extra packages
d-i apt-setup/local0/repository string http://repo.linaro.org/ubuntu/linaro-overlay jessie main
d-i apt-setup/local0/comment string Linaro Overlay
d-i apt-setup/local0/source boolean true
d-i apt-setup/local0/key string http://repo.linaro.org/ubuntu/linarorepo.key
d-i apt-setup/local1/repository string http://repo.linaro.org/ubuntu/linaro-staging jessie main
d-i apt-setup/local1/comment string Linaro Staging
d-i apt-setup/local1/source boolean true
d-i apt-setup/local1/key string http://repo.linaro.org/ubuntu/linarorepo.key
d-i pkgsel/upgrade select full-upgrade
d-i preseed/late_command string in-target apt-get install -y linux-image-reference-arm64
EOF
fakeroot make build_netboot
cd ../..
cp debian-installer-*/build/dest/netboot/mini.iso .
cp debian-installer-*/build/dest/netboot/netboot.tar.gz .
# Final preparation for publishing
mkdir out
cp -a mini.iso netboot.tar.gz out/
cd out; tar -zxvf netboot.tar.gz; cd ..
# Create MD5SUMS file
(cd out && find -type f -exec md5sum {} \; | sed "s/ \.\// /g" > MD5SUMS.txt)
# Build information
KERNEL_VERSION=`grep -a "Linux version" out/debian-installer/arm64/linux`
cat > out/HEADER.textile << EOF
h4. Reference Platform - Debian Installer (staging)
Debian Installer (Jessie) produced with the Reference Platform Kernel package.
Check "https://github.com/Linaro/documentation/blob/master/Reference-Platform/EECommon/Install-Debian-Jessie.md":https://github.com/Linaro/documentation/blob/master/Reference-Platform/EECommon/Install-Debian-Jessie.md for the install instructions.
Build Description:
* Build URL: "$BUILD_URL":$BUILD_URL
* Debian Installer version: $DEB_INSTALLER_VERSION
* Kernel: $KERNEL_VERSION
EOF
# 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/components/debian-installer-staging/${BUILD_NUMBER}/
publishers:
- email:
recipients: 'fathi.boudra@linaro.org ricardo.salveti@linaro.org'
|