Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-ci
Path: blob/main/jobs/FreeBSD-main-powerpc64-images/build.sh
1130 views
1
#!/bin/sh
2
3
SSL_CA_CERT_FILE=/usr/local/share/certs/ca-root-nss.crt
4
5
if [ -z "${GIT_COMMIT}" ]; then
6
echo "No git commit id specified"
7
exit 1
8
fi
9
10
BRANCH=main
11
TARGET=powerpc
12
TARGET_ARCH=powerpc64
13
14
ARTIFACT_SERVER=${ARTIFACT_SERVER:-artifact.ci.freebsd.org}
15
ARTIFACT_SUBDIR=${BRANCH}/${GIT_COMMIT}/${TARGET}/${TARGET_ARCH}
16
17
sudo rm -fr work
18
mkdir -p work
19
cd work
20
21
mkdir -p ufs
22
for f in base kernel lib32 base-dbg kernel-dbg lib32-dbg tests
23
do
24
fetch https://${ARTIFACT_SERVER}/snapshot/${ARTIFACT_SUBDIR}/${f}.txz
25
sudo tar Jxf ${f}.txz -C ufs
26
done
27
28
cat <<EOF | sudo tee ufs/etc/fstab
29
# Device Mountpoint FStype Options Dump Pass#
30
/dev/vtbd0s2 none swap sw 0 0
31
/dev/vtbd0s3 / ufs rw 1 1
32
EOF
33
34
sudo dd if=/dev/random of=ufs/boot/entropy bs=4k count=1
35
sudo makefs -B be -d 6144 -t ffs -s 16g -o version=2,bsize=32768,fsize=4096,density=16384 ufs.img ufs
36
37
38
# disk for pseries machine type
39
mkimg -a1 -s mbr -f qcow2 \
40
-p prepboot:=ufs/boot/boot1.elf \
41
-p freebsd::1G \
42
-p freebsd:=ufs.img \
43
-o disk-pseries.qcow2
44
zstd --rm disk-pseries.qcow2
45
46
# disk for apple machine type (i.e.: Apple G5, QEMU mac99)
47
mkimg -s apm -f qcow2 \
48
-p freebsd-boot:=ufs/boot/boot1.hfs \
49
-p freebsd-ufs:=ufs.img \
50
-o disk-apple.qcow2
51
zstd --rm disk-apple.qcow2
52
53
cd ${WORKSPACE}
54
rm -fr artifact
55
mkdir -p artifact/${ARTIFACT_SUBDIR}
56
mv work/disk-pseries.qcow2.zst artifact/${ARTIFACT_SUBDIR}
57
mv work/disk-apple.qcow2.zst artifact/${ARTIFACT_SUBDIR}
58
59