Skip to content

Commit

Permalink
ipq807x: xiaomi: set compat version for single rootfs
Browse files Browse the repository at this point in the history
Xiaomi devices were migrated to a single rootfs layout, so we must set the
major compat version to 2 in order to prevent sysupgrading which brick any
devices that have not been migrated.

Signed-off-by: Robert Marko <[email protected]>
  • Loading branch information
robimarko committed Jan 6, 2023
1 parent 9de97b2 commit 71addb3
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 2 deletions.
5 changes: 5 additions & 0 deletions target/linux/ipq807x/base-files/etc/board.d/05_compat-version
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@
board_config_update

case "$(board_name)" in
redmi,ax6|\
xiaomi,ax3600|\
xiaomi,ax9000)
ucidef_set_compat_version "2.0"
;;
*)
ucidef_set_compat_version "1.1"
;;
Expand Down
11 changes: 9 additions & 2 deletions target/linux/ipq807x/image/generic.mk
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ define Device/IfnameMigration
DEVICE_COMPAT_MESSAGE := Network interface names have changed
endef

define Device/partition-layout-migration
DEVICE_COMPAT_VERSION := 2.0
DEVICE_COMPAT_MESSAGE := *** Partition layout has changed from earlier \
versions. You need to reinstall the firmware from UART or a migration \
initramfs image. Settings will be lost. ***
endef

define Device/dynalink_dl-wrx36
$(call Device/FitImage)
$(call Device/UbiFit)
Expand Down Expand Up @@ -92,7 +99,7 @@ TARGET_DEVICES += redmi_ax6
define Device/xiaomi_ax3600
$(call Device/FitImage)
$(call Device/UbiFit)
$(call Device/IfnameMigration)
$(call Device/partition-layout-migration)
DEVICE_VENDOR := Xiaomi
DEVICE_MODEL := AX3600
BLOCKSIZE := 128k
Expand All @@ -111,7 +118,7 @@ TARGET_DEVICES += xiaomi_ax3600
define Device/xiaomi_ax9000
$(call Device/FitImage)
$(call Device/UbiFit)
$(call Device/IfnameMigration)
$(call Device/partition-layout-migration)
DEVICE_VENDOR := Xiaomi
DEVICE_MODEL := AX9000
BLOCKSIZE := 128k
Expand Down

4 comments on commit 71addb3

@zxlhhyccc
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After updating to 2.0, firmware cannot be upgraded through luci

@robimarko
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the device, error and output of:
uci show system.@system[0].compat_version

@zxlhhyccc
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AX6 device, luci page does not retain the configuration upgrade, but can not upgrade, after starting the configuration, etc have not changed!
uci show system.@system[0].compat_versiondisplay version is 2.0

@robimarko
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without an log I have no idea whats going on as it works for me

Please sign in to comment.