niemeyer
niemeyer copied to clipboard
[Discussion] Hard drivers / partitioning / boot entries
The following work should cover at least these scenarios:
- A user with an empty driver, installing Linux for the first time, creating partitions and selecting mount points.
- A user with other oses installed, wanting to open space (delete/resize/move partition) and install arch.
- A user who wants to remove an already installed Linux setup and replace it.
- Someone who has an MBR or GPT disk and want to convert its disk to the other one before installing.
- Someone searching for security and wanting cryptographic setups.
- UEFI scenarios where /boot can be a new EFI partition or share the same used by another os. Also, I've seen laptops who only support NTFS as EFI partitions, and when reusing the user must be notified about the empty space needed for setup.
- An advanced user who likes to use ZFS or another volume-based filesystem.
So, I thought about a multiple-steps wizard presenting these steps:
- The users first have to select if he'll be using ZFS, LUKS or none.
- On this screen, the user is presented with all partitions/volumes on all disks, picking which ones he wants to remove.
- On this screen, the user is requested about converting its disks' partitions tables (MBR->GPT, GPT-MBR, Nothing->{MBR, GPT})
- The user may shrink partitions/vol
- The user may move partitions/vol
- The user may grow partitions/vol
- The user may create new partitions (here we can ask him about using dm-crypt or volumes)
- The user may set partitions types and flags
- The user may format partitions (mkfs)
- The user can pick mount points
NOTE: The ZFS work can be delayed, but it's better to count it in when deciding how to do the implementation, making it easy to be added later...
By #12 it looks like this:
In #12 a minimal interface was added, and applying the changes is already possible, but It's far from perfect yet...
I would like to see support for ZFS, BtrFS and StratisD somehow. Maybe LUKS too, but no clue how to interface that well...