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