[arch-releng] [PATCH v2 1/1] add boot params archisoflags= and cow_flags= for mount options

Gerardo Exequiel Pozzi vmlinuz386 at gmail.com
Tue Feb 2 01:07:06 UTC 2016


On 12/13/15 11:18, Christian Hesse wrote:
> From: Christian Hesse <mail at eworm.de>
> 
> Having files on btrfs subvolumes requires to give mount options. Add
> boot params archisoflags= and cow_flags= for this purpose. Boot
> parameters could look like this:
> 
> ... archisodevice=/dev/sdaX archisoflags=subvolume=isos
> cow_device=/dev/sdaX cow_flags=subvolume=persist ...
> 
> Signed-off-by: Christian Hesse <mail at eworm.de>
> ---
>  archiso/initcpio/hooks/archiso | 6 ++++--
>  docs/README.bootparams         | 4 ++++
>  2 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/archiso/initcpio/hooks/archiso b/archiso/initcpio/hooks/archiso
> index 3edc76c..b4c0b43 100644
> --- a/archiso/initcpio/hooks/archiso
> +++ b/archiso/initcpio/hooks/archiso
> @@ -110,6 +110,7 @@ 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
> @@ -121,6 +122,7 @@ run_hook() {
>          cow_persistent="N"
>      fi
>  
> +    [[ -z "${cow_flags}" ]] && cow_flags="defaults"
>      [[ -z "${cow_directory}" ]] && cow_directory="persistent_${archisolabel}/${arch}"
>      [[ -z "${cow_chunksize}" ]] && cow_chunksize="8"
>  
> @@ -135,7 +137,7 @@ archiso_mount_handler() {
>      local newroot="${1}"
>  
>      if ! mountpoint -q "/run/archiso/bootmnt"; then
> -        _mnt_dev "${archisodevice}" "/run/archiso/bootmnt" "-r"
> +        _mnt_dev -o "${archisoflags}" "${archisodevice}" "/run/archiso/bootmnt" "-r"
>          if [[ "${copytoram}" != "y" ]]; then
>              echo $(readlink -f ${archisodevice}) >> /run/archiso/used_block_devices
>          fi
> @@ -164,7 +166,7 @@ archiso_mount_handler() {
>      fi
>  
>      if [[ -n "${cow_device}" ]]; then
> -        _mnt_dev "${cow_device}" "/run/archiso/cowspace" "-r"
> +        _mnt_dev -o "${cow_flags}" "${cow_device}" "/run/archiso/cowspace" "-r"
>          echo $(readlink -f ${cow_device}) >> /run/archiso/used_block_devices
>          mount -o remount,rw "/run/archiso/cowspace"
>      else
> diff --git a/docs/README.bootparams b/docs/README.bootparams
> index 356375d..9737554 100644
> --- a/docs/README.bootparams
> +++ b/docs/README.bootparams
> @@ -21,6 +21,8 @@ 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,
> @@ -35,6 +37,8 @@ INDEX
>                      Default: (unset)
>  * cow_device=       Like cow_label= but using device node.
>                      Default: (unset) or "/dev/disk/by-label/${cow_label}"
> +* cow_flags=        Set extra mount options, e.g. for btrfs subvolumes.
> +                    Default: defaults
>  * cow_directory=    Set a directory inside ${cow_device}.
>                      Default: "/persistent_${archisolabel}/${arch}"
>  * cow_persistent=   Set if snapshot is persistent "P" or non-persistent "N".
> 

breaks boot

because
# args: device, mountpoint, flags
_mnt_dev() {

but called as

_mnt_dev -o "${archisoflags}" "${archisodevice}" "/run/archiso/bootmnt" "-r"



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <https://lists.archlinux.org/pipermail/arch-releng/attachments/20160201/7babe6fc/attachment.asc>


More information about the arch-releng mailing list