[12/17] meta-isar: deploy-image: Improve target device list dialog

Message ID f329016587c8df9bed4817abf6efe5d0db4fccdf.1719927511.git.jan.kiszka@siemens.com
State Accepted, archived
Headers show
Series Reworks, fixes and unattended mode for image installer | expand

Commit Message

Jan Kiszka July 2, 2024, 1:38 p.m. UTC
From: Jan Kiszka <jan.kiszka@siemens.com>

Sort the list by device name to make navigation easier. Show also if a
device probably still contains data.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 .../deploy-image/files/deploy-image-wic.sh            | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

Patch

diff --git a/meta-isar/recipes-installer/deploy-image/files/deploy-image-wic.sh b/meta-isar/recipes-installer/deploy-image/files/deploy-image-wic.sh
index 35029728..673b2eb3 100644
--- a/meta-isar/recipes-installer/deploy-image/files/deploy-image-wic.sh
+++ b/meta-isar/recipes-installer/deploy-image/files/deploy-image-wic.sh
@@ -80,9 +80,14 @@  fi
 
 if [ "$(echo "$target_device_list" | wc -w)" -gt 1 ]; then
     array=()
-    for target in $target_device_list; do
-        target_size=$(lsblk --nodeps --noheadings -o SIZE /dev/"$target")
-        array+=("/dev/$target" "/dev/$target $target_size")
+    for target in $(echo "$target_device_list" | xargs -n1 | sort); do
+        target_size=$(lsblk --nodeps --noheadings -o SIZE /dev/"$target" | tr -d " ")
+        if cmp /dev/zero /dev/"$target" -n 1M; then
+            state="empty"
+        else
+            state="contains data"
+        fi
+        array+=("/dev/$target" "/dev/$target ($target_size, $state)")
     done
     if ! TARGET_DEVICE=$(dialog --no-tags \
                          --menu "Select device to install image to" 10 60 3 \