From 82ce460ab106c1d3626607c4d867853cf385ad33 Mon Sep 17 00:00:00 2001 From: Martin Schiller Date: Wed, 3 Nov 2021 10:27:04 +0100 Subject: [PATCH] layerscape: armv8_64b: fix KERNEL_LOADADDR for linux >= 5.8 In kernel versions newer than 5.8 the arm64 TEXT_OFFSET (0x80000) has been set to 0x0 (and later removed). This will break Uimages with kernel load addresses that aren't 2MiB aligned any longer. Resulting in the kernel silently fail to boot. For layerscape armv8_64b targets this needs to be changed to 0x80000000 (start of RAM). Signed-off-by: Martin Schiller --- target/linux/layerscape/image/armv8_64b.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/target/linux/layerscape/image/armv8_64b.mk b/target/linux/layerscape/image/armv8_64b.mk index 7148a2372a..7ff49c6555 100644 --- a/target/linux/layerscape/image/armv8_64b.mk +++ b/target/linux/layerscape/image/armv8_64b.mk @@ -8,7 +8,11 @@ define Device/Default FILESYSTEMS := squashfs KERNEL := kernel-bin | gzip | uImage gzip KERNEL_INITRAMFS = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb +ifdef CONFIG_LINUX_5_4 KERNEL_LOADADDR := 0x80080000 +else + KERNEL_LOADADDR := 0x80000000 +endif DEVICE_DTS = freescale/$(subst _,-,$(1)) IMAGE_SIZE := 64m IMAGE/sysupgrade.bin = \ -- 2.30.2