Browse Source

ar71xx: Ubiquiti Airmax M: add relocate-kernel to invalidate cache

Some Ubiquiti U-boot versions, in particular the "U-Boot 1.1.4.2-s956
(Jun 10 2015 - 10:54:50)" found with AirOS 5.6, do not correctly flush the
caches for the whole kernel address range after decompressing the kernel
image, leading to hard to debug boot failures, depending on kernel version
and configuration.

As a workaround, prepend the relocate-kernels loader, which will invalidate
the caches after moving the kernel to the correct load address.

Reported-by: Andreas Ziegler <[email protected]>
Signed-off-by: Matthias Schiffer <[email protected]>
Matthias Schiffer 7 years ago
parent
commit
eed9d40133
1 changed files with 1 additions and 0 deletions
  1. 1 0
      target/linux/ar71xx/image/ubnt.mk

+ 1 - 0
target/linux/ar71xx/image/ubnt.mk

@@ -47,6 +47,7 @@ define Device/ubnt-xm
   UBNT_TYPE := XM
   UBNT_BOARD := XM
   UBNT_CHIP := ar7240
+  KERNEL := kernel-bin | patch-cmdline | relocate-kernel | lzma | uImage lzma
   IMAGES := sysupgrade.bin factory.bin
   IMAGE/factory.bin = $$(IMAGE/sysupgrade.bin) | mkubntimage-split
   IMAGE/sysupgrade.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)