apm821xx: switch MX60(W)'s recovery images to multi-image method
authorChristian Lamparter <chunkeey@gmail.com>
Sun, 30 Dec 2018 19:46:06 +0000 (20:46 +0100)
committerChristian Lamparter <chunkeey@gmail.com>
Tue, 1 Jan 2019 17:54:14 +0000 (18:54 +0100)
In the past, the MX60(W)'s recovery images always had problems
with the size restriction and never really worked without manual
intervention. This patch reworks the initramfs, which allows the
device to ease up on the impossible tight kernel size requirements
for the initramfs image.

This new initramfs can be loaded through the MX60(W) U-boot
in the following way:

=> setenv bootargs console=ttyS0,$baudrate
=> tftpboot $meraki_loadaddr meraki_mx60-initramfs-kernel.bin
   [...]
   Load address: 0x800000
    Loading: ################################################ [...]
    done
   [...]

=> bootm $fileaddr
   \## Booting kernel from Legacy Image at 00800000 ...
    ...

For more information and the latest flashing guide:
please visit the OpenWrt Wiki Page for the MX60(W):
<https://openwrt.org/toh/meraki/mx60#flashing>

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit 36c19c9f0be23ad327085aa762e95de638e19b4a)

target/linux/apm821xx/image/Makefile

index 1e94a40..7f33c66 100644 (file)
@@ -102,13 +102,10 @@ define Device/meraki_mx60
   # otherwise the final image will fail to boot. This is set within the
   # MX60 kernel header definition which is found at
   # ./tools/firmware-utils/src/mkmerakifw.c, line 103~
-  KERNEL_SIZE := 2984k
+  KERNEL_SIZE := 4031k
   IMAGE_SIZE := 1021m
   KERNEL := kernel-bin | gzip | uImage gzip | MerakiAdd-dtb | MerakiNAND
-  KERNEL_INITRAMFS := copy-file $(KDIR)/vmlinux | gzip | uImage gzip | \
-                     check-size $$(KERNEL_SIZE) | \
-                     MerakiAdd-dtb | pad-to 2047k | MerakiAdd-initramfs | \
-                     MerakiNAND
+  KERNEL_INITRAMFS := kernel-bin | gzip | dtb | MuImage-initramfs gzip
   IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
   UBINIZE_OPTS := -E 5
   SUPPORTED_DEVICES += mx60