Commit Graph

137 Commits

Author SHA1 Message Date
Arnaud Ferraris
dfb5412c57 [partition] Preserve current device when going to manual partitioning
Fixes #1043

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-10 16:28:05 +01:00
Arnaud Ferraris
ba673b17ee [partition] Add configuration option to disable manual partitioning
In some cases where a custom partition layout is used, use of this
layout is mandatory (this can be the case when using a read-only rootfs
which is updated by block-cpying an image file to it).

For these cases, the user must not be able to change the partition
layout, therefore we have to disable manual partitioning.

In order to stay consistent with current behaviour, manual partitioning
is still enabled by default. It will only be disabled if the partition
module's config file contains the corresponding option set to "false".

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-07 17:27:40 +01:00
Arnaud Ferraris
b2bf873ede [partition] Initialize partition layout from config file
In order to keep the partition layout during calamares' execution, we
add a PartitionLayout object instance to PartitionCoreModule. This class
will therefore be used to initialize the PartitionLayout object and
interact with it thoughout the program's execution.

When no partition layout is present in the config file, we initialize
the layout with a single ext4 partition mounted on '/', as it was
previously done.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-07 17:25:39 +01:00
Adriaan de Groot
2998c27545 [partition] Use configured swap choices in choice page 2018-12-04 11:35:35 +01:00
Adriaan de Groot
5945e9584d [partition] Refactor name-to-enum and back for swap choices 2018-12-04 11:15:38 +01:00
Adriaan de Groot
97c9e5bdcd [partition] Debug-log available file-system types 2018-11-06 06:22:02 -05:00
Adriaan de Groot
463b1441a5 [partition] Be more verbose about default file-system settings
- Log the type that is configured
 - Document that this is a delicate setting, case-sensitive and
   dependent on KPMCore.
2018-11-06 05:54:45 -05:00
Adriaan de Groot
c7645af358 [partition] Translate swap-choice-strings to enum
- Handle legacy and modern config, mixed-configs,
 - Translate strings to enum values,
 - Default and warn as appropriate.
 - Doesn't **do** anything with the config, though.
2018-10-11 06:27:39 -04:00
Adriaan de Groot
3d543e9063 [partition] Refactor to use current config-reading methods 2018-10-09 05:46:12 -04:00
Adriaan de Groot
caa4b8ab53 [partition] Document intention of new-style swap config 2018-10-09 05:30:14 -04:00
Adriaan de Groot
7d0451fe69 [partition] Rename Choice -> InstallChoice
- There are more choices to be made (or to come) when partitioning,
   so don't take the most generic term for one enum.
2018-09-12 10:16:48 -04:00
Adriaan de Groot
bf40f3bd23 Merge branch 'master' into requirements-checking 2018-08-10 12:02:57 -04:00
Adriaan de Groot
dd8e53dc22 Copyright: update copyright lines on files touched in 2018
Contributions from:
  Adriaan de Groot <groot@kde.org>
  Gabriel Craciunescu <crazy@frugalware.org>
  AlmAck <gluca86@gmail.com>
  Andrius Štikonas <andrius@stikonas.eu>
  Caio Carvalho <caiojcarvalho@gmail.com>
  Raul Rodrigo Segura <raurodse@gmail.com>
2018-06-15 05:59:11 -04:00
Adriaan de Groot
c7629182e4 Merge branch 'master' into requirements-checking 2018-03-06 17:06:35 +01:00
Adriaan de Groot
a72bdfac52 Merge branch 'master' into requirements-checking 2018-03-06 14:57:17 +01:00
Adriaan de Groot
3315df5df1 [modules] Use new convenience logging methods across the board 2018-02-13 11:07:12 +01:00
Adriaan de Groot
e3b7a2884b [partition] Relax check with UI-level warning message, too 2018-01-09 11:15:30 -05:00
Adriaan de Groot
762ad54344 Documentation: change http links to GitHub to https 2017-12-20 08:39:09 -05:00
Adriaan de Groot
29e532a790 [partition] Insert annoying 3-sec delay
This is intended for testing -- it helps debug where a slow
requirement check blocks the UI.
2017-12-12 07:17:16 -05:00
Adriaan de Groot
4566e53d01 [partition] Delay requirements checking until pmcore is initialized 2017-12-02 12:11:56 -05:00
Adriaan de Groot
ba21a221df [partition] C++ style 2017-12-02 11:43:20 -05:00
Adriaan de Groot
16fbe4dc8c [partition] Sample of requirement checking
- There should be at least device to select, overwise we can't continue.
   The check currently **always** fails, so it blocks installation.
