diff --git a/src/modules/partition/core/PartitionActions.cpp b/src/modules/partition/core/PartitionActions.cpp index cf7bc67a2..e2c6ca638 100644 --- a/src/modules/partition/core/PartitionActions.cpp +++ b/src/modules/partition/core/PartitionActions.cpp @@ -104,6 +104,12 @@ doAutopartition( PartitionCoreModule* core, Device* dev, const QString& luksPass if ( QDir( "/sys/firmware/efi/efivars" ).exists() ) isEfi = true; + QString defaultFsType = Calamares::JobQueue::instance()-> + globalStorage()-> + value( "defaultFileSystemType" ).toString(); + if ( FileSystem::typeForName( defaultFsType ) == FileSystem::Unknown ) + defaultFsType = "ext4"; + #define MiB * static_cast< qint64 >( 1024 ) * 1024 #define GiB * static_cast< qint64 >( 1024 ) * 1024 * 1024 @@ -174,7 +180,7 @@ doAutopartition( PartitionCoreModule* core, Device* dev, const QString& luksPass dev->partitionTable(), *dev, PartitionRole( PartitionRole::Primary ), - FileSystem::Ext4, + FileSystem::typeForName( defaultFsType ), firstFreeSector, lastSectorForRoot ); @@ -185,7 +191,7 @@ doAutopartition( PartitionCoreModule* core, Device* dev, const QString& luksPass dev->partitionTable(), *dev, PartitionRole( PartitionRole::Primary ), - FileSystem::Ext4, + FileSystem::typeForName( defaultFsType ), firstFreeSector, lastSectorForRoot, luksPassphrase @@ -237,6 +243,12 @@ doReplacePartition( PartitionCoreModule* core, { cDebug() << "doReplacePartition for device" << partition->partitionPath(); + QString defaultFsType = Calamares::JobQueue::instance()-> + globalStorage()-> + value( "defaultFileSystemType" ).toString(); + if ( FileSystem::typeForName( defaultFsType ) == FileSystem::Unknown ) + defaultFsType = "ext4"; + PartitionRole newRoles( partition->roles() ); if ( partition->roles().has( PartitionRole::Extended ) ) newRoles = PartitionRole( PartitionRole::Primary ); @@ -260,7 +272,7 @@ doReplacePartition( PartitionCoreModule* core, partition->parent(), *dev, newRoles, - FileSystem::Ext4, + FileSystem::typeForName( defaultFsType ), partition->firstSector(), partition->lastSector() ); @@ -271,7 +283,7 @@ doReplacePartition( PartitionCoreModule* core, partition->parent(), *dev, newRoles, - FileSystem::Ext4, + FileSystem::typeForName( defaultFsType ), partition->firstSector(), partition->lastSector(), luksPassphrase diff --git a/src/modules/partition/gui/ChoicePage.cpp b/src/modules/partition/gui/ChoicePage.cpp index d1943c17b..8f6c0633c 100644 --- a/src/modules/partition/gui/ChoicePage.cpp +++ b/src/modules/partition/gui/ChoicePage.cpp @@ -85,6 +85,12 @@ ChoicePage::ChoicePage( QWidget* parent ) { setupUi( this ); + m_defaultFsType = Calamares::JobQueue::instance()-> + globalStorage()-> + value( "defaultFileSystemType" ).toString(); + if ( FileSystem::typeForName( m_defaultFsType ) == FileSystem::Unknown ) + m_defaultFsType = "ext4"; + // Set up drives combo m_mainLayout->setDirection( QBoxLayout::TopToBottom ); m_drivesLayout->setDirection( QBoxLayout::LeftToRight ); @@ -574,7 +580,7 @@ ChoicePage::doAlongsideApply() candidate->parent(), *dev, candidate->roles(), - FileSystem::Ext4, + FileSystem::typeForName( m_defaultFsType ), newLastSector + 2, // * oldLastSector ); @@ -585,7 +591,7 @@ ChoicePage::doAlongsideApply() candidate->parent(), *dev, candidate->roles(), - FileSystem::Ext4, + FileSystem::typeForName( m_defaultFsType ), newLastSector + 2, // * oldLastSector, luksPassphrase @@ -649,7 +655,7 @@ ChoicePage::doReplaceSelectedPartition( const QModelIndex& current, newParent, *selectedDevice(), newRoles, - FileSystem::Ext4, + FileSystem::typeForName( m_defaultFsType ), selectedPartition->firstSector(), selectedPartition->lastSector(), m_encryptWidget->passphrase() ); @@ -660,7 +666,7 @@ ChoicePage::doReplaceSelectedPartition( const QModelIndex& current, newParent, *selectedDevice(), newRoles, - FileSystem::Ext4, + FileSystem::typeForName( m_defaultFsType ), selectedPartition->firstSector(), selectedPartition->lastSector() ); } diff --git a/src/modules/partition/gui/ChoicePage.h b/src/modules/partition/gui/ChoicePage.h index bd32e1be1..df10f297e 100644 --- a/src/modules/partition/gui/ChoicePage.h +++ b/src/modules/partition/gui/ChoicePage.h @@ -120,6 +120,8 @@ private: int m_lastSelectedDeviceIndex; + QString m_defaultFsType; + QMutex m_coreMutex; };