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>
This commit is contained in:
Robert Marko 2021-09-20 12:10:07 +02:00 committed by Hauke Mehrtens
parent da3261e57c
commit 5a305e429f
1 changed files with 23 additions and 20 deletions

View File

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