2017-12-02 11:42:56 -05:00
Adriaan de Groot
7e66499f36 Refactor check for EFI system.
The TODO stands, to delegate this to KPMCore.
2017-08-28 05:36:45 -04:00
Adriaan de Groot
3c3c0f99f8 C++ trickery, part two: shorten code 2017-07-04 08:42:14 -04:00
Adriaan de Groot
c0b3f3fe9d Clang: reduce warnings; make enum-switch explicit 2017-06-28 05:49:53 -04:00
Teo Mrnjavac
3aebb79d30 Add optional config value neverCreateSwap in partition module.
CAL-458 #close The feature has landed in master, please test.
2017-02-09 18:08:47 +01:00
Teo Mrnjavac
83b51a5867 Show warning. 2016-11-17 19:03:24 +01:00
Teo Mrnjavac
17fe2d82f4 Oops. 2016-11-17 18:28:58 +01:00
Teo Mrnjavac
a55bef5d2d Warn user about encrypted root with unencrypted /boot. 2016-11-17 18:15:37 +01:00
Teo Mrnjavac
6e7dc0b437 Use the target system's boot name in partitioning summary widget. 2016-10-14 15:27:24 +02:00
Teo Mrnjavac
5796b05fda Allow disabling automated LUKS modes. 2016-09-26 13:14:54 +02:00
Teo Mrnjavac
45f6e6c55b Rearrange asynchronous scan in PartitionCoreModule a bit. 2016-07-19 13:04:00 +02:00
Teo Mrnjavac
2c68802446 Reapply the action choice instead. 2016-06-29 18:46:02 +02:00
Teo Mrnjavac
3940e2b09d Add config option for always showing partition labels. 2016-06-23 10:00:55 +02:00
Teo Mrnjavac
498af8deef Add defaultFileSystemType to settings. 2016-06-10 15:08:24 +02:00
Teo Mrnjavac
c9fac9bc5c Manage PCM loading with QtConcurrent. 2016-05-26 15:35:24 +02:00
Teo Mrnjavac
0666fb4977 Defer PartitionCoreModule initialization so it doesn't block startup. 2016-05-26 15:08:37 +02:00
Teo Mrnjavac
055ff5533e Fixup strings. 2016-03-09 13:34:27 +01:00
Teo Mrnjavac
fb5b48528b Move ESP check to onLeave(). 2016-03-09 13:21:07 +01:00
Teo Mrnjavac
0c7b7ed089 Warn the user if going ahead from manual partitioning without ESP. 2016-03-09 12:54:59 +01:00
Teo Mrnjavac
7a89b53538 Refactor leave event of ChoicePage, add ESP mount point support.
PVS now calls ChoicePage::onLeave, which in turn runs ChoicePage::
doAlongsideApply and/or sets up the ESP mount point based on the UI
state if it's running in EFI mode and the action is Alongside or
Replace.
If setting up under BIOS, Alongside and Replace always install
the bootloader in the MBR of the current device.
2016-02-19 16:33:19 +01:00
Teo Mrnjavac
5372245aed Copyright statements. 2016-02-12 17:19:30 +01:00
Teo Mrnjavac
984bc7ac08 Use it in summary. 2016-02-11 16:00:49 +01:00
Teo Mrnjavac
5f3e5bf372 Consistent config item naming. 2016-02-10 15:41:32 +01:00
Teo Mrnjavac
1ed1841e89 Read the setting from partitions.conf and apply it in PVS. 2016-02-10 15:00:02 +01:00
Teo Mrnjavac
b811f9e261 Fixup strings. 2016-01-25 16:59:05 +01:00
Teo Mrnjavac
983c16d991 Fix up views in summary. 2016-01-13 18:09:20 +01:00
Teo Mrnjavac
26c89e6806 Make sure Alongside operation is applied. 2016-01-13 18:02:03 +01:00
Teo Mrnjavac
b5882a75d1 AlongsidePage is not used any more. 2016-01-13 17:50:05 +01:00
Teo Mrnjavac
86399ece26 Trigger core reset when advancing to manual partitioning. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
071c02086a Update last page status. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
0224811bf6 Move Osprober to PCM and add Osprober roles to PartitionModel. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
1ad6c7e8ac Use new Labels view. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
b65fe87503 PartitionPreview is now PartitionBarsView. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
b31ac92d7e And make it build. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
26ac809d6e Don't instantiate ReplacePage in PVS any more. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
0a72f22a34 WIP: go to next page on next if erase selected. 2015-12-30 17:27:02 +01:00
Teo Mrnjavac
2e9e1782cf Remove EraseDiskPage from PartitionViewStep. 2015-12-30 17:27:02 +01:00
Teo Mrnjavac
9a67f6372c Continue asynchronously loading PartitionViewStep after config load. 2015-12-30 17:27:02 +01:00
Teo Mrnjavac
5f54a56513 PMUtils is now KPMHelpers. Also fixup after PartUtils refactor. 2015-09-18 15:41:07 +02:00
Teo Mrnjavac
7e6c626a0b PluginFactory in Partition module. 2015-09-15 16:48:42 +02:00
Teo Mrnjavac
c2eef9ac30 The Humongous Include Fixage For KPMcore Headers. 2015-09-15 16:48:40 +02:00
Teo Mrnjavac
35f4db9316 Read ensureSuspendToDisk from partition.conf. 2015-06-26 15:48:12 +02:00
Teo Mrnjavac
905835295a Move osprober management out of ctor. 2015-06-05 18:02:13 +02:00
Teo Mrnjavac
cf3359bdb4 Reset ReplacePage when going back from the next one. 2015-04-29 18:16:48 +02:00
Teo Mrnjavac
45d5c5bbde Only show the labels section where it's relevant. 2015-04-24 18:10:12 +02:00
Teo Mrnjavac
d894638f2f Add information about the partitioning action in the Summary page. 2015-04-15 15:36:49 +02:00
Teo Mrnjavac
fefa736501 Use <strong> instead of <b> in all instances. 2015-04-13 14:58:34 +02:00
Teo Mrnjavac
22411d2399 Never show an empty jobs label. 2015-04-13 14:58:34 +02:00
Teo Mrnjavac
69f6a2c73c Formatting in Summary page. 2015-04-13 14:58:34 +02:00
Teo Mrnjavac
bf0296e155 Preliminary implementation of a summary queue for partitioning jobs. 2015-04-13 14:58:33 +02:00
Teo Mrnjavac
75f4f0fa04 Fix issue with splitting being allowed when it shouldn't be.
KPM docs misreport Partition::available to be in sectors, when it's
actually in bytes. Because of this, available space estimates were
completely off and resizing was allowed even when there's no room to
do it. This used to put the resize widget in all sorts of weird,
visually broken states.
CAL-188 #comment Does this still happen with current master?
2015-03-25 12:54:44 +01:00
Kevin Kofler
8c98aeb04a Make efiSystemPartition mount point configurable in partition.conf.
Copy the setting into the global storage. Make the EraseDiskPage in the
partition module and the grub and bootloader modules read it from there.
Do not hardcode /boot as the path anymore.

