mirror of
https://github.com/parchlinux/calamares.git
synced 2025-06-26 08:58:22 -04:00
Get luksUuid instead of innerFs UUID.
This commit is contained in:
parent
e1ee6e181a
commit
cd304b7a6f
1 changed files with 18 additions and 0 deletions
|
@ -37,6 +37,7 @@
|
|||
#include <QDebug>
|
||||
#include <QDir>
|
||||
#include <QFileInfo>
|
||||
#include <QProcess>
|
||||
|
||||
typedef QHash<QString, QString> UuidForPartitionHash;
|
||||
|
||||
|
@ -62,6 +63,22 @@ findPartitionUuids( QList < Device* > devices )
|
|||
return hash;
|
||||
}
|
||||
|
||||
|
||||
static QString
|
||||
getLuksUuid( const QString& path )
|
||||
{
|
||||
QProcess process;
|
||||
process.setProgram( "cryptsetup" );
|
||||
process.setArguments( { "luksUUID", path } );
|
||||
process.start();
|
||||
process.waitForFinished();
|
||||
if ( process.exitStatus() != QProcess::NormalExit || process.exitCode() )
|
||||
return QString();
|
||||
QString uuid = QString::fromLocal8Bit( process.readAllStandardOutput() ).trimmed();
|
||||
return uuid;
|
||||
}
|
||||
|
||||
|
||||
static QVariant
|
||||
mapForPartition( Partition* partition, const QString& uuid )
|
||||
{
|
||||
|
@ -82,6 +99,7 @@ mapForPartition( Partition* partition, const QString& uuid )
|
|||
if ( luksFs )
|
||||
{
|
||||
map[ "luksMapperName" ] = luksFs->suggestedMapperName( partition->partitionPath() );
|
||||
map[ "luksUuid" ] = getLuksUuid( partition->partitionPath() );
|
||||
cDebug() << "luksMapperName:" << map[ "luksMapperName" ];
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue