blob: ca8c9e56aaa0df52383db7b94a81e0a6a52e13b8 (
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
|
# Debian arm64 NFS, initramfs, modules and dtbs
- job:
name: lava-debian-stretch-arm64
project-type: freestyle
defaults: global
logrotate:
daysToKeep: 14
numToKeep: 5
properties:
- authorization:
anonymous:
- job-read
- job-extended-read
platform-leads:
- job-build
- job-cancel
disabled: false
node: docker-jessie-amd64
display-name: 'LAVA - Build ARM64 Debian Stretch files'
wrappers:
- timestamps
builders:
- linaro-publish-token
- shell: |
#!/bin/bash
mkdir out
cd out/
echo "deb http://mirror.bytemark.co.uk/debian jessie-backports main" > jessie-backports.list
sudo mv jessie-backports.list /etc/apt/sources.list.d/
sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt -q -y -t jessie-backports install qemu-user-static debootstrap
sudo DEBIAN_FRONTEND=noninteractive apt -q -y install python-guestfs
wget https://git.linaro.org/lava-team/refactoring.git/blob_plain/HEAD:/scripts/build-foreign-nfs.sh
wget https://git.linaro.org/lava-team/refactoring.git/blob_plain/HEAD:/scripts/build-foreign-image.sh
wget https://git.linaro.org/lava-team/refactoring.git/blob_plain/HEAD:/scripts/guest-img.py
chmod 744 ./build-foreign-nfs.sh
chmod 744 ./build-foreign-image.sh
sudo ./build-foreign-nfs.sh -a arm64 -b /usr/bin/qemu-aarch64-static -d stretch
sudo ./build-foreign-image.sh -a arm64 -b /usr/bin/qemu-aarch64-static -d stretch
cd ..
cat > ${WORKSPACE}/out/debian-arm64-readme.html <<EOF
<html><body><pre>
lava-debian-stretch-arm64 build instructions
========================================
This initramfs is built using update-initramfs inside a minimal
Debian Unstable debootstrap chroot. The contents of the chroot is
then packaged up as an NFS with an empty root password.
apt is included in the NFS, as are bash, grep, iproute2, mawk and
sed. The NFS uses the default init in unstable: systemd.
The Debian ARM64 kernel is a modular build and the modules
need to be available in the initramfs for the kernel to be
able to mount the NFS. The initramfs does not have DNS
support.
A similar chroot is created with systemd-sysv added. The chroot is
unpacked into an empty ext2 primary partition of an image:
stretch-arm64.img The UUID of the partition is available as
stretch-arm64.img.uuid.txt and should be appended to the kernel command
line using the root= argument when testing the image using QEMU in
LAVA to ensure that the correct drive is booted. The image has
systemd-networkd and systemd-resolved enabled to use DHCP on the
primary network interface.
When using the image and the UUID, ensure that you also use the
checksums to ensure that the UUID matches the files being
downloaded.
https://ci.linaro.org/view/lava-ci/job/lava-debian-stretch-arm64/
The scripts used by jenkins are available here:
https://git.linaro.org/lava-team/refactoring.git/tree/HEAD:/scripts
https://git.linaro.org/ci/job/configs.git/blob/HEAD:/lava-debian-stretch-arm64.yaml
The base system is a Debian Unstable VM.
The NFS rootfs and the image both use a prompt of "root@stretch:" and
the same auto login details:
auto_login:
login_prompt: 'login:'
username: root
</pre></body></html>
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 --api_version 3 out components/lava/standard/debian/stretch/arm64/${BUILD_NUMBER}
publishers:
# - archive:
# artifacts: 'out/*'
- email:
recipients: 'neil.williams@linaro.org fathi.boudra@linaro.org'
|