uzbek-plus/b7/b7c/build-b7c.sh
q 8d7721c775 B7: add network time bootstrap and persistent B7C cache
B7A: QMI DMS time vs VNIIFTRI NTP (DMS = UTC - 0.28 s, sigma 1 ms; NITZ = DMS
truncated to 1 s). B7B: a 1970 -> 2026 date -s step is harmless for the modem
stack. B7C: aurora-modem probes DMS/NITZ along the start flow and steps
CLOCK_REALTIME once at the first valid sample (REG registered/attached), never
RTC; background SNTP check (query only) after START OK. 3/3 class-A cold boots
PASS (residual +0.04/+0.36/+0.84 s), cache 14fe453a written (B7C_WRITE_VERIFIED)
and verified by a normal power-on (V1, +0.26 s).

Also publishes the prerequisite R2 (boot-hang / lk eMMC investigation, T4
telnet baseline that B7C builds on) and R3 (autonomous cold boot, NCM loss)
material, and extends tools/publish-sanitize.py to r2/, r3/, b7/.
Binary images, initramfs, busybox and raw logs stay out (see b7/*/SHA256SUMS).
2026-10-02 20:18:25 +03:00

25 lines
2.1 KiB
Bash

#!/bin/sh
# B7C RAM test image: exact T4 initramfs (db47835b) + appended overlay: patched /usr/sbin/aurora-modem (time bootstrap), /etc/aurora/build-epoch,
# /usr/libexec/aurora/busybox (Alpine busybox-static 1.37.0-r20, used only as `busybox ntpd -w`). Kernel/DTB/cmdline = golden mm1 (same as B6P/T4).
# For `fastboot boot` only - never flash.
set -e; cd "$(dirname "$0")"; B=../../b6p; T=../../r2/t4; O=out; GEN=../../linux/out/usr/gen_init_cpio; TS=1790726400
G=../../linux/artifacts/ramboot-mm1; BUILD=${BUILD_EPOCH:-$(date -u +%s)}; mkdir -p $O rootfs/etc/aurora
echo "db47835b9286617c306cf78960cac592940c795fe91f45f072fa8622165869a6 $T/out/initramfs-t4.cpio.gz" | sha256sum -c
echo "6db01841170b5e1203fe904d81f9abfb7ed35e68ad0beeae17e5ad865800e4ad $T/out/aurora-mm1-t4telnet.img" | sha256sum -c
echo "a6bb1e6e349cbdfa690a78cd0017413c5446bdae02ee003ceb682d4ae1a004ff busybox-ntp.static" | sha256sum -c
# prove the writer reproduces the T4 image bit-for-bit
python3 $B/mkbootimg.py $B/out/golden-unpack/kernel $T/out/initramfs-t4.cpio.gz $G/cmdline.txt $O/t4-rebuilt.img
cmp $O/t4-rebuilt.img $T/out/aurora-mm1-t4telnet.img && echo "mkbootimg: T4 reproduced bit-for-bit"
echo $BUILD > rootfs/etc/aurora/build-epoch; echo "build-epoch $BUILD ($(date -u -d @$BUILD +%FT%TZ))"
cat > $O/overlay-b7c.list <<L
file /usr/sbin/aurora-modem rootfs/usr/sbin/aurora-modem 0755 0 0
file /etc/aurora/build-epoch rootfs/etc/aurora/build-epoch 0644 0 0
dir /usr/libexec/aurora 0755 0 0
file /usr/libexec/aurora/busybox busybox-ntp.static 0755 0 0
L
$GEN -t $TS $O/overlay-b7c.list > $O/overlay-b7c.cpio
gzip -9 -n -c $O/overlay-b7c.cpio > $O/overlay-b7c.cpio.gz
cat $T/out/initramfs-t4.cpio.gz $O/overlay-b7c.cpio.gz > $O/initramfs-b7c.cpio.gz
python3 $B/mkbootimg.py $B/out/golden-unpack/kernel $O/initramfs-b7c.cpio.gz $G/cmdline.txt $O/aurora-mm1-b7c.img
sha256sum rootfs/usr/sbin/aurora-modem rootfs/etc/aurora/build-epoch busybox-ntp.static $O/overlay-b7c.cpio.gz $O/initramfs-b7c.cpio.gz $O/aurora-mm1-b7c.img > $O/SHA256SUMS
cat $O/SHA256SUMS; ls -l $O/aurora-mm1-b7c.img $T/out/aurora-mm1-t4telnet.img