#!/bin/sh # B8C RAM test image = B8B + exactly one file in initramfs: /lib/firmware/wlan/prima/WCNSS_qcom_wlan_nv.bin (stock persist NV). # Kernel/DTB = B8B Image.gz-dtb byte-for-byte; base initramfs = B7C; overlay appended as a separate gzip cpio member. For `fastboot boot` only. set -e; cd "$(dirname "$0")"; O=out; B=../b8b/out; C=../../b7/b7c/out; G=../../linux/artifacts/ramboot-mm1; GEN=../../linux/out/usr/gen_init_cpio; TS=1790726400 NV=rootfs/lib/firmware/wlan/prima/WCNSS_qcom_wlan_nv.bin echo "9923b45bee1637b289bfc686a3c57ab69289bb56da4d2add063bf4481de0808c ../../partitions/persist.bin" | sha256sum -c # re-extract from the persist dump and require identity with the staged file PATH=$PATH:/sbin:/usr/sbin debugfs -R 'cat /WCNSS_qcom_wlan_nv.bin' ../../partitions/persist.bin 2>/dev/null | cmp - $NV && echo "NV == persist:/WCNSS_qcom_wlan_nv.bin" [ "$(stat -c %s $NV)" = 29816 ] && echo "NV size 29816 OK" echo "c6b718258bb0f9e84fcd852439da35ecbc52d5bed4061d5e8aa7a0c41c97d7a2 $NV" | sha256sum -c echo "bf92247d49a98aa4bacfd91054e9fb2d005985356458d3e657d705940c5a4dba $B/aurora-b8b.img" | sha256sum -c echo "c5864f896d53dc8e73c0e291181b76bdf9153e8f82efa2f94020ec331fda190a $B/Image.gz-dtb" | sha256sum -c echo "f219b04d539faf34cd096eaacf6bcf048c3639fa57c076d40a2812bd3ff74699 $C/initramfs-b7c.cpio.gz" | sha256sum -c python3 ../../b6p/mkbootimg.py $B/Image.gz-dtb $C/initramfs-b7c.cpio.gz $G/cmdline.txt $O/b8b-rebuilt.img cmp $O/b8b-rebuilt.img $B/aurora-b8b.img && echo "mkbootimg: B8B reproduced bit-for-bit"; rm $O/b8b-rebuilt.img cat > $O/overlay-b8c.list < $O/overlay-b8c.cpio gzip -9 -n -c $O/overlay-b8c.cpio > $O/overlay-b8c.cpio.gz cat $C/initramfs-b7c.cpio.gz $O/overlay-b8c.cpio.gz > $O/initramfs-b8c.cpio.gz python3 ../../b6p/mkbootimg.py $B/Image.gz-dtb $O/initramfs-b8c.cpio.gz $G/cmdline.txt $O/aurora-b8c.img (cd $O && sha256sum overlay-b8c.cpio.gz initramfs-b8c.cpio.gz aurora-b8c.img > SHA256SUMS; cat SHA256SUMS); ls -l $O/aurora-b8c.img