uzbek-plus/b6p/build-candidate.sh

28 lines
1.6 KiB
Bash
Executable file

#!/bin/sh
# B6P candidate build: golden mm1 kernel/DTB/cmdline + golden initramfs.cpio.gz (exact bytes) + appended B6P overlay cpio.gz.
set -e; cd "$(dirname "$0")"; G=../linux/artifacts/ramboot-mm1; GI=../linux/initramfs-mm1; O=out; mkdir -p $O
GEN=../linux/out/usr/gen_init_cpio; TS=1790726400 # fixed overlay mtime (2026-09-30 00:00 UTC)
sha256sum -c golden.sha256
# 0. prove the image writer reproduces golden bit-for-bit
python3 ../tools/bootimg.py $G/aurora-mm1.img $O/golden-unpack > /dev/null
python3 mkbootimg.py $O/golden-unpack/kernel $G/initramfs.cpio.gz $G/cmdline.txt $O/golden-rebuilt.img
cmp $O/golden-rebuilt.img $G/aurora-mm1.img && echo "mkbootimg: golden reproduced bit-for-bit"
# 1. overlay cpio
cat > $O/overlay.list <<LIST
dir /etc 0755 0 0
dir /etc/aurora 0755 0 0
dir /etc/init.d 0755 0 0
dir /usr 0755 0 0
dir /usr/sbin 0755 0 0
dir /run 0755 0 0
file /init rootfs/init 0755 0 0
file /usr/sbin/aurora-modem rootfs/usr/sbin/aurora-modem 0755 0 0
file /etc/init.d/aurora-modem rootfs/etc/init.d/aurora-modem 0755 0 0
file /etc/aurora/modem.conf rootfs/etc/aurora/modem.conf 0644 0 0
LIST
$GEN -t $TS $O/overlay.list > $O/overlay.cpio
gzip -9 -n -c $O/overlay.cpio > $O/overlay.cpio.gz
cat $G/initramfs.cpio.gz $O/overlay.cpio.gz > $O/initramfs-b6p.cpio.gz
python3 mkbootimg.py $O/golden-unpack/kernel $O/initramfs-b6p.cpio.gz $G/cmdline.txt $O/aurora-mm1-b6p.img
sha256sum $O/overlay.cpio $O/overlay.cpio.gz $O/initramfs-b6p.cpio.gz $O/aurora-mm1-b6p.img rootfs/init rootfs/usr/sbin/aurora-modem rootfs/etc/init.d/aurora-modem rootfs/etc/aurora/modem.conf > $O/SHA256SUMS
ls -l $O/aurora-mm1-b6p.img $O/initramfs-b6p.cpio.gz $O/overlay.cpio.gz