mvebu: puzzle-m90x: wipe rootfs_data on sysupgrade
authorDaniel Golle <daniel@makrotopia.org>
Tue, 9 Jan 2024 19:54:51 +0000 (19:54 +0000)
committerDaniel Golle <daniel@makrotopia.org>
Fri, 12 Apr 2024 00:51:51 +0000 (01:51 +0100)
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@makrotopia.org>
(cherry picked from commit d4e8653e1e9ec90404d12ea24fb0f8e507b337d5)

target/linux/mvebu/cortexa72/base-files/lib/upgrade/emmc-puzzle.sh

index 5e5c356ed6946ab98c5a2a39b037aeef96bcc30f..9a33b7714ccef220d9359266e7133eae60f25553 100755 (executable)
@@ -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
 }