#!/bin/sh . /lib/partman/lib/base.sh task=$1 dev=$2 id=$3 cd $dev if [ "$task" = bootable ]; then open_dialog PARTITION_INFO $id read_line x1 x2 x3 type x5 x6 x7 close_dialog if [ "$type" = logical ]; then db_input high partman-partitioning/bootable_logical || true db_go || exit 0 db_get partman-partitioning/bootable_logical [ "$RET" = true ] || exit 0 fi fi new_flags='' open_dialog GET_FLAGS $id while { read_line flag; [ "$flag" ]; }; do if [ "$flag" != boot ]; then if [ "$new_flags" ]; then new_flags="$new_flags $flag" else new_flags="$flag" fi fi done close_dialog if [ $task = bootable ]; then new_flags="$new_flags boot" fi open_dialog SET_FLAGS $id write_line "$new_flags" write_line NO_MORE close_dialog partitions='' numparts=1 open_dialog PARTITIONS while { read_line num id size type fs path name; [ "$id" ]; }; do [ "$fs" != free ] || continue partitions="$partitions $id" numparts=$(($numparts + 1)) done close_dialog db_progress START 0 $numparts partman/text/please_wait db_progress INFO partman-partitioning/new_state for id in $partitions; do update_partition $dev $id db_progress STEP 1 done db_progress STOP