1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
#!/bin/sh
if [ ! -d /proc/efi ] && [ ! -d /sys/firmware/efi ]; then
exit 0
fi
. /lib/partman/lib/base.sh
have_efi=no
# Is there at least one efi-partition?
for dev in $DEVICES/*; do
[ -d "$dev" ] || continue
cd $dev
partitions=
open_dialog PARTITIONS
while { read_line num id size type fs path name; [ "$id" ]; }; do
[ "$fs" != free ] || continue
partitions="$partitions $id,$num"
done
close_dialog
for part in $partitions; do
id=${part%,*}
num=${part#*,}
[ -f $id/method ] || continue
method=$(cat $id/method)
if [ "$method" = efi ] && [ -f $id/bootable ]; then
have_efi=yes
fi
done
done
if [ $have_efi = no ]; then
db_input critical partman-efi/no_efi || true
db_go || exit 1
db_get partman-efi/no_efi
if [ "$RET" = true ]; then
exit 1
fi
fi
exit 0
|