Commit Graph

48 Commits

Author SHA1 Message Date
Adriaan de Groot
1efb12e332 libcalamares: rename CalamaresUtilsSystem and Gui 2023-09-11 20:40:10 +02:00
Adriaan de Groot
eb840d4117 libcalamares: ditch namespace CalamaresUtils
- Most CalamaresUtils things go to Calamares
- YAML support to Calamares::YAML and then remove redundant "yaml"
  from the function names.
2023-09-11 20:34:01 +02:00
demmm
07e5a3a113 [partition] start Qt6 work
make kpmcorehelper usable for both kf5 & 6, though no section added yet dealing with set to NOT for Qt6
adjust CalamaresConfig to not be hardcoded to kf5
one more var needed in Variant.h, used in PartitionInfo.cpp
adjust QVariant & QtConcurrent use
2023-09-07 13:03:16 +02:00
abalfoort
48fd148b8a Handle show warning in function 2023-06-25 10:53:19 +02:00
abalfoort
240f18e5bd Show/hide "Boot partition not encrypted" warning 2023-06-23 15:56:02 +02:00
Adriaan de Groot
bca38907e6 [partition] Remove unused widget
The ReplaceWidget was mentioned only in comments,
also unused in 3.2 series.
2022-11-05 22:36:51 +01:00
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
Adriaan de Groot
aedb55ea36 [partition] Require modern KPMCore 2022-03-21 23:44:20 +01:00
Adriaan de Groot
49c56add7d Merge branch 'calamares' into work-3.3 2022-03-21 23:21:54 +01:00
Adriaan de Groot
20c44ff99a [partition] Obtain flag name from KPMCore
- makes the displayed flag name consistent between dialog and
  pop-up and debug-messages.
2022-03-14 16:45:56 +01:00
Adriaan de Groot
f60def5ecc [partition] Don't reinitialize partition layout
Existing code reinitialized the layout, losing whatever
layout was set in the config. Refactor so that you can
access the partition-layout API, and change the default
FS through that -- which is the point of the code block
here in `doAutopartition()`, to look up the currently-
selected default FS.

Inspired by Santosh's work in #1903, #1759.
2022-03-14 11:27:00 +01:00
Adriaan de Groot
92f4ab30ea [partition] Add a note and an icon about unusually-configured partition module 2022-02-21 13:00:40 +01:00
Adriaan de Groot
7129a2239c [partition] Tidy up description in prettyStatus
- the length parameter to diskDescription() is worse than
  useless, because it doesn't say anything about what will
  be done if there's more than one disk.
2022-02-21 12:30:34 +01:00
Adriaan de Groot
f04f0a7e1d [partition] Remove unused text 2022-02-21 12:13:11 +01:00
Adriaan de Groot
99d11f754f [partition] Tighten up determining job labels for description 2022-02-21 12:12:20 +01:00
Adriaan de Groot
d1e4740e70 Merge branch 'calamares' into work-3.3 2022-02-02 14:41:58 +01:00
Adriaan de Groot
cf913b87ff [partition] Apply coding style
This applies the new(er) style to the whole module,
rather than just the files that recently changed.
2022-02-01 16:35:19 +01:00
Adriaan de Groot
24a881ad75 Merge branch 'calamares' into work-3.3 2021-12-24 17:01:08 +01:00
Adriaan de Groot
13700b18c8 [partition] Warnings--
- remove superfluous `break`
- massage types around partition sizes
2021-12-08 00:06:17 +01:00
Adriaan de Groot
605ad788d0 [partition] Fix build against Qt deprecations
setMargin() has been deprecated for a long time, and
Calamares has a utility function for it anyway.
2021-09-30 00:02:43 +02:00
Adriaan de Groot
bcde8b87b1 [partition] Remove unreachable break statements 2021-09-29 23:55:40 +02:00
Adriaan de Groot
90eb0cd844 [partition] Fix build 2021-09-28 18:16:34 +02:00
Adriaan de Groot
a72fc06502 [partition] Fix message (use MiB instead of bytes)
Reported by cfinnberg.

