Răsfoiți Sursa

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 <[email protected]>
Robert Marko 4 ani în urmă
părinte
comite
5a305e429f
1 a modificat fișierele cu 23 adăugiri și 20 ștergeri
  1. 23 20
      scripts/ubinize-image.sh

+ 23 - 20
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