[openwrt/openwrt] mediatek: add script to trigger scrubbing of FIP-in-UBI
LEDE Commits
lede-commits at lists.infradead.org
Mon Aug 12 03:32:39 PDT 2024
dangole pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/8cf9a932fa7cebbfad1e9fab0ea633482adb8436
commit 8cf9a932fa7cebbfad1e9fab0ea633482adb8436
Author: Daniel Golle <daniel at makrotopia.org>
AuthorDate: Sun Aug 11 23:45:46 2024 +0100
mediatek: add script to trigger scrubbing of FIP-in-UBI
Read the 'fip' static volume in order to trigger scrubbing in case of
detecting flipped bits while reading.
We have to do this in Linux because we never read or touch the 'fip'
volume and the UBISPL implementation in ARM TrustedFirmware-A does NOT
handle scrubbing itself.
Signed-off-by: Daniel Golle <daniel at makrotopia.org>
---
.../base-files/lib/preinit/07_trigger_fip_scrubbing | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/target/linux/mediatek/base-files/lib/preinit/07_trigger_fip_scrubbing b/target/linux/mediatek/base-files/lib/preinit/07_trigger_fip_scrubbing
new file mode 100644
index 0000000000..74458e075b
--- /dev/null
+++ b/target/linux/mediatek/base-files/lib/preinit/07_trigger_fip_scrubbing
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+trigger_fip_scrubbing() {
+ local vol voltype volname
+ for vol in /sys/class/ubi/ubi*_*; do
+ [ -e "$vol" ] || continue
+ voltype="$(cat "$vol"/type)"
+ volname="$(cat "$vol"/name)"
+ if [ "$voltype" = "static" ] && [ "$volname" = "fip" ]; then
+ cat "/dev/${vol##*/}" > /dev/null
+ break
+ fi
+ done
+}
+
+boot_hook_add preinit_main trigger_fip_scrubbing
More information about the lede-commits
mailing list