scripts: mkits.sh: Allow legacy @ mode for dts creation

commit 5ec60cbe9d ("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: 5ec60cbe9d ("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>
This commit is contained in:
Damien Mascord 2021-07-19 14:21:44 +10:00 committed by Christian Lamparter
parent 96e05e2e36
commit fd67908647
3 changed files with 19 additions and 13 deletions

View File

@ -232,6 +232,7 @@ define Build/fit
-i $(KERNEL_BUILD_DIR)/initrd.cpio$(strip $(call Build/initrd_compression)))) \ -i $(KERNEL_BUILD_DIR)/initrd.cpio$(strip $(call Build/initrd_compression)))) \
-a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
$(if $(DEVICE_FDT_NUM),-n $(DEVICE_FDT_NUM)) \ $(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)) \ $(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") \ -c $(if $(DEVICE_DTS_CONFIG),$(DEVICE_DTS_CONFIG),"config-1") \
-A $(LINUX_KARCH) -v $(LINUX_VERSION) -A $(LINUX_KARCH) -v $(LINUX_VERSION)

View File

@ -32,12 +32,14 @@ usage() {
printf "\n\t-d ==> include Device Tree Blob 'dtb'" printf "\n\t-d ==> include Device Tree Blob 'dtb'"
printf "\n\t-r ==> include RootFS blob 'rootfs'" printf "\n\t-r ==> include RootFS blob 'rootfs'"
printf "\n\t-H ==> specify hash algo instead of SHA1" 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 output file 'its_file'"
printf "\n\t-O ==> create config with dt overlay 'name:dtb'" printf "\n\t-O ==> create config with dt overlay 'name:dtb'"
printf "\n\t\t(can be specified more than once)\n" printf "\n\t\t(can be specified more than once)\n"
exit 1 exit 1
} }
REFERENCE_CHAR='-'
FDTNUM=1 FDTNUM=1
ROOTFSNUM=1 ROOTFSNUM=1
INITRDNUM=1 INITRDNUM=1
@ -46,7 +48,7 @@ LOADABLES=
DTOVERLAY= DTOVERLAY=
DTADDR= 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 do
case $OPTION in case $OPTION in
A ) ARCH=$OPTARG;; A ) ARCH=$OPTARG;;
@ -59,6 +61,7 @@ do
f ) COMPATIBLE=$OPTARG;; f ) COMPATIBLE=$OPTARG;;
i ) INITRD=$OPTARG;; i ) INITRD=$OPTARG;;
k ) KERNEL=$OPTARG;; k ) KERNEL=$OPTARG;;
l ) REFERENCE_CHAR=$OPTARG;;
n ) FDTNUM=$OPTARG;; n ) FDTNUM=$OPTARG;;
o ) OUTPUT=$OPTARG;; o ) OUTPUT=$OPTARG;;
O ) DTOVERLAY="$DTOVERLAY ${OPTARG}";; O ) DTOVERLAY="$DTOVERLAY ${OPTARG}";;
@ -91,7 +94,7 @@ fi
# Conditionally create fdt information # Conditionally create fdt information
if [ -n "${DTB}" ]; then if [ -n "${DTB}" ]; then
FDT_NODE=" FDT_NODE="
fdt-$FDTNUM { fdt${REFERENCE_CHAR}$FDTNUM {
description = \"${ARCH_UPPER} OpenWrt ${DEVICE} device tree blob\"; description = \"${ARCH_UPPER} OpenWrt ${DEVICE} device tree blob\";
${COMPATIBLE_PROP} ${COMPATIBLE_PROP}
data = /incbin/(\"${DTB}\"); data = /incbin/(\"${DTB}\");
@ -107,12 +110,12 @@ if [ -n "${DTB}" ]; then
}; };
}; };
" "
FDT_PROP="fdt = \"fdt-$FDTNUM\";" FDT_PROP="fdt = \"fdt${REFERENCE_CHAR}$FDTNUM\";"
fi fi
if [ -n "${INITRD}" ]; then if [ -n "${INITRD}" ]; then
INITRD_NODE=" INITRD_NODE="
initrd-$INITRDNUM { initrd${REFERENCE_CHAR}$INITRDNUM {
description = \"${ARCH_UPPER} OpenWrt ${DEVICE} initrd\"; description = \"${ARCH_UPPER} OpenWrt ${DEVICE} initrd\";
${COMPATIBLE_PROP} ${COMPATIBLE_PROP}
data = /incbin/(\"${INITRD}\"); data = /incbin/(\"${INITRD}\");
@ -127,7 +130,7 @@ if [ -n "${INITRD}" ]; then
}; };
}; };
" "
INITRD_PROP="ramdisk=\"initrd-${INITRDNUM}\";" INITRD_PROP="ramdisk=\"initrd${REFERENCE_CHAR}${INITRDNUM}\";"
fi fi
@ -149,7 +152,7 @@ if [ -n "${ROOTFS}" ]; then
}; };
}; };
" "
LOADABLES="${LOADABLES:+$LOADABLES, }\"rootfs-${ROOTFSNUM}\"" LOADABLES="${LOADABLES:+$LOADABLES, }\"rootfs${REFERENCE_CHAR}${ROOTFSNUM}\""
fi fi
# add DT overlay blobs # add DT overlay blobs
@ -184,8 +187,8 @@ OVCONFIGS=""
config-$ovname { config-$ovname {
description = \"OpenWrt ${DEVICE} with $ovname\"; description = \"OpenWrt ${DEVICE} with $ovname\";
kernel = \"kernel-1\"; kernel = \"kernel${REFERENCE_CHAR}1\";
fdt = \"fdt-$FDTNUM\", \"$ovnode\"; fdt = \"fdt${REFERENCE_CHAR}$FDTNUM\", \"$ovnode\";
${LOADABLES:+loadables = ${LOADABLES};} ${LOADABLES:+loadables = ${LOADABLES};}
${COMPATIBLE_PROP} ${COMPATIBLE_PROP}
${INITRD_PROP} ${INITRD_PROP}
@ -201,7 +204,7 @@ DATA="/dts-v1/;
#address-cells = <1>; #address-cells = <1>;
images { images {
kernel-1 { kernel${REFERENCE_CHAR}1 {
description = \"${ARCH_UPPER} OpenWrt Linux-${VERSION}\"; description = \"${ARCH_UPPER} OpenWrt Linux-${VERSION}\";
data = /incbin/(\"${KERNEL}\"); data = /incbin/(\"${KERNEL}\");
type = \"kernel\"; type = \"kernel\";
@ -227,7 +230,7 @@ ${ROOTFS_NODE}
default = \"${CONFIG}\"; default = \"${CONFIG}\";
${CONFIG} { ${CONFIG} {
description = \"OpenWrt ${DEVICE}\"; description = \"OpenWrt ${DEVICE}\";
kernel = \"kernel-1\"; kernel = \"kernel${REFERENCE_CHAR}1\";
${FDT_PROP} ${FDT_PROP}
${LOADABLES:+loadables = ${LOADABLES};} ${LOADABLES:+loadables = ${LOADABLES};}
${COMPATIBLE_PROP} ${COMPATIBLE_PROP}

View File

@ -328,10 +328,12 @@ define Device/meraki_mr32
# if the partition is smaller than the old one. # if the partition is smaller than the old one.
KERNEL_LOADADDR := 0x00008000 KERNEL_LOADADDR := 0x00008000
KERNEL_INITRAMFS_SUFFIX := .bin KERNEL_INITRAMFS_SUFFIX := .bin
DEVICE_DTS_DELIMITER := @
DEVICE_DTS_CONFIG := config@1
KERNEL_INITRAMFS := kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb | \ KERNEL_INITRAMFS := kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb | \
pad-to 10362880 pad-to 10362880
KERNEL := kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb 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 # Currently the only device that uses the new image check
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
@ -437,7 +439,7 @@ define Device/tplink_archer-c5-v2
TPLINK_BOARD := ARCHER-C5-V2 TPLINK_BOARD := ARCHER-C5-V2
BROKEN := y BROKEN := y
endef endef
TARGET_DEVICES += tplink_archer-c5-v2 #TARGET_DEVICES += tplink_archer-c5-v2
define Device/tplink_archer-c9-v1 define Device/tplink_archer-c9-v1
DEVICE_VENDOR := TP-Link DEVICE_VENDOR := TP-Link
@ -449,6 +451,6 @@ define Device/tplink_archer-c9-v1
TPLINK_BOARD := ARCHERC9 TPLINK_BOARD := ARCHERC9
BROKEN := y BROKEN := y
endef endef
TARGET_DEVICES += tplink_archer-c9-v1 #TARGET_DEVICES += tplink_archer-c9-v1
$(eval $(call BuildImage)) $(eval $(call BuildImage))