Merge pull request #1206 from apt-ghetto/espMount

[fatab] Esp mount options
This commit is contained in:
Adriaan de Groot 2019-08-01 19:15:36 +02:00 committed by GitHub
commit 626fd8828a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 10 deletions

View File

@ -12,6 +12,11 @@ mountOptions:
default: defaults,noatime default: defaults,noatime
btrfs: defaults,noatime,space_cache,autodefrag 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 # If a filesystem is on an SSD, add the following options. If a specific
# filesystem is listed here, use those options, otherwise no additional # filesystem is listed here, use those options, otherwise no additional
# options are set (i.e. there is no *default* like in *mountOptions*). # options are set (i.e. there is no *default* like in *mountOptions*).

View File

@ -162,7 +162,6 @@ class FstabGenerator(object):
return None return None
mapper_name = partition["luksMapperName"] mapper_name = partition["luksMapperName"]
mount_point = partition["mountPoint"]
luks_uuid = partition["luksUuid"] luks_uuid = partition["luksUuid"]
if not mapper_name or not luks_uuid: if not mapper_name or not luks_uuid:
return None return None
@ -247,8 +246,8 @@ class FstabGenerator(object):
if not mount_point: if not mount_point:
mount_point = "swap" mount_point = "swap"
options = self.mount_options.get(filesystem, options = self.get_mount_options(filesystem, mount_point)
self.mount_options["default"])
if is_ssd: if is_ssd:
extra = self.ssd_extra_mount_options.get(filesystem) extra = self.ssd_extra_mount_options.get(filesystem)
@ -266,12 +265,12 @@ class FstabGenerator(object):
self.root_is_ssd = is_ssd self.root_is_ssd = is_ssd
if filesystem == "btrfs" and "subvol" in partition: if filesystem == "btrfs" and "subvol" in partition:
options="subvol={},".format(partition["subvol"]) + options options = "subvol={},".format(partition["subvol"]) + options
if has_luks: if has_luks:
device="/dev/mapper/" + partition["luksMapperName"] device = "/dev/mapper/" + partition["luksMapperName"]
else: else:
device="UUID=" + partition["uuid"] device = "UUID=" + partition["uuid"]
return dict(device=device, return dict(device=device,
mount_point=mount_point, mount_point=mount_point,
@ -296,6 +295,16 @@ class FstabGenerator(object):
if partition["mountPoint"]: if partition["mountPoint"]:
mkdir_p(self.root_mount_point + 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(): def run():
""" Configures fstab. """ Configures fstab.
@ -308,13 +317,17 @@ def run():
root_mount_point = global_storage.value("rootMountPoint") root_mount_point = global_storage.value("rootMountPoint")
if not partitions: if not partitions:
libcalamares.utils.warning("partitions is empty, {!s}".format(partitions)) libcalamares.utils.warning("partitions is empty, {!s}"
.format(partitions))
return (_("Configuration Error"), return (_("Configuration Error"),
_("No partitions are defined for <pre>{!s}</pre> to use." ).format("fstab")) _("No partitions are defined for <pre>{!s}</pre> to use.")
.format("fstab"))
if not root_mount_point: if not root_mount_point:
libcalamares.utils.warning("rootMountPoint is empty, {!s}".format(root_mount_point)) libcalamares.utils.warning("rootMountPoint is empty, {!s}"
.format(root_mount_point))
return (_("Configuration Error"), return (_("Configuration Error"),
_("No root mount point is given for <pre>{!s}</pre> to use." ).format("fstab")) _("No root mount point is given for <pre>{!s}</pre> to use.")
.format("fstab"))
mount_options = conf["mountOptions"] mount_options = conf["mountOptions"]
ssd_extra_mount_options = conf.get("ssdExtraMountOptions", {}) ssd_extra_mount_options = conf.get("ssdExtraMountOptions", {})