52 lines
880 B
Bash
Executable File
52 lines
880 B
Bash
Executable File
#! /bin/sh
|
|
|
|
# Remove the bios_grub flag for partitions whose method is not biosgrub, and
|
|
# set it for partitions whose method is biosgrub.
|
|
|
|
. /lib/partman/lib/base.sh
|
|
|
|
dev=$1
|
|
num=$2
|
|
id=$3
|
|
size=$4
|
|
type=$5
|
|
fs=$6
|
|
path=$7
|
|
name=$8
|
|
|
|
cd $dev
|
|
|
|
if [ "$fs" = free ]; then
|
|
exit 0
|
|
fi
|
|
|
|
method=
|
|
if [ -f "$id/method" ]; then
|
|
method="$(cat "$id/method")"
|
|
fi
|
|
|
|
has_biosgrub=no
|
|
flags=''
|
|
open_dialog GET_FLAGS "$id"
|
|
while { read_line flag; [ "$flag" ]; }; do
|
|
if [ "$flag" != bios_grub ]; then
|
|
flags="${flags:+$flags$NL}$flag"
|
|
else
|
|
has_biosgrub=yes
|
|
fi
|
|
done
|
|
close_dialog
|
|
|
|
if [ "$method" = biosgrub ] && [ "$has_biosgrub" = no ]; then
|
|
open_dialog SET_FLAGS "$id"
|
|
write_line "$flags"
|
|
write_line bios_grub
|
|
write_line NO_MORE
|
|
close_dialog
|
|
elif [ "$method" != biosgrub ] && [ "$has_biosgrub" = yes ]; then
|
|
open_dialog SET_FLAGS "$id"
|
|
write_line "$flags"
|
|
write_line NO_MORE
|
|
close_dialog
|
|
fi
|