diff --git a/src/disk.sh b/src/disk.sh index ac2a907..c4c03ac 100644 --- a/src/disk.sh +++ b/src/disk.sh @@ -376,7 +376,7 @@ createDevice () { result+=",if=none \ -device nvme,drive=${DISK_ID}${index},serial=deadbeaf${DISK_INDEX}" echo "$result" - ;; + ;; "ide" | "sata" ) result+=",if=none \ -device ich9-ahci,id=ahci${DISK_INDEX},addr=$DISK_ADDRESS \ @@ -470,12 +470,13 @@ addDisk () { [ -z "$DISK_SPACE" ] && DISK_SPACE="16G" DISK_SPACE=$(echo "${DISK_SPACE^^}" | sed 's/MB/M/g;s/GB/G/g;s/TB/T/g') [[ -z "${DISK_SPACE//[0-9]}" ]] && DISK_SPACE="${DISK_SPACE}G" - DATA_SIZE=$(numfmt --from=iec "$DISK_SPACE") - if (( DATA_SIZE < 1 )); then + if ! numfmt --from=iec "$DISK_SPACE" &>/dev/null; then error "Invalid value for ${DISK_DESC^^}_SIZE: $DISK_SPACE" && exit 73 fi + DATA_SIZE=$(numfmt --from=iec "$DISK_SPACE") + if (( DATA_SIZE < 104857600 )); then error "Please increase ${DISK_DESC^^}_SIZE to at least 100 MB." && exit 73 fi diff --git a/src/reset.sh b/src/reset.sh index a16caa3..8a047d9 100644 --- a/src/reset.sh +++ b/src/reset.sh @@ -101,7 +101,11 @@ RAM_SPARE=500000000 RAM_AVAIL=$(free -b | grep -m 1 Mem: | awk '{print $7}') RAM_TOTAL=$(free -b | grep -m 1 Mem: | awk '{print $2}') RAM_SIZE=$(echo "${RAM_SIZE^^}" | sed 's/MB/M/g;s/GB/G/g;s/TB/T/g') +[[ -z ${RAM_SIZE//[0-9]} ]] && [ "$RAM_SIZE" -lt "130" ] && RAM_SIZE="${RAM_SIZE}G" +! numfmt --from=iec "$RAM_SIZE" &>/dev/null && error "Invalid RAM size: $RAM_SIZE" && exit 15 RAM_WANTED=$(numfmt --from=iec "$RAM_SIZE") +[ "$RAM_WANTED" -lt "136314880 " ] && error "Invalid RAM size: $RAM_SIZE" && exit 16 + AVAIL_GB=$(( RAM_AVAIL/1073741824 )) TOTAL_GB=$(( (RAM_TOTAL + 1073741823)/1073741824 )) WANTED_GB=$(( (RAM_WANTED + 1073741823)/1073741824 ))