From d0ae92243936fd26d20b5e7812439b6b2f97d74d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 7 Nov 2023 23:37:31 +0100 Subject: [PATCH] partition: introduce accessor for minimum-size EFI --- src/modules/partition/PartitionViewStep.cpp | 5 +++-- src/modules/partition/core/PartUtils.cpp | 7 +++++++ src/modules/partition/core/PartUtils.h | 6 ++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/modules/partition/PartitionViewStep.cpp b/src/modules/partition/PartitionViewStep.cpp index c8c138ff7..52092bd23 100644 --- a/src/modules/partition/PartitionViewStep.cpp +++ b/src/modules/partition/PartitionViewStep.cpp @@ -561,7 +561,8 @@ PartitionViewStep::onLeave() const QString requireConfiguredSize = tr( "The filesystem must be at least %1 MiB in size." ).arg( atLeastMiB ); const QString requiredMinimumSize - = tr( "The filesystem must be at least %1 MiB in size." ).arg( Calamares::BytesToMiB( 32_MiB ) ); + = tr( "The filesystem must be at least %1 MiB in size." ) + .arg( Calamares::BytesToMiB( PartUtils::efiFilesystemMinimumSize() ) ); const QString suggestConfiguredSize = tr( "The minimum recommended size for the filesystem is %1 MiB." ).arg( atLeastMiB ); @@ -569,7 +570,7 @@ PartitionViewStep::onLeave() const QString mayFail = tr( "You can continue without setting up an EFI system " "partition but your system may fail to start." ); const QString possibleFail = tr( "You can continue with this EFI system " - "partition configuration but your system may fail to start." ); + "partition configuration but your system may fail to start." ); const QString startList = QStringLiteral( "



" ); diff --git a/src/modules/partition/core/PartUtils.cpp b/src/modules/partition/core/PartUtils.cpp index 2b61c6d9e..9d8c18d61 100644 --- a/src/modules/partition/core/PartUtils.cpp +++ b/src/modules/partition/core/PartUtils.cpp @@ -545,6 +545,13 @@ efiFilesystemRecommendedSize() return uefisys_part_sizeB; } +qint64 +efiFilesystemMinimumSize() +{ + using Calamares::Units::operator""_MiB; + return 32_MiB; +} + QString canonicalFilesystemName( const QString& fsName, FileSystem::Type* fsType ) { diff --git a/src/modules/partition/core/PartUtils.h b/src/modules/partition/core/PartUtils.h index d7d62ed5e..e1cca794f 100644 --- a/src/modules/partition/core/PartUtils.h +++ b/src/modules/partition/core/PartUtils.h @@ -120,6 +120,12 @@ bool isEfiFilesystemMinimumSize( const Partition* candidate ); */ qint64 efiFilesystemRecommendedSize(); +/** @brief Returns the hard-minimum size of an EFI boot partition in bytes. + * + * This is 32MiB, based on the FAT32 standard and EFI documentation. + */ +qint64 efiFilesystemMinimumSize(); + /** * @brief Is the given @p partition bootable in EFI? Depending on * the partition table layout, this may mean different flags.