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 <dev@andreas-ziegler.de>
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
This commit is contained in:
Matthias Schiffer 2018-04-26 20:04:48 +02:00
parent 23a638ebd1
commit eed9d40133
No known key found for this signature in database
GPG Key ID: 16EF3F64CB201D9C

View File

@ -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)