[openwrt/openwrt] mvebu: puzzle-m90x: wipe rootfs_data on sysupgrade

LEDE Commits lede-commits at lists.infradead.org
Thu Apr 11 17:52:33 PDT 2024


dangole pushed a commit to openwrt/openwrt.git, branch openwrt-23.05:
https://git.openwrt.org/5cae98c25d86e078d0632aa25f168df11689f592

commit 5cae98c25d86e078d0632aa25f168df11689f592
Author: Daniel Golle <daniel at makrotopia.org>
AuthorDate: Tue Jan 9 19:54:51 2024 +0000

    mvebu: puzzle-m90x: wipe rootfs_data on sysupgrade
    
    The sysupgrade formware of the Puzzle series is a slightly strange
    dual-boot approach while remaining compatible with Marvell's SDK
    firmware upgrade binary format -- which happens to be a full-disk
    image with GPT partition table. Hence that /lib/upgrade/emmc-puzzle.sh
    script is like an exotic disease which results from those decisions,
    and as we also want to somehow stay compatible with the IEI-World
    stock firmware we got to use it in that same way (we are not
    compatible with the QNAP-branded identical hardware device anyway).
    
    Currently, on sysupgrade the result is that one ends up with the old
    content of rootfs_data (a GPT partition on those devices) as nothing
    ever wipes or in any way re-creates the filesystem there. As a simple
    work-around, let's kill the filesystem on rootfs_data so fstools
    re-formats it on the next boot.
    
    Signed-off-by: Daniel Golle <daniel at makrotopia.org>
    (cherry picked from commit d4e8653e1e9ec90404d12ea24fb0f8e507b337d5)
---
 target/linux/mvebu/cortexa72/base-files/lib/upgrade/emmc-puzzle.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/target/linux/mvebu/cortexa72/base-files/lib/upgrade/emmc-puzzle.sh b/target/linux/mvebu/cortexa72/base-files/lib/upgrade/emmc-puzzle.sh
index 5e5c356ed6..9a33b7714c 100755
--- a/target/linux/mvebu/cortexa72/base-files/lib/upgrade/emmc-puzzle.sh
+++ b/target/linux/mvebu/cortexa72/base-files/lib/upgrade/emmc-puzzle.sh
@@ -32,5 +32,7 @@ platform_do_upgrade_emmc() {
 	v "Writing new UUID to /dev/$diskdev..."
 	get_image_dd "$1" of="/dev/$diskdev" bs=1 skip=440 count=4 seek=440 conv=fsync
 
+	dd if=/dev/zero of=$(find_mmc_part rootfs_data) bs=512 count=8
+
 	sleep 1
 }




More information about the lede-commits mailing list