Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-ci
Path: blob/main/jobs/FreeBSD-main-amd64-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=amd64
12
TARGET_ARCH=amd64
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/gpt/swapfs none swap sw 0 0
31
/dev/gpt/rootfs / ufs rw 1 1
32
EOF
33
34
sudo dd if=/dev/random of=ufs/boot/entropy bs=4k count=1
35
sudo makefs -d 6144 -t ffs -s 16g -o version=2,bsize=32768,fsize=4096 ufs.img ufs
36
mkimg -s gpt -f raw \
37
-b ufs/boot/pmbr \
38
-p freebsd-boot/bootfs:=ufs/boot/gptboot \
39
-p freebsd-swap/swapfs::1G \
40
-p freebsd-ufs/rootfs:=ufs.img \
41
-o disk.img
42
zstd --rm disk.img
43
44
cd ${WORKSPACE}
45
rm -fr artifact
46
mkdir -p artifact/${ARTIFACT_SUBDIR}
47
mv work/disk.img.zst artifact/${ARTIFACT_SUBDIR}
48
49