From fd67908647390b916470501c88b4f5258123da95 Mon Sep 17 00:00:00 2001 From: Damien Mascord Date: Mon, 19 Jul 2021 14:21:44 +1000 Subject: [PATCH] scripts: mkits.sh: Allow legacy @ mode for dts creation commit 5ec60cbe9d94 ("scripts: mkits.sh: replace @ with - in nodes") broke support for Meraki MR32 and this patch makes the replacement configurable allowing for specifying the @ or - or whatever character that is desired to retain backwards compatibility with existing devices. For example, this patch includes the fix for the Meraki MR32 in target/linux/bcm53xx/image for meraki_mr32: DEVICE_DTS_DELIMITER := @ DEVICE_DTS_CONFIG := config@1 Fixes: 5ec60cbe9d94 ("scripts: mkits.sh: replace @ with - in nodes") Signed-off-by: Damien Mascord [Added tags, checkpatch.pl fixes, noted that this is for old stuff] Signed-off-by: Christian Lamparter --- include/image-commands.mk | 1 + scripts/mkits.sh | 23 +++++++++++++---------- target/linux/bcm53xx/image/Makefile | 8 +++++--- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/include/image-commands.mk b/include/image-commands.mk index fa36885038..1c9e8c12bb 100644 --- a/include/image-commands.mk +++ b/include/image-commands.mk @@ -232,6 +232,7 @@ define Build/fit -i $(KERNEL_BUILD_DIR)/initrd.cpio$(strip $(call Build/initrd_compression)))) \ -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ $(if $(DEVICE_FDT_NUM),-n $(DEVICE_FDT_NUM)) \ + $(if $(DEVICE_DTS_DELIMITER),-l $(DEVICE_DTS_DELIMITER)) \ $(if $(DEVICE_DTS_OVERLAY),$(foreach dtso,$(DEVICE_DTS_OVERLAY), -O $(dtso):$(KERNEL_BUILD_DIR)/image-$(dtso).dtb)) \ -c $(if $(DEVICE_DTS_CONFIG),$(DEVICE_DTS_CONFIG),"config-1") \ -A $(LINUX_KARCH) -v $(LINUX_VERSION) diff --git a/scripts/mkits.sh b/scripts/mkits.sh index 1add8087b0..f6699384ee 100755 --- a/scripts/mkits.sh +++ b/scripts/mkits.sh @@ -32,12 +32,14 @@ usage() { printf "\n\t-d ==> include Device Tree Blob 'dtb'" printf "\n\t-r ==> include RootFS blob 'rootfs'" printf "\n\t-H ==> specify hash algo instead of SHA1" + printf "\n\t-l ==> legacy mode character (@ etc otherwise -)" printf "\n\t-o ==> create output file 'its_file'" printf "\n\t-O ==> create config with dt overlay 'name:dtb'" printf "\n\t\t(can be specified more than once)\n" exit 1 } +REFERENCE_CHAR='-' FDTNUM=1 ROOTFSNUM=1 INITRDNUM=1 @@ -46,7 +48,7 @@ LOADABLES= DTOVERLAY= DTADDR= -while getopts ":A:a:c:C:D:d:e:f:i:k:n:o:O:v:r:H:" OPTION +while getopts ":A:a:c:C:D:d:e:f:i:k:l:n:o:O:v:r:H:" OPTION do case $OPTION in A ) ARCH=$OPTARG;; @@ -59,6 +61,7 @@ do f ) COMPATIBLE=$OPTARG;; i ) INITRD=$OPTARG;; k ) KERNEL=$OPTARG;; + l ) REFERENCE_CHAR=$OPTARG;; n ) FDTNUM=$OPTARG;; o ) OUTPUT=$OPTARG;; O ) DTOVERLAY="$DTOVERLAY ${OPTARG}";; @@ -91,7 +94,7 @@ fi # Conditionally create fdt information if [ -n "${DTB}" ]; then FDT_NODE=" - fdt-$FDTNUM { + fdt${REFERENCE_CHAR}$FDTNUM { description = \"${ARCH_UPPER} OpenWrt ${DEVICE} device tree blob\"; ${COMPATIBLE_PROP} data = /incbin/(\"${DTB}\"); @@ -107,12 +110,12 @@ if [ -n "${DTB}" ]; then }; }; " - FDT_PROP="fdt = \"fdt-$FDTNUM\";" + FDT_PROP="fdt = \"fdt${REFERENCE_CHAR}$FDTNUM\";" fi if [ -n "${INITRD}" ]; then INITRD_NODE=" - initrd-$INITRDNUM { + initrd${REFERENCE_CHAR}$INITRDNUM { description = \"${ARCH_UPPER} OpenWrt ${DEVICE} initrd\"; ${COMPATIBLE_PROP} data = /incbin/(\"${INITRD}\"); @@ -127,7 +130,7 @@ if [ -n "${INITRD}" ]; then }; }; " - INITRD_PROP="ramdisk=\"initrd-${INITRDNUM}\";" + INITRD_PROP="ramdisk=\"initrd${REFERENCE_CHAR}${INITRDNUM}\";" fi @@ -149,7 +152,7 @@ if [ -n "${ROOTFS}" ]; then }; }; " - LOADABLES="${LOADABLES:+$LOADABLES, }\"rootfs-${ROOTFSNUM}\"" + LOADABLES="${LOADABLES:+$LOADABLES, }\"rootfs${REFERENCE_CHAR}${ROOTFSNUM}\"" fi # add DT overlay blobs @@ -184,8 +187,8 @@ OVCONFIGS="" config-$ovname { description = \"OpenWrt ${DEVICE} with $ovname\"; - kernel = \"kernel-1\"; - fdt = \"fdt-$FDTNUM\", \"$ovnode\"; + kernel = \"kernel${REFERENCE_CHAR}1\"; + fdt = \"fdt${REFERENCE_CHAR}$FDTNUM\", \"$ovnode\"; ${LOADABLES:+loadables = ${LOADABLES};} ${COMPATIBLE_PROP} ${INITRD_PROP} @@ -201,7 +204,7 @@ DATA="/dts-v1/; #address-cells = <1>; images { - kernel-1 { + kernel${REFERENCE_CHAR}1 { description = \"${ARCH_UPPER} OpenWrt Linux-${VERSION}\"; data = /incbin/(\"${KERNEL}\"); type = \"kernel\"; @@ -227,7 +230,7 @@ ${ROOTFS_NODE} default = \"${CONFIG}\"; ${CONFIG} { description = \"OpenWrt ${DEVICE}\"; - kernel = \"kernel-1\"; + kernel = \"kernel${REFERENCE_CHAR}1\"; ${FDT_PROP} ${LOADABLES:+loadables = ${LOADABLES};} ${COMPATIBLE_PROP} diff --git a/target/linux/bcm53xx/image/Makefile b/target/linux/bcm53xx/image/Makefile index b2a7da80c5..45355e1ec9 100644 --- a/target/linux/bcm53xx/image/Makefile +++ b/target/linux/bcm53xx/image/Makefile @@ -328,10 +328,12 @@ define Device/meraki_mr32 # if the partition is smaller than the old one. KERNEL_LOADADDR := 0x00008000 KERNEL_INITRAMFS_SUFFIX := .bin + DEVICE_DTS_DELIMITER := @ + DEVICE_DTS_CONFIG := config@1 KERNEL_INITRAMFS := kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb | \ pad-to 10362880 KERNEL := kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb - IMAGES := sysupgrade.bin + IMAGES += sysupgrade.bin # Currently the only device that uses the new image check IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata @@ -437,7 +439,7 @@ define Device/tplink_archer-c5-v2 TPLINK_BOARD := ARCHER-C5-V2 BROKEN := y endef -TARGET_DEVICES += tplink_archer-c5-v2 +#TARGET_DEVICES += tplink_archer-c5-v2 define Device/tplink_archer-c9-v1 DEVICE_VENDOR := TP-Link @@ -449,6 +451,6 @@ define Device/tplink_archer-c9-v1 TPLINK_BOARD := ARCHERC9 BROKEN := y endef -TARGET_DEVICES += tplink_archer-c9-v1 +#TARGET_DEVICES += tplink_archer-c9-v1 $(eval $(call BuildImage)) -- 2.30.2