From 46515533cdec660ddea2826dc247108c3a8cda48 Mon Sep 17 00:00:00 2001 From: Stephen Byrne Date: Thu, 18 Jan 2024 15:53:59 -0500 Subject: [PATCH] finalizing release --- airootfs/usr/share/tmpmodules/initcpio.conf | 2 +- airootfs/usr/share/tmpmodules/mount.conf | 82 +++++++++++++++++---- 2 files changed, 70 insertions(+), 14 deletions(-) diff --git a/airootfs/usr/share/tmpmodules/initcpio.conf b/airootfs/usr/share/tmpmodules/initcpio.conf index d2a12686..04f48f94 100755 --- a/airootfs/usr/share/tmpmodules/initcpio.conf +++ b/airootfs/usr/share/tmpmodules/initcpio.conf @@ -23,4 +23,4 @@ kernel: linux # filesystem, this has no effect as the file permissions cannot be changed. # In this case, ensure the partition is mounted securely. # -be_unsafe: false +be_unsafe: false \ No newline at end of file diff --git a/airootfs/usr/share/tmpmodules/mount.conf b/airootfs/usr/share/tmpmodules/mount.conf index 84dca05a..297b09bd 100755 --- a/airootfs/usr/share/tmpmodules/mount.conf +++ b/airootfs/usr/share/tmpmodules/mount.conf @@ -5,16 +5,15 @@ # target as a usable chroot / "live" system). Filesystems are # automatically mounted from the partitioning module. Filesystems # listed here are **extra**. The filesystems listed in *extraMounts* -# are mounted in all target systems. The filesystems listed in -# *extraMountsEfi* are mounted in the target system **only** if -# the host machine uses UEFI. +# are mounted in all target systems. --- # Extra filesystems to mount. The key's value is a list of entries; each -# entry has four keys: +# entry has five keys: # - device The device node to mount # - fs (optional) The filesystem type to use # - mountPoint Where to mount the filesystem -# - options (optional) Extra options to pass to mount(8) +# - options (optional) An array of options to pass to mount +# - efi (optional) A boolean that when true is only mounted for UEFI installs # # The device is not mounted if the mountPoint is unset or if the fs is # set to unformatted. @@ -28,18 +27,17 @@ extraMounts: mountPoint: /sys - device: /dev mountPoint: /dev - options: bind + options: [ bind ] - device: tmpfs fs: tmpfs mountPoint: /run - device: /run/udev mountPoint: /run/udev - options: bind - -extraMountsEfi: + options: [ bind ] - device: efivarfs fs: efivarfs mountPoint: /sys/firmware/efi/efivars + efi: true # Btrfs subvolumes to create if root filesystem is on btrfs volume. # If *mountpoint* is mounted already to another partition, it is ignored. @@ -47,10 +45,8 @@ extraMountsEfi: # # It is possible to prevent subvolume creation -- this is likely only relevant # for the root (/) subvolume -- by giving an empty string as a subvolume -# name. In this case no subvolume will be created. When using snapper as -# a rollback mechanism, it is recommended to **not** create a subvolume -# for root. - +# name. In this case no subvolume will be created. +# btrfsSubvolumes: - mountPoint: / subvolume: /@ @@ -63,3 +59,63 @@ btrfsSubvolumes: subvolume: /@cache - mountPoint: /var/log subvolume: /@log + +# The name of the btrfs subvolume holding the swapfile. This only used when +# a swapfile is selected and the root filesystem is btrfs +# +btrfsSwapSubvol: /@swap + +# The mount options used to mount each filesystem. +# +# filesystem contains the name of the filesystem or on of three special +# values, "default", efi" and "btrfs_swap". The logic is applied in this manner: +# - If the partition is the EFI partition, the "efi" entry will be used +# - If the fs is btrfs and the subvolume is for the swapfile, +# the "btrfs_swap" entry is used +# - If the filesystem is an exact match for filesystem, that entry is used +# - If no match is found in the above, the default entry is used +# - If there is no match and no default entry, "defaults" is used +# - If the mountOptions key is not present, "defaults" is used +# +# Each filesystem entry contains 3 keys, all of which are optional +# options - An array of mount options that is used on all disk types +# ssdOptions - An array of mount options combined with options for ssds +# hddOptions - An array of mount options combined with options for hdds +# If combining these options results in an empty array, "defaults" is used +# +# Example 1 +# In this example, there are specific options for ext4 and btrfs filesystems, +# the EFI partition and the subvolume holding the btrfs swapfile. All other +# filesystems use the default entry. For the btrfs filesystem, there are +# additional options specific to hdds and ssds +# +# mountOptions: +# - filesystem: default +# options: [ defaults ] +# - filesystem: efi +# options: [ defaults, umask=0077 ] +# - filesystem: ext4 +# options: [ defaults ] +# - filesystem: btrfs +# options: [ defaults, compress=zstd:1 ] +# ssdOptions: [ discard=async ] +# hddOptions: [ autodefrag ] +# - filesystem: btrfs_swap +# options: [ defaults, noatime ] +# +# Example 2 +# In this example there is a single default used by all filesystems +# +# mountOptions: +# - filesystem: default +# options: [ defaults ] +# +mountOptions: + - filesystem: default + options: [ defaults ] + - filesystem: efi + options: [ defaults, umask=0077 ] + - filesystem: btrfs + options: [ defaults, compress=zstd:1 ] + - filesystem: btrfs_swap + options: [ defaults, noatime ] \ No newline at end of file