scripts: mkits.sh: Allow legacy @ mode for dts creation
authorDamien Mascord <tusker@tusker.org>
Mon, 19 Jul 2021 04:21:44 +0000 (14:21 +1000)
committerChristian Lamparter <chunkeey@gmail.com>
Thu, 23 Sep 2021 18:49:32 +0000 (20:49 +0200)
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 <tusker@tusker.org>
[Added tags, checkpatch.pl fixes, noted that this is for old stuff]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
include/image-commands.mk
scripts/mkits.sh
target/linux/bcm53xx/image/Makefile

index fa368850388d095131245c796c0f644fa5d2eda6..1c9e8c12bb5fa8d9c073230c775e440524dc1f81 100644 (file)
@@ -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)
index 1add8087b028cbbbc4234454d991be8db5d39cfa..f6699384ee6b14ba2cd95d199c6051e10f4ae87a 100755 (executable)
@@ -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}
index b2a7da80c5236e2c958994a50e03124f884af59e..45355e1ec988a65ae760eabf96a709876c3891ee 100644 (file)
@@ -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))