mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2024-12-19 05:37:53 +00:00
Merge pull request #2185 from balena-os/alexgg/fix-mounts
mount-partitions: do not hardcode partition types
This commit is contained in:
commit
11e24a8abb
@ -52,17 +52,17 @@ if [ "${TEST}" != 1 ]; then
|
||||
fi
|
||||
|
||||
# Mounts a device to a path if it's not already mounted.
|
||||
# Usage: do_mount DEVICE MOUNT_PATH [FS_TYPE]
|
||||
# Usage: do_mount DEVICE MOUNT_PATH
|
||||
do_mount() {
|
||||
device=$1
|
||||
mount_path=$2
|
||||
fs_type=${3:-ext4}
|
||||
|
||||
# Create the directory if it doesn't exist
|
||||
mkdir -p "${mount_path}"
|
||||
|
||||
# Mount the device if it doesn't exist
|
||||
if [ "$(mountpoint -n "${mount_path}" | awk '{ print $1 }')" != "${device}" ]; then
|
||||
fs_type=$(lsblk -nlo fstype "${device}")
|
||||
mount -t "${fs_type}" "${device}" "${mount_path}"
|
||||
fi
|
||||
}
|
||||
@ -81,20 +81,13 @@ setup_then_mount() {
|
||||
partition_label=$1
|
||||
target_path=$2
|
||||
|
||||
# Mount as vfat if boot, otherwise ext4
|
||||
if [ "${partition_label}" = "boot" ]; then
|
||||
fs_type="vfat"
|
||||
else
|
||||
fs_type="ext4"
|
||||
fi
|
||||
|
||||
# Try FS label first and partition label as a fallback
|
||||
for arg in label partlabel; do
|
||||
kname=$(lsblk "/dev/${current_boot_block_device}" -nlo "kname,${arg}" | grep -E "(resin|balena)-${partition_label}" | awk '{print $1}')
|
||||
device="/dev/${kname}"
|
||||
if [ -b "${device}" ]; then
|
||||
echo "INFO: Found device $device on current boot device $current_boot_block_device, using as mount for '(resin|balena)-${partition_label}'."
|
||||
do_mount "${device}" "${target_path}" "${fs_type}"
|
||||
do_mount "${device}" "${target_path}"
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
|
Loading…
Reference in New Issue
Block a user