-
Notifications
You must be signed in to change notification settings - Fork 493
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
New disk management program #1053
base: master
Are you sure you want to change the base?
Conversation
For lack of better words, this would be really amazing and a welcome change/upgrade! |
Output of PartitionMenu.gap_map equated to list_free_space
So it can be expanded/reduced as much as possible some other bug fixes due to this
Output for sectors and bytes is now integer, rest float
On the file it is from start to the end of disk, during processing is from start to end of gap. Reason is that only the first guarantees reproductible generations Code mantains dinamically both values
Help needed ! |
Ability to generate disk_layout file. (and compatibility issues)
I've added the possibility of generating disk_layout files -before i had planned- Was needed in order to check compatibility. |
…on is bootable (still provisional)
Process was in error as ListManager.run was fooled in the index (got the index of the short list and not from the full list)
…k why run was exited
I've decided to make it ready for review and integration, as i fell that; barring that some things i planned are still missing and some checks aren't implemented -even thought of- but have clear points of coding (search for |
…rt position instead of sectors ¿?)
Enhacements to how it handles relative arguments
At least during testing purposes i've added an argument |
…is visually unapealling
I changed the arg to dm_no_add_menu to make the menu interface as the default. I changed the long_form argument to dm_long_form to unify the names
I changed the argument |
…ception if q (quit) is selected. Seems to be the only way to make a meaningful exit
I've added a perhaps controversial feature. When, at |
I think breaking out using exceptions is fine in this case. |
Updated 21th of July
Code is ready to be tested and bugs and new features/checks are kindly accepted. There are slight changes at the UI from what is shown
the
diskmanager
script now fully interfaces withguided
and all its featuresUpdated 8th of april
This is an ongoing effort to change the user interface of the disk management part of Archinstall.
We present it as a PR so you can check it, and propose as many changes/enhancements you feel like. For the time being it is a standalone program (a script called
diskmanager.py
). Expected to run atmaster
with no additional changes.Current version still has a lot of limitations (see below)
executing
sudo python -m archinstall --script diskmanager (--disk_layout json_file) (--long_form)
The arguments:
and all the arguments relevant to archinstall, at least regarding disk management
If a layout is given it will go directly to the main screen
otherwise
If options 2 or 3 are selected, yo will be prompted for disk selection
And
if you select a disk
if you select a partition
if you select empty space, you will be asked for adding a partition, item by item, ending at the general partition screen
Development Phases
We have planned an iterative process, with five phases
Due to debugging needs, we have made this step earlier than expected. Now we generate files in the
LOG_PATH
directory under the namelayout_diskmanager.json
only_hd
)Some new functionality may be left for a second iteration. The target is to be at least as functional as today's implementation
Up to the 3rd phase, there is no guarantee that any result (json file) from this program can be feed to Archinstall. Even at this level known incompatibilities and peculiarities may be present. See below
Up to the 4th phase, the development will be independent from the main application. Some bug solving and enhacements to the general code may be upstreamed, as long they're compatible with the actual implementation (f.i. subvolume handling has already been merged)
The order is merely a planning affair. Since the 5th, i'm working into real execution against disks, so it is the IV phase. And things go well ... Phase II, due to the need of collecting outside documentation has been put a bit on the backburner
As of 30 of March we feel the I phase is up to public display and critique.
As of 5 of April we steeped forward to Phase III. Now usable disk_layout json files are generated, and work (albeit idiosincratically).
No support fordelete partitions
yetTesting
As usual you can test it from my own repository
or better yet, using this PR as a local branch via the commands (those strings between <> are names you can/should update to your need)
Known incompatibilities
size
indisk_layouts
really meansend sector
) our implementations are incompatible, assize
has for us its semantic value, and we -still- don't use anyend
referenceUpdated We now generate a json which should be compatible to the current ones, only space is strictly in sector units
size
other than sectors to simplify debuggingUpdated We have managed to use percentages in the most important place. There are two kinds of percentages, one relative from the start of the partition till the end of the disk (which is the one will be written in the json file), and another strictly for the
add partition
task, which is form the start of the partition till the end of the free gap where it will be located. Translation between both is managed internally. Why? Only the first is transportable between different disks, but is unwieldly for actual space allocation.