Fix: error in select_filesystem
This commit is contained in:
parent
340f6c6aec
commit
b7e6c053e1
@ -5,7 +5,7 @@
|
|||||||
# Some ideas and code reworked from other resources
|
# Some ideas and code reworked from other resources
|
||||||
# AIF, Calamares, and the Arch Wiki.. Credit where credit is due
|
# AIF, Calamares, and the Arch Wiki.. Credit where credit is due
|
||||||
|
|
||||||
# shellcheck disable=SC2086,SC2046,SC2254
|
# shellcheck disable=SC2086,SC2046,SC2254,SC2164
|
||||||
|
|
||||||
VER=2.1.49
|
VER=2.1.49
|
||||||
|
|
||||||
@ -1013,7 +1013,7 @@ part_swap()
|
|||||||
chmod 600 "$swp" 2> "$ERR"
|
chmod 600 "$swp" 2> "$ERR"
|
||||||
errshow 0 "chmod 600 '$swp'"
|
errshow 0 "chmod 600 '$swp'"
|
||||||
else
|
else
|
||||||
msg "Swap Setup" "\nActivating swap partition $(part_pretty "$SWAP")\n" 1
|
msg "Swap Setup" "\nActivating swap partition $SWAP\n" 1
|
||||||
fi
|
fi
|
||||||
mkswap "$swp" > /dev/null 2> "$ERR"
|
mkswap "$swp" > /dev/null 2> "$ERR"
|
||||||
errshow 0 "mkswap '$swp' > /dev/null"
|
errshow 0 "mkswap '$swp' > /dev/null"
|
||||||
@ -1026,7 +1026,7 @@ part_mount()
|
|||||||
{
|
{
|
||||||
local part="$1"
|
local part="$1"
|
||||||
local mntpt="${MNT}$2"
|
local mntpt="${MNT}$2"
|
||||||
local ignore=''
|
local ignore=0
|
||||||
[[ $part == "$ROOT" && $3 ]] && ignore=$3
|
[[ $part == "$ROOT" && $3 ]] && ignore=$3
|
||||||
local fs
|
local fs
|
||||||
fs="$(lsblk -lno FSTYPE "$part")"
|
fs="$(lsblk -lno FSTYPE "$part")"
|
||||||
@ -1041,9 +1041,14 @@ part_mount()
|
|||||||
errshow 0 "mount '$part' '$mntpt' > /dev/null" || return 1
|
errshow 0 "mount '$part' '$mntpt' > /dev/null" || return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg "Mount Complete" "\n$(part_pretty "$part") mounted at $mntpt\n" 1
|
if grep -q "$mntpt" /proc/mounts; then
|
||||||
part_countdec "$part"
|
msg "Mount Success" "\n$part mounted at $mntpt\n" 1
|
||||||
part_cryptlv "$part"
|
part_countdec "$part"
|
||||||
|
part_cryptlv "$part"
|
||||||
|
else
|
||||||
|
msg "Mount Failed" "\nUnable to mount $part at $mntpt\n" 2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
@ -1089,9 +1094,9 @@ part_format()
|
|||||||
local delay="$3"
|
local delay="$3"
|
||||||
shift 3
|
shift 3
|
||||||
|
|
||||||
msg "File System Format" "\nFormatting\n\npart: $(part_pretty "$part")\n\nfs: $fs\n" 0
|
msg "File System Format" "\nFormatting $part as $fs\n" 0
|
||||||
mkfs.$fs ${FS_CMD_FLAGS[$fs]} "$part" > /dev/null 2> "$ERR"
|
mkfs.$fs ${FS_CMD_FLAGS[$fs]} "$part" > /dev/null 2> "$ERR"
|
||||||
errshow 0 "mkfs.$fs ${FS_CMD_FLAGS[$fs]} '$part' > /dev/null" || return 1
|
errshow 0 "mkfs.$fs ${FS_CMD_FLAGS[$fs]} '$part'" || return 1
|
||||||
sleep "$delay"
|
sleep "$delay"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1283,7 +1288,7 @@ select_boot()
|
|||||||
local fs
|
local fs
|
||||||
fs="$(fsck -N "$BOOT")"
|
fs="$(fsck -N "$BOOT")"
|
||||||
if ([[ $SYS == 'BIOS' ]] && grep -q 'ext[34]' <<< "$fs") || ([[ $SYS == 'UEFI' ]] && grep -q 'fat' <<< "$fs"); then
|
if ([[ $SYS == 'BIOS' ]] && grep -q 'ext[34]' <<< "$fs") || ([[ $SYS == 'UEFI' ]] && grep -q 'fat' <<< "$fs"); then
|
||||||
yesno "Format Boot Partition" "\nIMPORTANT: $(part_pretty "$BOOT") $_format" "Format" "Don't Format" 1 || return 0
|
yesno "Format Boot Partition" "\nIMPORTANT: $BOOT $_format" "Format" "Do Not Format" 1 || return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case "$SYS" in
|
case "$SYS" in
|
||||||
@ -1337,7 +1342,7 @@ select_root()
|
|||||||
select_filesystem "$ROOT" || return 1
|
select_filesystem "$ROOT" || return 1
|
||||||
part_mount "$ROOT" "" $BTRFS || return 1
|
part_mount "$ROOT" "" $BTRFS || return 1
|
||||||
if (( BTRFS == 2 )); then
|
if (( BTRFS == 2 )); then
|
||||||
btrfs_subvols "" "$ROOT" || return 1
|
btrfs_subvols "$ROOT" || return 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
# should never reach here unless an error occurred
|
# should never reach here unless an error occurred
|
||||||
@ -1412,7 +1417,7 @@ select_extra()
|
|||||||
break
|
break
|
||||||
elif select_filesystem "$part" && select_mountpoint && part_mount "$part" "$EXMNT" $BTRFS; then
|
elif select_filesystem "$part" && select_mountpoint && part_mount "$part" "$EXMNT" $BTRFS; then
|
||||||
if (( BTRFS == 2 )); then
|
if (( BTRFS == 2 )); then
|
||||||
btrfs_subvols "$EXMNT" "$part" || return 1
|
btrfs_subvols "$part" "$EXMNT" || return 1
|
||||||
fi
|
fi
|
||||||
EXMNTS+="$part: $EXMNT "
|
EXMNTS+="$part: $EXMNT "
|
||||||
[[ $EXMNT == '/usr' && $HOOKS != *usr* ]] && HOOKS+=" usr"
|
[[ $EXMNT == '/usr' && $HOOKS != *usr* ]] && HOOKS+=" usr"
|
||||||
@ -1451,19 +1456,18 @@ select_filesystem()
|
|||||||
local part="$1"
|
local part="$1"
|
||||||
local fs=''
|
local fs=''
|
||||||
local cur txt pt
|
local cur txt pt
|
||||||
pt="$(part_pretty "$part")"
|
|
||||||
cur="$(lsblk -lno FSTYPE "$part" 2> /dev/null)"
|
cur="$(lsblk -lno FSTYPE "$part" 2> /dev/null)"
|
||||||
txt="\nSelect which file system to use\n\npart: $pt\n\nfs default: ext4"
|
txt="\nSelect which file system to use for $part\n\ndefault: ext4"
|
||||||
|
|
||||||
if [[ $cur ]]; then
|
if [[ $cur ]]; then
|
||||||
txt+="\nCurrent: $cur"
|
txt+="\nexisting: $cur"
|
||||||
# bail early if the partition was created in part_auto()
|
# bail early if the partition was created in part_auto()
|
||||||
[[ $part == "$AUTO_ROOT" ]] && return 0
|
[[ $part == "$AUTO_ROOT" ]] && return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
BTRFS=0
|
BTRFS=0
|
||||||
until [[ $fs ]]; do
|
until [[ $fs ]]; do
|
||||||
dlg fs menu "File System" "$txt" $([[ $cur ]] && printf "skip 'Do not format the current partition'") \
|
dlg fs menu "File System" "$txt" $([[ $cur ]] && printf 'skip -') \
|
||||||
ext4 "The evolution of the most used Linux file system, successor to Ext3" \
|
ext4 "The evolution of the most used Linux file system, successor to Ext3" \
|
||||||
ext3 "Third extended file system, successor to Ext2" \
|
ext3 "Third extended file system, successor to Ext2" \
|
||||||
ext2 "Second extended file system, unlike 3/4 it is not journaled and obsolete" \
|
ext2 "Second extended file system, unlike 3/4 it is not journaled and obsolete" \
|
||||||
@ -1477,7 +1481,7 @@ select_filesystem()
|
|||||||
reiserfs "Journaled file system created by a team at Namesys led by Hans Reiser" || return 1
|
reiserfs "Journaled file system created by a team at Namesys led by Hans Reiser" || return 1
|
||||||
|
|
||||||
[[ $fs == 'skip' ]] && return 0
|
[[ $fs == 'skip' ]] && return 0
|
||||||
yesno "File System" "\nConfirm Format\n\npart: $pt\n\nfs: $fs\n" || fs=''
|
yesno "File System" "\nFormat $part as $fs?\n" || fs=''
|
||||||
|
|
||||||
if [[ $fs == 'f2fs' ]]; then
|
if [[ $fs == 'f2fs' ]]; then
|
||||||
modprobe f2fs
|
modprobe f2fs
|
||||||
@ -2377,48 +2381,70 @@ btrfs_name()
|
|||||||
|
|
||||||
btrfs_subvols()
|
btrfs_subvols()
|
||||||
{
|
{
|
||||||
local mntp="$1"
|
local part="$1"
|
||||||
local part="$2"
|
local mntp="$2"
|
||||||
local list=""
|
local list=""
|
||||||
|
local opts=''
|
||||||
local n=1
|
local n=1
|
||||||
local txt="\nEnter a name for the initial subvolume.\n\nOnce mounted other subvolumes created for"
|
local txt="\nEnter a name for the initial subvolume.\n\nOnce mounted other subvolumes created for"
|
||||||
|
|
||||||
MVOL=""
|
MVOL=""
|
||||||
btrfs_name "$txt ${mntp:-/} will branch from it." "" || return 1
|
btrfs_name "$txt ${mntp:-/} will branch from it." "" || return 1
|
||||||
MVOL="$SUBVOL"
|
MVOL="$SUBVOL"
|
||||||
[[ -z $mntp ]] && BTRFS_MNT="rootflags=subvol=$MVOL"
|
|
||||||
|
if [[ $mntp ]]; then
|
||||||
|
mkdir -p "${MNT}$mntpt" || return 1
|
||||||
|
cd "$MNT${mntp}" 2> "$ERR"
|
||||||
|
errshow 0 "cd $MNT${mntp}" || return 1
|
||||||
|
else
|
||||||
|
BTRFS_MNT="rootflags=subvol=$MVOL"
|
||||||
|
fi
|
||||||
|
|
||||||
# create the main subvolume
|
# create the main subvolume
|
||||||
mkdir -p "${MNT}$mntpt" || return 1
|
btrfs subvolume create "$MVOL" > /dev/null 2> "$ERR"
|
||||||
cd "${MNT}$mntp" || return 1
|
|
||||||
btrfs subvolume create $MVOL 2> "$ERR"
|
|
||||||
errshow 0 "btrfs subvolume create $MVOL" || return 1
|
errshow 0 "btrfs subvolume create $MVOL" || return 1
|
||||||
cd / && umount "$part" 2> "$ERR"
|
|
||||||
errshow 0 "cd / && umount $part" || return 1
|
cd 2> "$ERR"
|
||||||
|
errshow 0 "cd" || return 1
|
||||||
|
umount "$part" 2> "$ERR"
|
||||||
|
errshow 0 "umount $part" || return 1
|
||||||
|
|
||||||
if select_mntopts 'btrfs' && [[ $MNT_OPTS ]]; then
|
if select_mntopts 'btrfs' && [[ $MNT_OPTS ]]; then
|
||||||
mount -o ${MNT_OPTS},subvol=${MVOL} "$part" "$MNT${mntp}" 2> "$ERR"
|
opts="${MNT_OPTS},subvol=${MVOL}"
|
||||||
errshow 0 "mount -o ${MNT_OPTS},subvol=${MVOL} $part $MNT${mntp}" || return 1
|
|
||||||
else
|
else
|
||||||
mount -o subvol=${MVOL} "$part" "$MNT${mntp}" 2> "$ERR"
|
opts="subvol=${MVOL}"
|
||||||
errshow 0 "mount -o subvol=${MVOL} $part $MNT${mntp}" || return 1
|
|
||||||
fi
|
fi
|
||||||
msg "Mount Complete" "\nSubvolume $MVOL mounted at $MNT${mntp}\n" 1
|
|
||||||
|
if [[ $mntp ]]; then
|
||||||
|
mount -o $opts "$part" "$MNT${mntp}" 2> "$ERR" || mount -o $opts "$part" "$MNT${mntp}" 2> "$ERR"
|
||||||
|
errshow 0 "mount -o $opts $part $MNT${mntp}" || return 1
|
||||||
|
grep -q "$MNT${mntp}" /proc/mounts || { msg "Mount Failed" "\nUnable to mount $part at $MNT${mntp}\n" 2; return 1; }
|
||||||
|
msg "Mount Complete" "\nSubvolume $MVOL mounted at $MNT${mntp}\n" 1
|
||||||
|
else
|
||||||
|
mount -o $opts "$part" "$MNT" 2> "$ERR" || mount -o $opts "$part" "$MNT" 2> "$ERR"
|
||||||
|
errshow 0 "mount -o $opts $part $MNT" || return 1
|
||||||
|
grep -q "$MNT" /proc/mounts || { msg "Mount Failed" "\nUnable to mount $part at $MNT\n" 2; return 1; }
|
||||||
|
msg "Mount Complete" "\nSubvolume $MVOL mounted at $MNT\n" 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "$MNT${mntp}" 2> "$ERR"
|
||||||
|
errshow 0 "cd $MNT${mntp}" || return 1
|
||||||
|
|
||||||
# create the subvolume(s)
|
# create the subvolume(s)
|
||||||
cd ${MNT}$mntp || return 1
|
|
||||||
SUBVOL=''
|
SUBVOL=''
|
||||||
until [[ $SUBVOL == '*' ]]; do
|
until [[ $SUBVOL == '*' ]]; do
|
||||||
local txt="\nEnter a name for the subvolume $n to create within $MVOL."
|
local txt="\nEnter a name for subvolume $n within '$MVOL' subvolume."
|
||||||
txt+="\n\nThis process will be repeated until an asterisk (*) subvolume name is entered."
|
txt+="\n\nThis process will be repeated until an asterisk (*) is entered as the subvolume name."
|
||||||
btrfs_name "$txt\n\nCreated subvolumes: ${list:-none}\n" "$list" || return 1
|
btrfs_name "$txt\n\nCreated subvolumes: ${list:-none}\n" "$list" || return 1
|
||||||
btrfs subvolume create $SUBVOL 2> "$ERR"
|
btrfs subvolume create $SUBVOL > /dev/null 2> "$ERR"
|
||||||
errshow 0 "btrfs subvolume create $SUBVOL" || return 1
|
errshow 0 "btrfs subvolume create $SUBVOL" || return 1
|
||||||
(( n++ ))
|
(( n++ ))
|
||||||
list+="$SUBVOL "
|
list+="$SUBVOL "
|
||||||
done
|
done
|
||||||
|
|
||||||
msg "Btrfs Setup Complete" "\nBtrfs subvolumes:\n\n$(ls)"
|
msg "Btrfs Setup Complete" "\nBtrfs subvolumes:\n\n$(ls)"
|
||||||
cd / || return 1
|
cd 2> "$ERR"
|
||||||
|
errshow 0 "cd" || return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
Reference in New Issue
Block a user