From 57251837166b25e07f39b203d8bb8f5596188f23 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 2 Feb 2016 15:45:48 +0100 Subject: fix boot parameters for mount options Fixes: 03c296cb4f031148f657b8924460a30c5c9dfecc Signed-off-by: Christian Hesse --- archiso/initcpio/hooks/archiso | 14 +++++++------- archiso/initcpio/hooks/archiso_loop_mnt | 3 ++- docs/README.bootparams | 4 ++-- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/archiso/initcpio/hooks/archiso b/archiso/initcpio/hooks/archiso index b4c0b43..fb76327 100644 --- a/archiso/initcpio/hooks/archiso +++ b/archiso/initcpio/hooks/archiso @@ -33,7 +33,7 @@ _mnt_dmsnapshot() { dmsetup create ${dm_snap_name} --table "0 ${ro_dev_size} snapshot ${ro_dev} ${rw_dev} ${cow_persistent} ${cow_chunksize}" - _mnt_dev "/dev/mapper/${dm_snap_name}" "${newroot}${mnt}" "-w" + _mnt_dev "/dev/mapper/${dm_snap_name}" "${newroot}${mnt}" "-w" "defaults" echo $(readlink -f /dev/mapper/${dm_snap_name}) >> /run/archiso/used_block_devices } @@ -65,14 +65,15 @@ _mnt_sfs() { fi sfs_dev=$(losetup --find --show --read-only "${img}") echo ${sfs_dev} >> /run/archiso/used_block_devices - _mnt_dev "${sfs_dev}" "${mnt}" "-r" + _mnt_dev "${sfs_dev}" "${mnt}" "-r" "defaults" } -# args: device, mountpoint, flags +# args: device, mountpoint, flags, opts _mnt_dev() { local dev="${1}" local mnt="${2}" local flg="${3}" + local opts="${4}" mkdir -p "${mnt}" @@ -85,7 +86,7 @@ _mnt_dev() { launch_interactive_shell done - if mount "${flg}" "${dev}" "${mnt}"; then + if mount -o "${opts}" "${flg}" "${dev}" "${mnt}"; then msg ":: Device '${dev}' mounted successfully." else echo "ERROR; Failed to mount '${dev}'" @@ -110,7 +111,6 @@ run_hook() { [[ -z "${archisobasedir}" ]] && archisobasedir="arch" [[ -z "${dm_snap_prefix}" ]] && dm_snap_prefix="arch" [[ -z "${archisodevice}" ]] && archisodevice="/dev/disk/by-label/${archisolabel}" - [[ -z "${archisoflags}" ]] && archisoflags="defaults" [[ -z "${cow_spacesize}" ]] && cow_spacesize="256M" if [[ -n "${cow_label}" ]]; then @@ -137,7 +137,7 @@ archiso_mount_handler() { local newroot="${1}" if ! mountpoint -q "/run/archiso/bootmnt"; then - _mnt_dev -o "${archisoflags}" "${archisodevice}" "/run/archiso/bootmnt" "-r" + _mnt_dev "${archisodevice}" "/run/archiso/bootmnt" "-r" "defaults" if [[ "${copytoram}" != "y" ]]; then echo $(readlink -f ${archisodevice}) >> /run/archiso/used_block_devices fi @@ -166,7 +166,7 @@ archiso_mount_handler() { fi if [[ -n "${cow_device}" ]]; then - _mnt_dev -o "${cow_flags}" "${cow_device}" "/run/archiso/cowspace" "-r" + _mnt_dev "${cow_device}" "/run/archiso/cowspace" "-r" "${cow_flags}" echo $(readlink -f ${cow_device}) >> /run/archiso/used_block_devices mount -o remount,rw "/run/archiso/cowspace" else diff --git a/archiso/initcpio/hooks/archiso_loop_mnt b/archiso/initcpio/hooks/archiso_loop_mnt index f95a47d..2e99404 100644 --- a/archiso/initcpio/hooks/archiso_loop_mnt +++ b/archiso/initcpio/hooks/archiso_loop_mnt @@ -2,6 +2,7 @@ run_hook () { [[ -n "${img_label}" ]] && img_dev="/dev/disk/by-label/${img_label}" + [[ -z "${img_flags}" ]] && img_flags="defaults" if [[ -n "${img_dev}" && -n "${img_loop}" ]]; then mount_handler="archiso_loop_mount_handler" fi @@ -13,7 +14,7 @@ archiso_loop_mount_handler () { local _dev_loop msg ":: Setup a loop device from ${img_loop} located at device ${img_dev}" - _mnt_dev "${img_dev}" "/run/archiso/img_dev" "-r" + _mnt_dev "${img_dev}" "/run/archiso/img_dev" "-r" "${img_flags}" if [[ "${copytoram}" != "y" ]]; then echo $(readlink -f ${img_dev}) >> /run/archiso/used_block_devices fi diff --git a/docs/README.bootparams b/docs/README.bootparams index 9737554..77161df 100644 --- a/docs/README.bootparams +++ b/docs/README.bootparams @@ -21,8 +21,6 @@ INDEX Default: (unset) * archisodevice= Set the device node where archiso medium is located. Default: "/dev/disk/by-label/${archisolabel}" -* archisoflags= Set extra mount options, e.g. for btrfs subvolumes. - Default: defaults * archisobasedir= Set the base directory where all files reside. Default: "arch" * copytoram= If set to "y" or just "copytoram" without arguments, @@ -125,6 +123,8 @@ INDEX Default: (unset) * img_dev= Device where archiso-image.iso reside. Default: (unset) or "/dev/disk/by-label/${img_label}" +* img_flags= Set extra mount options, e.g. for btrfs subvolumes. + Default: defaults * img_loop= Full path where archiso-image.iso is located on ${img_dev} Default: (unset) -- cgit v1.2.3-54-g00ecf