35 lines
1.2 KiB
Plaintext
35 lines
1.2 KiB
Plaintext
set \$(ls -l /dev/disk/by-label | tr -s '\t' ' ' | cut -d' ' -f9,11)
|
|
label_mapping_nums=\$((\$#/2))
|
|
label_mapping_offset=0
|
|
echo "label_mapping_nums: \$label_mapping_nums" >> /tmp/preseed.log
|
|
remove_partitions=""
|
|
while [ \$label_mapping_offset -lt \$label_mapping_nums ]; do
|
|
partition_label=\$1
|
|
partition_name=\$(basename \$2)
|
|
shift 2
|
|
label_mapping_offset=\$((\${label_mapping_offset}+1))
|
|
if [ -z "\${partition_label}" -o -z "\${partition_name}" ]; then
|
|
continue
|
|
fi
|
|
partition=/dev/\${partition_name}
|
|
if expr match "\${partition_label}" "reserved_.*"; then
|
|
remove_partitions="\${remove_partitions} \${partition}"
|
|
echo "add \${partition} into remove list" >> /tmp/preseed.log
|
|
fi
|
|
done
|
|
echo "remove partitions \${remove_partitions}" >> /tmp/preseed.log
|
|
|
|
for partition in \${remove_partitions}; do
|
|
if [ -z "\$partition" ]; then
|
|
continue
|
|
fi
|
|
set \$(echo \${partition} | sed -e 's/^\(.*\)\([0-9]\+\)\$/\1 \2/g')
|
|
partition_disk=\$1
|
|
partition_number=\$2
|
|
echo "remove disk \${partition_disk} partition \${partition_number}" >> /tmp/preseed.log
|
|
if [ -z "\${partition_disk}" -o -z "\${partition_number}" ]; then
|
|
continue
|
|
fi
|
|
parted \${partition_disk} rm \${partition_number}
|
|
done
|