calamares/src/libcalamares
Jeremy Attali 9def0cb66f [partition] Add support for LUKS2
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).
2022-09-09 20:41:12 -04:00
..
geoip CI: apply coding style globally again 2022-05-18 12:44:55 +02:00
locale [libcalamares] Factor out the list of translations 2022-07-03 00:05:40 +02:00
modulesystem CI: apply coding style (clang-format 13) 2022-06-27 00:37:15 +02:00
network [libcalamares] Warnings-- for renamed enum value 2021-09-16 11:12:57 +02:00
packages CI: apply coding style globally again 2022-05-18 12:44:55 +02:00
partition [partition] Add support for LUKS2 2022-09-09 20:41:12 -04:00
testdata [libcalamares] Test the translated string with real translations 2021-04-18 13:19:55 +02:00
utils Merge pull request #2009 from calamares/issue-1940 2022-07-18 23:03:22 +02:00
CalamaresAbout.cpp [libcalamares] About box should show extended version if available 2022-06-27 23:48:03 +02:00
CalamaresAbout.h [welcome] Use generated about string 2022-05-23 16:57:51 +02:00
CalamaresConfig.h.in Remove PythonQt support 2021-09-28 23:49:08 +02:00
CalamaresVersion.h.in [libcalamares] Remove translation-languages define 2022-07-02 17:42:02 +02:00
CalamaresVersionX.h.in Changes: pre-release housekeeping 2022-06-26 23:49:14 +02:00
CMakeLists.txt CMake: add .so-version 2022-08-23 15:45:20 +02:00
CppJob.cpp REUSE: Giant boilerplate cleanup 2020-08-26 02:28:38 +02:00
CppJob.h Warnings-- (~T() override) 2020-09-22 22:40:52 +02:00
DllMacro.h REUSE: Giant boilerplate cleanup 2020-08-26 02:28:38 +02:00
GlobalStorage.cpp [libcalamares] Put the units in a nested namespace 2021-03-09 18:21:58 +01:00
GlobalStorage.h [preservefiles] Fix global storage JSON dump 2020-10-03 17:38:20 -05:00
Job.cpp REUSE: Giant boilerplate cleanup 2020-08-26 02:28:38 +02:00
Job.h [libcalamares] More meaningful name for JobResult success 2022-01-17 14:19:28 +01:00
JobExample.cpp REUSE: Giant boilerplate cleanup 2020-08-26 02:28:38 +02:00
JobExample.h Add Q_OBJECT macro where it's missing 2021-09-08 13:23:20 +02:00
JobQueue.cpp CI: apply coding style globally again 2022-05-18 12:44:55 +02:00
JobQueue.h [libcalamares] Introduce a convenience getter for GlobalStorage 2021-03-23 12:07:11 +01:00
ProcessJob.cpp [libcalamares] Clean up QProcess includes 2021-11-02 23:46:26 +01:00
ProcessJob.h Warnings-- (~T() override) 2020-09-22 22:49:30 +02:00
PythonHelper.cpp [libcalamares] Warnings-- on switch() 2021-12-07 15:42:14 +01:00
PythonHelper.h CI: apply coding style (clang-format 13) 2022-06-27 00:37:15 +02:00
PythonJob.cpp [libcalamares] Hook up Python's error() to error, rather than warning 2022-01-17 13:47:47 +01:00
PythonJob.h [libcalamares] Add a pre-script for PythonJobs 2021-06-15 21:50:59 +02:00
PythonJobApi.cpp Merge branch '3.2.x-stable' into calamares 2022-06-19 16:05:17 +02:00
PythonJobApi.h CI: apply coding style (clang-format 13) 2022-06-27 00:37:15 +02:00
Settings.cpp CI: apply coding style globally again 2022-05-18 12:44:55 +02:00
Settings.h [libcalamares] Move const to a better spot 2021-10-29 11:25:13 +02:00
Tests.cpp CI: apply coding style globally again 2022-05-18 12:44:55 +02:00