apm821xx: MX60(W): re-enable + allow bigger future kernels
authorChristian Lamparter <chunkeey@gmail.com>
Fri, 1 Oct 2021 19:53:26 +0000 (21:53 +0200)
committerChristian Lamparter <chunkeey@gmail.com>
Fri, 22 Oct 2021 19:25:18 +0000 (21:25 +0200)
The MX60's kernel is limited to 0x3EFC00 by the values in
mkmerakifw.c. Since the initramfs method of loading the
kernel seems to be working, this patch does away with the
use of the mkmerakifw tool for the MX60(W).

But this will go along with a change in u-boot as well.
So before you upgrade, please attach the serial cable and
perform:

| setenv owrt510_boot run meraki_ubi owrt_bootargs\; run owrt_load1 owrt_bootkernel\; run owrt_load2 owrt_bootkernel
| setenv bootcmd run owrt510_boot
| saveenv

Note: You won't be able to use older OpenWrt releases without
switching the bootcmd back to owrt_boot!

Note2: We are no longer compatible with older OpenWrt MX60 installs.
the legacy BOARD_NAME and SUPPORTED_DEVICES can be dropped. This is
because upgrades from older images are not possible without uboot env
changes anymore. Also the bogus BLOCKSIZE value
(which was set to 63k back then, in order to get the kernel properly
aligned after the fdt + meraki header) can be set to the NANDs real
value. The FDT size (which was needed for alignment) can now be
slimmed down as well.

Co-developed-by: Martin Kennedy <hurricos@gmail.com>
Signed-off-by: Martin Kennedy <hurricos@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
target/linux/apm821xx/base-files/etc/uci-defaults/05_fix-compat-version [new file with mode: 0644]
target/linux/apm821xx/image/nand.mk

diff --git a/target/linux/apm821xx/base-files/etc/uci-defaults/05_fix-compat-version b/target/linux/apm821xx/base-files/etc/uci-defaults/05_fix-compat-version
new file mode 100644 (file)
index 0000000..67664ab
--- /dev/null
@@ -0,0 +1,10 @@
+. /lib/functions.sh
+
+case "$(board_name)" in
+meraki,mx60)
+       uci set system.@system[0].compat_version="2.0"
+       uci commit system
+       ;;
+esac
+
+exit 0
index b48bff79241d0cef95499317a6492a5308d4bcd2..fa3ad6de200fc7ed9dda81c1f68caaf1d599330f 100644 (file)
@@ -41,22 +41,20 @@ endef
 TARGET_DEVICES += meraki_mr24
 
 define Device/meraki_mx60
-  DEFAULT := n
   DEVICE_VENDOR := Cisco Meraki
   DEVICE_MODEL := MX60/MX60W
   DEVICE_PACKAGES := kmod-spi-gpio kmod-usb-ledtrig-usbport kmod-usb-dwc2 \
                     kmod-usb-storage block-mount
-  BOARD_NAME := mx60
-  BLOCKSIZE := 63k
+  BLOCKSIZE := 128k
   IMAGES := sysupgrade.bin
-  DTB_SIZE := 64512
+  DTB_SIZE := 20480
   IMAGE_SIZE := 1021m
-  KERNEL_SIZE := 4031k
-  KERNEL := kernel-bin | gzip | uImage gzip | MerakiAdd-dtb | MerakiNAND
-  KERNEL_INITRAMFS := kernel-bin | gzip | dtb | MuImage-initramfs gzip
+  KERNEL := kernel-bin | gzip | dtb | MuImage-initramfs gzip
   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
   UBINIZE_OPTS := -E 5
-  SUPPORTED_DEVICES += mx60
+  DEVICE_COMPAT_VERSION := 2.0
+  DEVICE_COMPAT_MESSAGE := uboot's bootcmd has to be updated to support standard multi-image uImages. \
+       Upgrade via sysupgrade mechanism is not possible.
 endef
 TARGET_DEVICES += meraki_mx60