Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] FS/Partition layout profiles? #901

Closed
polarathene opened this issue Feb 4, 2018 · 11 comments
Closed

[Feature Request] FS/Partition layout profiles? #901

polarathene opened this issue Feb 4, 2018 · 11 comments

Comments

@polarathene
Copy link

I quite like the default one that openSUSE offers with their installer. BTRFS for the system with a rather thought out subvolume layout and XFS for /home. Going with the default offering also sets up Snapper integration which was another perk.

It'd be nice if Calamares could have similar "presets" or suggested layout configurations. The distro maintainer could offer these(or just a default one) as a profile, or a user could import/export a layout via Calamares to use with the installer in future installations.


I'm not sure what the current situation is for silent/unattended installations, being able to provide profiles for that use-case would also be nice, with constraints like min/max partition size and a % value.

@abucodonosor
Copy link
Contributor

dupe #725

@abucodonosor
Copy link
Contributor

also #525

@polarathene
Copy link
Author

@abucodonosor ? How is this a dupe of #725? That issue requests /home to be included in an auto partitioner.

Have I misunderstood and missed something about Calamares that allows a user or distro maintainer to have Calamares use or default to a custom partition scheme/layout? Are you familiar with the openSUSE installer and how it presents a rather advanced partition layout of BTRFS with many subvolumes and settings along with the XFS /home?

2ndly does Calamares presently support unattended/silent installs that can define said layouts to use arbitary sizes with min/max constraints and % values instead of only absolute?

#525 for Snapper mention is fine. But I disagree that this issue is a dupe of #725, it's a far more involved request.

@polarathene
Copy link
Author

I understand if the feature requested however is not something Calamares plans to support. Perhaps it is something that a third party can contribute as a module(assuming that's possible), if so and that doesn't warrant keeping this issue open for visibility, that's fine.

@abucodonosor
Copy link
Contributor

@polarathene

#725 tells about /home only but is about having some sort layout/schemas.

right now only BTRFS does /home .. also see #815 , #807 , #586

@polarathene
Copy link
Author

polarathene commented Feb 6, 2018

None of the linked issues are related to what this one requests.

I kind of get where you're coming from with #725, as it mentions to add it as a possibility/option. It is rather specific though where as this issue asks for generic partition layout/schema support with import/export(#725 does not mention anything like that, closing this issue therefore will ignore such a request?) as well as for the distro maintainer to be able to set the default schema for auto partition, similar to what openSUSE installer offers.

None of the linked issues refer to the request for min/max/% support for said FS/partition presets when doing unattended/silent installs. Closing this issue also buries that request(should I create a separate request for it?)

From the linked issues I am of the understanding that BTRFS support isn't too good/flexible with Calamares right now(I haven't personally tried it yet). It's not clear how much that will improve since the contributors for Calamares are insisting that any FS options be as generic as possible, for some reason whatever dropdowns/flags cannot be filtered lists based on the partition FS type?

@adriaandegroot
Copy link
Contributor

Reopening as "interesting feature request". The "auto partitioner" of Calamares applies a single, hardcoded scheme to the disk: / and /home . It would be interesting to have that defined through a JSON document, which basically subsumes settings in the partition module like defaultFileSystemType. Getting it right, in the different use cases (new system, existing system; replace alongside or manual), will probably be tricky, which is why I'd love to go over this with a designer and a filesystem person as part of the design (see also all the LVM issues: there's some serious work figuring out what-do-we-actually-want before coding starts).

@a-wai
Copy link
Contributor

a-wai commented Dec 19, 2018

Hi,

I'm interested in this feature and might be able to implement it. Just to make sure I'm getting things right, here's what I have in mind for a first version:

  • add this feature to the existing partition module
  • use the partition.conf file to store a partition scheme
  • partition entries would be declared the same way debos does, ie a list where each entry is a partition and has the following fields: name, filesystem, mountPoint, start & end (expressed as a fixed size or a % of the available disk space)
  • the partition scheme would be applied to the whole disk, erasing any existing data (remember I'm considering a 1st version here)

Once this is working & merged, I could iterate more and add the following features:

  • give the user the choice to use only the unused disk space (and use the manual partitioner to make room on the disk if necessary)
  • support LVM & encrypted volumes
  • allow the selection between several partition schemes

Please let me know if this would be alright or if I'm missing anything, any comment will be appreciated.

@polarathene
Copy link
Author

the partition scheme would be applied to the whole disk, erasing any existing data

Just to clarify the partition layout/profile would be presented like existing default layout/scheme is to the user for confirmation?

Being able to modify it after switching to it is also nice. openSUSE can provide a nice BTRFS default(with additional integration of Snapper or Transactional RO root) with XFS for /home, which you can then tweak to preference afterwards.

@a-wai
Copy link
Contributor

a-wai commented Dec 21, 2018

Just to clarify the partition layout/profile would be presented like existing default layout/scheme is to the user for confirmation?

Absolutely, this will still be visible to the user, so that he can decide whether to proceed with this or not.
I have a working PoC if you want to check it out. In this code, the layout is only applied when selecting "Erase disk" in the partition screen.
(CAUTION: this is only a quick & dirty hack I did to understand the way things work and how this could be implemented, it hasn't been thoroughly tested and might break things, and of course, it needs to be fully & properly rewritten for better code quality)

Being able to modify it after switching to it is also nice. openSUSE can provide a nice BTRFS default(with additional integration of Snapper or Transactional RO root) with XFS for /home, which you can then tweak to preference afterwards.

That would be a nice addition yes, but not for the 1st version, as it would require chaining the "Erase" case with the "Manual partitioning" case, which will likely need huge modifications to the module.

@abucodonosor
Copy link
Contributor

Closing, #1068

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants