ipq807x: sax1v1k: fix sysupgrade not touching rootfs_data
authorRodrigo Balerdi <lanchon@gmail.com>
Mon, 23 Sep 2024 10:31:08 +0000 (07:31 -0300)
committerRobert Marko <robimarko@gmail.com>
Mon, 23 Sep 2024 22:07:55 +0000 (00:07 +0200)
Before this commit, sysupgrade saved the settings backup data to
the area following rootfs even though the device has an actual
rootfs_data partition. The backup data was completely ignored on
the following boot, but since rootfs_data was not being cleared
during sysupgrade, the issue was not noticed earlier.

Note that this commit changes the filesystem of rootfs_data from
ext4 to F2FS (if OEM partitioning is used).

Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16463
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/qualcommax/image/ipq807x.mk
target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh

index b62734334d2600f6dd68903cc9569a0d11ae48da..faefb479c24ea7d8fcf19b5435e93176a726d465 100644 (file)
@@ -340,7 +340,7 @@ define Device/spectrum_sax1v1k
        DEVICE_DTS_CONFIG := config@rt5010w-d187-rev6
        SOC := ipq8072
        IMAGES := sysupgrade.bin
-       DEVICE_PACKAGES := ipq-wifi-spectrum_sax1v1k
+       DEVICE_PACKAGES := kmod-fs-f2fs f2fs-tools ipq-wifi-spectrum_sax1v1k
 endef
 TARGET_DEVICES += spectrum_sax1v1k
 
index 92ef5fef2cec77ac72e61c21b1a0d3495f5b5294..808acac684a216c96b8d3d2f04244ca644db87d9 100644 (file)
@@ -184,8 +184,7 @@ platform_do_upgrade() {
                nand_do_upgrade "$1"
                ;;
        prpl,haze|\
-       qnap,301w|\
-       spectrum,sax1v1k)
+       qnap,301w)
                kernelname="0:HLOS"
                rootfsname="rootfs"
                mmc_do_upgrade "$1"
@@ -212,6 +211,12 @@ platform_do_upgrade() {
                CI_ROOT_UBIPART="rootfs"
                nand_do_upgrade "$1"
                ;;
+       spectrum,sax1v1k)
+               CI_KERNPART="0:HLOS"
+               CI_ROOTPART="rootfs"
+               CI_DATAPART="rootfs_data"
+               emmc_do_upgrade "$1"
+               ;;
        yuncore,ax880)
                active="$(fw_printenv -n active)"
                if [ "$active" -eq "1" ]; then
@@ -260,3 +265,11 @@ platform_do_upgrade() {
                ;;
        esac
 }
+
+platform_copy_config() {
+       case "$(board_name)" in
+       spectrum,sax1v1k)
+               emmc_copy_config
+               ;;
+       esac
+}