diff --git a/target/linux/kirkwood/base-files/etc/board.d/05_compat-version b/target/linux/kirkwood/base-files/etc/board.d/05_compat-version new file mode 100644 index 0000000000..c6026c481f --- /dev/null +++ b/target/linux/kirkwood/base-files/etc/board.d/05_compat-version @@ -0,0 +1,20 @@ +# +# Copyright (C) 2020 OpenWrt.org +# + +. /lib/functions.sh +. /lib/functions/uci-defaults.sh + +board_config_update + +case "$(board_name)" in + linksys,e4200-v2|\ + linksys,ea3500|\ + linksys,ea4500) + ucidef_set_compat_version "2.0" + ;; +esac + +board_config_flush + +exit 0 diff --git a/target/linux/kirkwood/files/arch/arm/boot/dts/kirkwood-ea3500.dts b/target/linux/kirkwood/files/arch/arm/boot/dts/kirkwood-ea3500.dts index b41243d8dd..f8f940dfc6 100644 --- a/target/linux/kirkwood/files/arch/arm/boot/dts/kirkwood-ea3500.dts +++ b/target/linux/kirkwood/files/arch/arm/boot/dts/kirkwood-ea3500.dts @@ -165,22 +165,22 @@ partition@200000 { label = "kernel1"; - reg = <0x200000 0x290000>; + reg = <0x200000 0x1400000>; }; - partition@490000 { + partition@500000 { label = "rootfs1"; - reg = <0x490000 0x1170000>; + reg = <0x500000 0x1100000>; }; partition@1600000 { label = "kernel2"; - reg = <0x1600000 0x290000>; + reg = <0x1600000 0x1400000>; }; - partition@1890000 { + partition@1900000 { label = "rootfs2"; - reg = <0x1890000 0x1170000>; + reg = <0x1900000 0x1100000>; }; partition@2a00000 { diff --git a/target/linux/kirkwood/image/Makefile b/target/linux/kirkwood/image/Makefile index 23d932062e..f1cd2611d2 100644 --- a/target/linux/kirkwood/image/Makefile +++ b/target/linux/kirkwood/image/Makefile @@ -7,6 +7,14 @@ include $(INCLUDE_DIR)/image.mk KERNEL_LOADADDR:=0x8000 +define Device/kernel-size-migration + DEVICE_COMPAT_VERSION := 2.0 + DEVICE_COMPAT_MESSAGE := Partition design has changed compared to \ + older versions (up to 21.02) due to kernel size restrictions. \ + Upgrade via sysupgrade mechanism is not possible, so new \ + installation via factory style image is required. +endef + define Device/Default PROFILES := Default DEVICE_DTS = kirkwood-$(lastword $(subst _, ,$(1))) @@ -105,28 +113,31 @@ endef define Device/linksys_e4200-v2 $(Device/linksys) + $(Device/kernel-size-migration) DEVICE_MODEL := E4200 DEVICE_VARIANT := v2 - KERNEL_SIZE := 2688k + KERNEL_SIZE := 3072k SUPPORTED_DEVICES += linksys,viper linksys-viper endef TARGET_DEVICES += linksys_e4200-v2 define Device/linksys_ea3500 $(Device/linksys) + $(Device/kernel-size-migration) DEVICE_MODEL := EA3500 PAGESIZE := 512 SUBPAGESIZE := 256 BLOCKSIZE := 16k - KERNEL_SIZE := 2624k + KERNEL_SIZE := 3072k SUPPORTED_DEVICES += linksys,audi linksys-audi endef TARGET_DEVICES += linksys_ea3500 define Device/linksys_ea4500 $(Device/linksys) + $(Device/kernel-size-migration) DEVICE_MODEL := EA4500 - KERNEL_SIZE := 2688k + KERNEL_SIZE := 3072k SUPPORTED_DEVICES += linksys,viper linksys-viper endef TARGET_DEVICES += linksys_ea4500 diff --git a/target/linux/kirkwood/patches-5.10/105-linksys-viper-dts.patch b/target/linux/kirkwood/patches-5.10/105-linksys-viper-dts.patch index 0d97ad14a2..d56a469d94 100644 --- a/target/linux/kirkwood/patches-5.10/105-linksys-viper-dts.patch +++ b/target/linux/kirkwood/patches-5.10/105-linksys-viper-dts.patch @@ -23,30 +23,37 @@ }; white-pulse { -@@ -114,22 +119,22 @@ +@@ -114,23 +119,23 @@ }; partition@200000 { - label = "kernel"; +- reg = <0x200000 0x2A0000>; + label = "kernel1"; - reg = <0x200000 0x2A0000>; ++ reg = <0x200000 0x1A00000>; }; - partition@4a0000 { +- partition@4a0000 { - label = "rootfs"; +- reg = <0x4A0000 0x1760000>; ++ partition@500000 { + label = "rootfs1"; - reg = <0x4A0000 0x1760000>; ++ reg = <0x500000 0x1700000>; }; partition@1c00000 { - label = "alt_kernel"; +- reg = <0x1C00000 0x2A0000>; + label = "kernel2"; - reg = <0x1C00000 0x2A0000>; ++ reg = <0x1C00000 0x1A00000>; }; - partition@1ea0000 { +- partition@1ea0000 { - label = "alt_rootfs"; +- reg = <0x1EA0000 0x1760000>; ++ partition@1f00000 { + label = "rootfs2"; - reg = <0x1EA0000 0x1760000>; ++ reg = <0x1F00000 0x1700000>; }; + partition@3600000 { diff --git a/target/linux/kirkwood/patches-5.4/105-linksys-viper-dts.patch b/target/linux/kirkwood/patches-5.4/105-linksys-viper-dts.patch index 0d97ad14a2..d56a469d94 100644 --- a/target/linux/kirkwood/patches-5.4/105-linksys-viper-dts.patch +++ b/target/linux/kirkwood/patches-5.4/105-linksys-viper-dts.patch @@ -23,30 +23,37 @@ }; white-pulse { -@@ -114,22 +119,22 @@ +@@ -114,23 +119,23 @@ }; partition@200000 { - label = "kernel"; +- reg = <0x200000 0x2A0000>; + label = "kernel1"; - reg = <0x200000 0x2A0000>; ++ reg = <0x200000 0x1A00000>; }; - partition@4a0000 { +- partition@4a0000 { - label = "rootfs"; +- reg = <0x4A0000 0x1760000>; ++ partition@500000 { + label = "rootfs1"; - reg = <0x4A0000 0x1760000>; ++ reg = <0x500000 0x1700000>; }; partition@1c00000 { - label = "alt_kernel"; +- reg = <0x1C00000 0x2A0000>; + label = "kernel2"; - reg = <0x1C00000 0x2A0000>; ++ reg = <0x1C00000 0x1A00000>; }; - partition@1ea0000 { +- partition@1ea0000 { - label = "alt_rootfs"; +- reg = <0x1EA0000 0x1760000>; ++ partition@1f00000 { + label = "rootfs2"; - reg = <0x1EA0000 0x1760000>; ++ reg = <0x1F00000 0x1700000>; }; + partition@3600000 {