blob: aca3ae2764685440c75cd4305bbd9d4718367083 (
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
|
# Debian arm64 NFS, initramfs, modules and dtbs
- job:
name: lava-debian-buster-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: true
node: docker-stretch-amd64
display-name: 'LAVA - Build ARM64 Debian Buster files'
wrappers:
- timestamps
builders:
- linaro-publish-token
- shell: |
#!/bin/bash
mkdir out
cd out/
echo "deb http://mirror.bytemark.co.uk/debian stretch-backports main" > stretch-backports.list
sudo mv stretch-backports.list /etc/apt/sources.list.d/
sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt -q -y install qemu-user-static debootstrap 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
chmod 755 ./build-foreign-nfs.sh
chmod 755 ./build-foreign-image.sh
sudo ./build-foreign-nfs.sh -a arm64 -b /usr/bin/qemu-aarch64-static -d buster
sudo ./build-foreign-image.sh -a arm64 -b /usr/bin/qemu-aarch64-static -d buster
cd ..
cat > ${WORKSPACE}/out/debian-buster-arm64-readme.html <<EOF
<html><body><pre>
lava-debian-buster-arm64 build instructions
========================================
This initramfs is built using update-initramfs inside a minimal
Debian Buster 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 buster: 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:
buster-arm64.img The UUID of the partition is available as
buster-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-buster-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-buster-arm64.yaml
The base system is a Debian Buster VM.
The NFS rootfs and the image both use a prompt of "root@buster:" and
the same auto login details:
auto_login:
login_prompt: 'login:'
username: root
</pre></body></html>
EOF
# echo final location
echo Publishing to: http://snapshots.linaro.org/components/lava/standard/debian/buster/arm64/${BUILD_NUMBER}
# 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 python3 ${HOME}/bin/linaro-cp.py --api_version 3 out components/lava/standard/debian/buster/arm64/${BUILD_NUMBER}
publishers:
# - archive:
# artifacts: 'out/*'
- email:
recipients: 'neil.williams@linaro.org fathi.boudra@linaro.org'
|