[OpenWrt-Devel] [PATCH] build: mkits.sh: Add ramdsik support

Jason Wu jason.wu.misc at gmail.com
Tue Jan 19 22:03:49 EST 2016


mkits.ssh helper currently does not support ramdisk node support. To add
ramdisk suppport, we add extra two additional options -r and -z to
specify the ramdisk image and compression type.

Signed-off-by: Jason Wu <jason.wu.misc at gmail.com>

diff --git a/include/image.mk b/include/image.mk
index 4eee4ad..84307cf 100644
--- a/include/image.mk
+++ b/include/image.mk
@@ -126,7 +126,7 @@ endef
 define Image/BuildKernel/MkFIT
 	$(TOPDIR)/scripts/mkits.sh \
 		-D $(1) -o $(KDIR)/fit-$(1).its -k $(2) $(if $(3),-d $(3)) -C $(4) -a $(5) -e $(6) \
-		-A $(ARCH) -v $(LINUX_VERSION)
+		-A $(ARCH) -v $(LINUX_VERSION) $(if $(8),-r $(8)) $(if $(9),-z $(9))
 	PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/fit-$(1).its $(KDIR)/fit-$(1)$(7).itb
 endef
 
diff --git a/scripts/mkits.sh b/scripts/mkits.sh
index 6b5100e..2b00d0f 100755
--- a/scripts/mkits.sh
+++ b/scripts/mkits.sh
@@ -25,11 +25,13 @@ usage() {
 	echo -e "\t-k ==> include kernel image 'kernel'"
 	echo -e "\t-D ==> human friendly Device Tree Blob 'name'"
 	echo -e "\t-d ==> include Device Tree Blob 'dtb'"
+	echo -e "\t-r ==> include ramdisk"
+	echo -e "\t-z ==> ramdisk compression type"
 	echo -e "\t-o ==> create output file 'its_file'"
 	exit 1
 }
 
-while getopts ":A:a:C:D:d:e:k:o:v:" OPTION
+while getopts ":A:a:C:D:d:e:k:o:v:r:z:" OPTION
 do
 	case $OPTION in
 		A ) ARCH=$OPTARG;;
@@ -41,6 +43,8 @@ do
 		k ) KERNEL=$OPTARG;;
 		o ) OUTPUT=$OPTARG;;
 		v ) VERSION=$OPTARG;;
+		r ) RAMDISK=$OPTARG;;
+		z ) RD_COMPRESS=$OPTARG;;
 		* ) echo "Invalid option passed to '$0' (options:$@)"
 		usage;;
 	esac
@@ -72,6 +76,34 @@ if [ -n "${DTB}" ]; then
 			};
 		};
 "
+		CONF="			fdt = \"fdt at 1\";"
+fi
+
+# Conditionally create ramdisk node
+if [ -n "${RAMDISK}" ]; then
+	RD_COMPRESS=${RD_COMPRESS:-none}
+	RD="
+		ramdisk at 1 {
+			description = \"${ARCH_UPPER} OpenWrt ${DEVICE} ramdisk\";
+			data = /incbin/(\"${RAMDISK}\");
+			type = \"ramdisk\";
+			arch = \"${ARCH}\";
+			os = \"linux\";
+			compression = \"${RD_COMPRESS}\";
+			hash at 1 {
+				algo = \"crc32\";
+			};
+			hash at 2 {
+				algo = \"sha1\";
+			};
+		};
+"
+	if [ -z "${CONF}" ]; then
+		CONF="			ramdisk = \"ramdisk at 1\";"
+	else
+		CONF="$CONF
+			ramdisk = \"ramdisk at 1\";"
+	fi
 fi
 
 # Create a default, fully populated DTS file
@@ -99,6 +131,7 @@ DATA="/dts-v1/;
 			};
 		};
 
+${RD}
 ${FDT}
 
 	};
@@ -108,7 +141,7 @@ ${FDT}
 		config at 1 {
 			description = \"OpenWrt\";
 			kernel = \"kernel at 1\";
-			fdt = \"fdt at 1\";
+${CONF}
 		};
 	};
 };"
-- 
1.9.1
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list