From e8e426f90a58c7d32a1f5aa7e5b9cf14184621d5 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Tue, 10 May 2022 11:59:18 +0000 Subject: [PATCH] armbian_rootenc_setup.sh: minor fix and improvement --- scripts/armbian_rootenc_setup.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scripts/armbian_rootenc_setup.sh b/scripts/armbian_rootenc_setup.sh index aa2624c..e24dfd1 100755 --- a/scripts/armbian_rootenc_setup.sh +++ b/scripts/armbian_rootenc_setup.sh @@ -225,7 +225,7 @@ check_sdcard_name_and_params() { [ "${dev:0:5}" == '/dev/' ] || dev="/dev/$dev" [ -e "$dev" ] || die "$dev does not exist" chk="$(lsblk --noheadings --nodeps --list --output=TYPE $dev 2>/dev/null)" - [ "$chk" != 'disk' ] && { + [ "$chk" != 'disk' -a "$chk" != 'loop' ] && { [ "$chk" == 'part' ] && die "$dev is a partition, not a block device!" die "$dev is not a block device!" } @@ -263,6 +263,7 @@ _get_user_var() { return 0 } + if [ "$pat" == 'bool' ]; then READOPTS='-n1' READNL="\n"; else READOPTS='' READNL=''; fi while true; do if [ -z "${!var}" -o "$seen_prompt" -o "$redo" ]; then if [ "$seen_prompt" ]; then @@ -282,7 +283,7 @@ _get_user_var() { fi seen_prompt=1 fi - eval "read $var" + eval "read $READOPTS $var"; echo -ne "$READNL" fi redo=1 if [ -z "${!var}" -a "$dfl" ]; then eval "$var=$dfl"; fi @@ -779,9 +780,10 @@ partition_sd_card() { p2_start=$((p1_end+1)) fdisk_cmds="o\nn\np\n1\n$START_SECTOR\n$p1_end\nn\np\n2\n$p2_start\n\nw\n" - set +e + set +e; trap - ERR # fdisk exits with error if partition table cannot be re-read echo -e "$fdisk_cmds" | fdisk "/dev/$SDCARD_DEVNAME" - set -e + set -e; trap '_error_handler' ERR + do_partprobe bname="$(lsblk --noheadings --list --output=NAME /dev/$BOOT_DEVNAME)"