From 5a305e429facce7fae71f5589b4adbb55b918c9c Mon Sep 17 00:00:00 2001
From: Robert Marko <robimarko@gmail.com>
Date: Mon, 20 Sep 2021 12:10:07 +0200
Subject: [PATCH] scripts: ubinize-image: make rootfs optional

Currently ubinize-image script always expects the
rootfs image to be passed and a volume for it created.

So, to allow only ubinizing a kernel for example which
the MikroTik hAP ac3 and other new NAND devices from
MikroTik require make rootfs an optional parameter like
kernel.

Signed-off-by: Robert Marko <robimarko@gmail.com>
---
 scripts/ubinize-image.sh | 43 +++++++++++++++++++++-------------------
 1 file changed, 23 insertions(+), 20 deletions(-)

diff --git a/scripts/ubinize-image.sh b/scripts/ubinize-image.sh
index c6f8bcefe5..0195695240 100755
--- a/scripts/ubinize-image.sh
+++ b/scripts/ubinize-image.sh
@@ -66,20 +66,22 @@ ubilayout() {
 		vol_id=$(( $vol_id + 1 ))
 	fi
 
-	case "$rootfs_type" in
-	"ubifs")
-		autoresize=1
-		;;
-	"squashfs")
-		# squashfs uses 1k block size, ensure we do not
-		# violate that
-		rootsize="$( round_up "$( stat -c%s "$2" )" 1024 )"
-		;;
-	esac
-	ubivol $vol_id rootfs "$2" "$autoresize" "$rootsize"
+	if [ "$2" ]; then
+		case "$rootfs_type" in
+		"ubifs")
+			autoresize=1
+			;;
+		"squashfs")
+			# squashfs uses 1k block size, ensure we do not
+			# violate that
+			rootsize="$( round_up "$( stat -c%s "$2" )" 1024 )"
+			;;
+		esac
+		ubivol $vol_id rootfs "$2" "$autoresize" "$rootsize"
 
-	vol_id=$(( $vol_id + 1 ))
-	[ "$rootfs_type" = "ubifs" ] || ubivol $vol_id rootfs_data "" 1
+		vol_id=$(( $vol_id + 1 ))
+		[ "$rootfs_type" = "ubifs" ] || ubivol $vol_id rootfs_data "" 1
+	fi
 }
 
 set_ubinize_seq() {
@@ -101,6 +103,12 @@ while [ "$1" ]; do
 		shift
 		continue
 		;;
+	"--rootfs")
+		rootfs="$2"
+		shift
+		shift
+		continue
+		;;
 	"--part")
 		parts="$parts $2"
 		shift
@@ -112,11 +120,6 @@ while [ "$1" ]; do
 		break
 		;;
 	*)
-		if [ ! "$rootfs" ]; then
-			rootfs=$1
-			shift
-			continue
-		fi
 		if [ ! "$outfile" ]; then
 			outfile=$1
 			shift
@@ -126,8 +129,8 @@ while [ "$1" ]; do
 	esac
 done
 
-if [ ! -r "$rootfs" -o ! -r "$kernel" -a ! "$outfile" ]; then
-	echo "syntax: $0 [--uboot-env] [--part <name>=<file>] [--kernel kernelimage] rootfs out [ubinize opts]"
+if [ ! -r "$rootfs" -a ! -r "$kernel" -a ! "$outfile" ]; then
+	echo "syntax: $0 [--uboot-env] [--part <name>=<file>] [--kernel kernelimage] [--rootfs rootfsimage] out [ubinize opts]"
 	exit 1
 fi
 
-- 
2.30.2