uzbek-plus/b12/b12q/alpine-overlay/usr/local/bin/nv-check

12 lines
740 B
Bash

#!/bin/sh
# Recompute NV hashes + eMMC stat and compare with the boot-time snapshot (read-only).
o=/tmp/nv-after.txt; : > $o
for want in modemst1 modemst2 fsg fsc persist; do
for p in /sys/class/block/mmcblk0p*; do
[ "$(sed -n 's/^PARTNAME=//p' $p/uevent)" = "$want" ] && echo "$want $(basename $p) $(sha256sum /dev/$(basename $p) | cut -d' ' -f1)" >> $o
done
done
echo "stat $(cat /sys/block/mmcblk0/stat)" >> $o
grep -v ^stat /tmp/nv-before.txt > /tmp/nvb; grep -v ^stat $o > /tmp/nva
cmp -s /tmp/nvb /tmp/nva && echo "NV-CHECK: BEFORE == AFTER ($(wc -l < /tmp/nva) partitions)" || { echo "NV-CHECK: DIFFERENT"; diff /tmp/nvb /tmp/nva; }
set -- $(sed -n 's/^stat //p' $o); echo "NV-CHECK: disk writes_completed=$5 sectors_written=$7"