9def0cb66f
This commit adds support for LUKS2 behind a new `partition.conf` key: `luksGeneration`. A bit of context, LUKS2 is the default encryption operating mode since cryptsetup >= 2.1.0 (See [Arch wiki](https://wiki.archlinux.org/title/dm-crypt/Device_encryption#Encryption_options_with_dm-crypt). It is considered more secured and allows additional extensions. It also comes with Argon2id as the default Password Based Key Derivation Function (`--pbkdf` option). So it's important to provide this as an option for Calamares in order to make Linux installs more secure, for those who wish to encrypt their system. This commit was tested on a custom Manjaro installer with: - grub bootloader with the [argon patches](https://aur.archlinux.org/packages/grub-improved-luks2-git). - [rEFInd](https://wiki.archlinux.org/title/REFInd) bootloader with unencrypted `/boot` partition because rEFInd [doesn't support booting from an encrypted volume](https://sourceforge.net/p/refind/discussion/general/thread/400418ac/) **Important consideration for distribution maintainers**: - You need to have compile flag `WITH_KPMCORE4API` on - If you are shipping with grub by default please note that you need to ship it with the Argon patches. Example on Arch Linux: [grub-improved-luks2-git](https://aur.archlinux.org/packages/grub-improved-luks2-git) - If `luksGeneration` is not found in partition.conf, it will default to luks1 - Please test this on your own distribution as this was only tested on Manjaro installer (see above). |
||
---|---|---|
.. | ||
geoip | ||
locale | ||
modulesystem | ||
network | ||
packages | ||
partition | ||
testdata | ||
utils | ||
CalamaresAbout.cpp | ||
CalamaresAbout.h | ||
CalamaresConfig.h.in | ||
CalamaresVersion.h.in | ||
CalamaresVersionX.h.in | ||
CMakeLists.txt | ||
CppJob.cpp | ||
CppJob.h | ||
DllMacro.h | ||
GlobalStorage.cpp | ||
GlobalStorage.h | ||
Job.cpp | ||
Job.h | ||
JobExample.cpp | ||
JobExample.h | ||
JobQueue.cpp | ||
JobQueue.h | ||
ProcessJob.cpp | ||
ProcessJob.h | ||
PythonHelper.cpp | ||
PythonHelper.h | ||
PythonJob.cpp | ||
PythonJob.h | ||
PythonJobApi.cpp | ||
PythonJobApi.h | ||
Settings.cpp | ||
Settings.h | ||
Tests.cpp |