diff --git a/configs/airootfs/root/configurator b/configs/airootfs/root/configurator index 3a7d042..e9c5663 100644 --- a/configs/airootfs/root/configurator +++ b/configs/airootfs/root/configurator @@ -176,16 +176,37 @@ done get_disk_info() { local device="$1" - local size model + local size vendor model label # Get basic disk information size=$(lsblk -dno SIZE "$device" 2>/dev/null) - model=$(lsblk -dno MODEL "$device" 2>/dev/null | sed 's/^[[:space:]]*//' | sed 's/[[:space:]]*$//') + vendor=$(lsblk -dno VENDOR "$device" 2>/dev/null | sed 's/ *$//') + model=$(lsblk -dno MODEL "$device" 2>/dev/null | sed 's/ *$//') + + # Combine vendor and model, avoiding duplication + label="" + if [[ -n $vendor && -n $model ]]; then + if [[ $model == *$vendor* ]]; then + label="$model" + else + label="$vendor $model" + fi + elif [[ -n $model ]]; then + label="$model" + elif [[ -n $vendor ]]; then + label="$vendor" + fi # Format display string local display="$device" - [[ -n "$size" ]] && display="$display ($size)" - [[ -n "$model" ]] && display="$display - $model" + [[ -n $size ]] && display="$display ($size)" + [[ -n $label ]] && display="$display - $label" + + # Append compact partition summary + local part_summary + part_summary=$(lsblk -nro TYPE,NAME,FSTYPE,MOUNTPOINT "$device" 2>/dev/null | \ + awk '$1=="part" { printf "%s%s%s", s, ($3==""?"unknown":$3), ($4==""?"":"("$4")"); s=", " }') + [[ -n $part_summary ]] && display+=" [$part_summary]" echo "$display" }