summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Marko2024-06-26 16:52:29 +0000
committerRobert Marko2024-07-09 10:33:17 +0000
commit905338ad609467e1117635a49c5f0c002f9ae237 (patch)
treeb96268550dc099f1b54339c62a0d786b1ca90e2b
parentbb907d8d449a32da0f075e188cb22694c89e2281 (diff)
downloadopenwrt-905338ad609467e1117635a49c5f0c002f9ae237.tar.gz
image: add recipe for legacy multiple images
Asus RT-AX89X has modded U-Boot that boots FIT images fine when manually using bootm command, however once the image is flashed and device boots via the default bootcmd it only supports booting via legacy images. More precisely, it requires the "multi" image format with: 1. kernel 2. ramdisk 3. DTB So, lets add a recipe based on the existing uImage one. Link: https://github.com/openwrt/openwrt/pull/15840 Signed-off-by: Robert Marko <robimarko@gmail.com>
-rw-r--r--include/image-commands.mk17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/image-commands.mk b/include/image-commands.mk
index 04213a3be8..cb899a2f30 100644
--- a/include/image-commands.mk
+++ b/include/image-commands.mk
@@ -701,6 +701,23 @@ define Build/uImage
mv $@.new $@
endef
+define Build/multiImage
+ $(if $(UIMAGE_TIME),SOURCE_DATE_EPOCH="$(UIMAGE_TIME)") \
+ mkimage \
+ -A $(LINUX_KARCH) \
+ -O linux \
+ -T multi \
+ -C $(word 1,$(1)) \
+ -a $(KERNEL_LOADADDR) \
+ -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
+ -n '$(if $(UIMAGE_NAME),$(UIMAGE_NAME),$(call toupper,$(LINUX_KARCH)) $(VERSION_DIST) Linux-$(LINUX_VERSION))' \
+ $(if $(UIMAGE_MAGIC),-M $(UIMAGE_MAGIC)) \
+ -d $@:$(word 2,$(1)):$(word 3,$(1)) \
+ $(wordlist 4,$(words $(1)),$(1)) \
+ $@.new
+ mv $@.new $@
+endef
+
define Build/xor-image
$(STAGING_DIR_HOST)/bin/xorimage -i $@ -o $@.xor $(1)
mv $@.xor $@