summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Hesse <mail@eworm.de>2015-12-13 15:18:39 +0100
committerGerardo Exequiel Pozzi <vmlinuz386@gmail.com>2015-12-13 12:21:43 -0300
commit03c296cb4f031148f657b8924460a30c5c9dfecc (patch)
treef53260252803923c72b974dced441773eac5f27e
parentd1e95f858119a0e7e57313162bc8fe6b9f50005a (diff)
downloadarchiso32-03c296cb4f031148f657b8924460a30c5c9dfecc.tar.xz
add boot params archisoflags= and cow_flags= for mount options
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@eworm.de>
-rw-r--r--archiso/initcpio/hooks/archiso6
-rw-r--r--docs/README.bootparams4
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".