From 0f5ff9a5174499e42a547a7f7813d508cfbcd05a Mon Sep 17 00:00:00 2001 From: apt-ghetto Date: Mon, 29 Jul 2019 16:06:52 +0200 Subject: [PATCH] Add possibility to set mount options for the ESP Added new configuration "efiMountOptions" to fstab.conf When generating the fstab entry for the ESP, take the mount options from the new configuration or fall back to "mountOptions". --- src/modules/fstab/fstab.conf | 5 +++++ src/modules/fstab/main.py | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/modules/fstab/fstab.conf b/src/modules/fstab/fstab.conf index 11adff2ed..06a935e3a 100644 --- a/src/modules/fstab/fstab.conf +++ b/src/modules/fstab/fstab.conf @@ -12,6 +12,11 @@ mountOptions: default: defaults,noatime btrfs: defaults,noatime,space_cache,autodefrag +# Mount options to use for the EFI System Partition. If not defined, it +# takes either the value of *vfat*, or if also missing, *default* from +# *mountOptions* +efiMountOptions: umask=0077 + # If a filesystem is on an SSD, add the following options. If a specific # filesystem is listed here, use those options, otherwise no additional # options are set (i.e. there is no *default* like in *mountOptions*). diff --git a/src/modules/fstab/main.py b/src/modules/fstab/main.py index f793c9b7f..4a696f46b 100644 --- a/src/modules/fstab/main.py +++ b/src/modules/fstab/main.py @@ -246,8 +246,8 @@ class FstabGenerator(object): if not mount_point: mount_point = "swap" - options = self.mount_options.get(filesystem, - self.mount_options["default"]) + options = self.get_mount_options(filesystem, mount_point) + if is_ssd: extra = self.ssd_extra_mount_options.get(filesystem) @@ -295,6 +295,16 @@ class FstabGenerator(object): if partition["mountPoint"]: mkdir_p(self.root_mount_point + partition["mountPoint"]) + def get_mount_options(self, filesystem, mount_point): + efiMountPoint = libcalamares.globalstorage.value("efiSystemPartition") + job_config = libcalamares.job.configuration + + if (mount_point == efiMountPoint and "efiMountOptions" in job_config): + return job_config["efiMountOptions"] + + return self.mount_options.get(filesystem, + self.mount_options["default"]) + def run(): """ Configures fstab.