12 lines
821 B
Text
12 lines
821 B
Text
#!/sbin/openrc-run
|
|
# B12Q: eMMC write policy check after switch_root (stage0 left only userdata RW) + /tmp on tmpfs (no eMMC writes for scratch).
|
|
description="Aurora eMMC RO policy check"
|
|
depend() { before aurora-firmware aurora-modem aurora-wifi; }
|
|
start() {
|
|
ebegin "Checking eMMC RO policy"
|
|
ud=; for p in /sys/class/block/mmcblk0p*; do [ "$(sed -n 's/^PARTNAME=//p' $p/uevent)" = userdata ] && ud=/dev/$(basename $p); done
|
|
bad=; for x in /dev/mmcblk0p* /dev/mmcblk0boot0 /dev/mmcblk0boot1; do [ "$x" = "$ud" ] && continue; [ "$(blockdev --getro $x)" = 1 ] || bad="$bad $x"; done
|
|
[ -z "$bad" ] || { eend 1 "NOT RO:$bad"; return 1; }
|
|
grep -q " /tmp tmpfs" /proc/mounts || mount -t tmpfs -o nosuid,nodev,mode=1777,size=64m tmpfs /tmp
|
|
echo "<5>[aurora-ro] all eMMC devices RO except $ud (root)" > /dev/kmsg; eend 0
|
|
}
|