I set the default path to /boot/efi because I think that's the most
common setting. At least Fedora and Debian use that path. But we can
change the default setting if you think I'm wrong, as long as it remains
configurable.

There is no separate setting for efi_directory_firmware anymore. The EFI
firmwares expect that directory to always be in the "EFI" path in the
EFI System Partition. Distributions using /boot/efi actually have that
directory under /boot/efi/EFI.
2015-02-14 22:53:00 +01:00
Teo Mrnjavac
171248ad4f Add isBackEnabled checks to all ViewSteps. 2015-01-29 22:46:07 +01:00
Teo Mrnjavac
f8f005f53c Store osprober output in GlobalStorage. 2014-12-19 15:03:27 +01:00
Teo Mrnjavac
0da99d0866 Hook up ReplacePage in ChoicePage and PartitionViewStep. 2014-12-19 13:53:05 +01:00
Teo Mrnjavac
faa77d7f5e Use Retranslator in Partitioning module. 2014-11-11 17:09:33 +01:00
Teo Mrnjavac
9c10b49802 Check if the filesystem to be resized actually supports grow/shrink. 2014-10-14 11:48:19 +02:00
Teo Mrnjavac
961eadada4 New UI and logic for Alongside autopartitioning+install. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
08a2ab94e7 Use PMUtils::findPartitionByPath in PVS + fix back button in Alongside. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
e7995ad540 Improve Osprober logic to immediately check if entries are resizable. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
0801756cd1 Stub for Alongside page, and logic to detect if alongside is possible. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
c6eb0721d9 Check for root mount point before going ahead. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
b7f2d5d9d3 Fix page flow issue in partition module. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
ef703b0859 Add page for erase+install operation. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
a98a4bb614 Add ChoicePage to partition module + OS detection with os-prober. 2014-10-07 16:07:27 +02:00
Aurélien Gâteau
693e9229c8 Dispatch files in core/ gui/ and jobs/ dirs 2014-08-08 13:25:56 +02:00