diff options
Diffstat (limited to 'client/shared/lib/os-probes/mounted/30utility')
-rwxr-xr-x | client/shared/lib/os-probes/mounted/30utility | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/client/shared/lib/os-probes/mounted/30utility b/client/shared/lib/os-probes/mounted/30utility new file mode 100755 index 00000000..af48d307 --- /dev/null +++ b/client/shared/lib/os-probes/mounted/30utility @@ -0,0 +1,33 @@ +#!/bin/sh +# Detects utility (hw vendor recovery) partitions. + +. /usr/share/os-prober/common.sh + +partition="$1" +mpoint="$2" +type="$3" + +# Weed out stuff that doesn't apply to us +case "$type" in + vfat) debug "$1 is a FAT32 partition" ;; + msdos) debug "$1 is a FAT16 partition" ;; + fat) debug "$1 is a FAT partition (mounted by GRUB)" ;; + *) debug "$1 is not a FAT partition: exiting"; exit 1 ;; +esac + +# Dell Utility partitions have partition type 0xde, but no idea how to +# cleanly detect that from shell +if item_in_dir -q dellbio.bin "$2" && \ + (item_in_dir -q delldiag.exe "$2" || item_in_dir -q delldiag.com "$2"); then + long="Dell Utility Partition" + short=DellUtility +elif item_in_dir -q f11.sys "$2"; then + long="Acronis Secure Zone" + short=AcroneZone +else + exit 1 +fi + +label="$(count_next_label "$short")" +result "${partition}:${long}:${label}:chain" +exit 0 |