ubuntu-22.04.3-desktop-amd64/casper/filesystem/usr/lib/partman/fstab.d/btrfs

58 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
. /lib/partman/lib/base.sh
home_found="unknown"
for dev in $DEVICES/*; do
[ -d $dev ] || continue
cd $dev
open_dialog PARTITIONS
while { read_line num id size type fs path name; [ "$id" ]; }; do
[ $fs != free ] || continue
[ -f "$id/method" ] || continue
[ -f "$id/acting_filesystem" ] || continue
method=$(cat $id/method)
filesystem=$(cat $id/acting_filesystem)
mountpoint=$(cat $id/mountpoint)
case "$filesystem" in
btrfs)
[ -f "$id/mountpoint" ] || continue
# due to #249322, #255135, #258117:
if [ "$mountpoint" = /tmp ]; then
rm -f $id/options/noexec
fi
options=$(get_mountoptions $dev $id)
if [ "$mountpoint" = / ]; then
if [ "$home_found" = "unknown" ]; then
home_found="false"
fi
pass=1
home_options="${options:+$options,}subvol=@home"
options="${options:+$options,}subvol=@"
home_path="$path"
home_mp="$mountpoint"home
elif [ "$mountpoint" = /home ]; then
pass=2
options="${options:+$options,}subvol=@home"
home_found=true
else
pass=2
fi
echo "$path" "$mountpoint" btrfs $options 0 $pass
;;
*)
if [ "$mountpoint" = "/home" ]; then
home_found="true"
fi
;;
esac
done
close_dialog
done
if [ "$home_found" = "false" ]; then
echo "$home_path" "$home_mp" btrfs "$home_options" 0 2
home_found="true"
fi