FIXES: #1796
2021-09-28 16:55:35 +02:00
Adriaan de Groot
226419f794 [partition] Translate button texts in warning boxes 2021-09-08 11:15:12 +02:00
Adriaan de Groot
d7767afe1b Merge branch 'extra_qml' into calamares 2021-08-30 23:17:36 +02:00
Adriaan de Groot
da49becac3 [partition] Tailor warning message about ESP
- tell the user all the things that are wrong with the
  (proposed) ESP; a missing one gets all the suggestions.
2021-08-27 17:28:07 +02:00
Adriaan de Groot
b7a3f58df4 [partition] Update waiting widget only if it (still) exists 2021-08-05 14:51:31 +02:00
Adriaan de Groot
b43759c6a5 [partition] Apply coding style 2021-07-12 15:42:54 +02:00
Adriaan de Groot
e8b17b9878 [partition] Factor out the descriptions per-disk 2021-07-12 15:39:45 +02:00
Adriaan de Groot
400a5751f9 [partition] Factor out description of action in status and widget 2021-07-12 15:17:34 +02:00
Adriaan de Groot
535f81ba8a [partition] Factor out gather job-descriptions
Since prettyStatus() and the summaryWidget share a lot of
strings and code, start factoring that out.
2021-07-12 15:02:24 +02:00
Adriaan de Groot
7094c7bf39 [partition] Minor stylistic bits 2021-07-12 14:56:04 +02:00
demmm
6388b41e6c [partition] adding prettyStatus
will be used in summaryq, reading from widgets not an option
section probably better suited for Config.cpp/h, since quite a bit of duplicated code from
createSummaryWidget
2021-07-06 18:59:58 +02:00
Adriaan de Groot
a4fadcd9be [partition] Introduce check for EFI partition type-and-size
Re-use the existing message about partition type and size,
since I don't want to introduce another message with all the
specifics; give a works-always message instead.

The check itself is also straightforward, avoiding all of the
nuances and technically-this-might-work cases: FAT32, 300MiB+.

FIXES #607
2021-07-06 12:54:25 +02:00
Adriaan de Groot
1a542d3afe [partition] Write out type rather than aliasing to T 2021-07-05 13:11:00 +02:00
Adriaan de Groot
67fafa04ac [partition] Move fs-type handling into Config
- the defaultFileSystemType interacts with availableFileSystemTypes
  so set them together.
2021-06-29 14:47:09 +02:00
Adriaan de Groot
5e3a0eda73 [partition] Reduce confused naming 2021-06-29 13:01:21 +02:00
Adriaan de Groot
5f7cfefed7 [partition] Migrate EFI settings-setting to Config object 2021-06-29 11:43:20 +02:00
Adriaan de Groot
c3bc305bb6 [partition] Shuffle Config and ViewStep to top
Modules nearly always have a Config and either a Job or ViewStep
as their "top level" components. Everything else is implementation-
detail. The *partition* module was unusual in that those two
"top level" components were tucked away in subdirectories.

Shuffle them to the top: this makes it more clear that these
two files are there to coordinate the module.
2021-06-29 11:22:47 +02:00
Aurélien Gâteau
693e9229c8 Dispatch files in core/ gui/ and jobs/ dirs 2014-08-08 13:25:56 +02:00
Aurélien Gâteau
8e2b4050e7 clean ups 2014-08-08 12:37:01 +02:00
Aurélien Gâteau
03c5a38b90 Show a summary of the partition changes on the summary page 2014-07-30 14:17:14 +02:00
Aurélien Gâteau
2f774e6c46 Implement PartitionViewStep::jobs() 2014-07-08 15:46:48 +02:00
Teo Mrnjavac
b98c071f94 Prepare for late enqueuing of jobs to the JobQueue. 2014-07-08 14:03:06 +02:00
Aurélien Gâteau
36b3de7107 Enable/disable Next button based on whether we have a root mount point 2014-07-08 14:04:57 +02:00
Aurélien Gâteau
a318ec49fc Enqueue all partition jobs when leaving the PartitionViewStep 2014-07-02 16:06:54 +02:00
Teo Mrnjavac
80789b6143 Added ProgressTreeModel/View, including different kinds of items.
Redone CalamaresWindow without UI file.
Const correctness in ViewStep and plugins.
2014-07-01 17:52:04 +02:00
Aurélien Gâteau
730c3902bf PartitionViewPlugin => PartitionViewStep 2014-06-30 13:24:59 +02:00