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

PyParted and a large rewrite of the underlying partitioning #1604

Merged
merged 185 commits into from
Apr 19, 2023

Conversation

svartkanin
Copy link
Collaborator

@svartkanin svartkanin commented Dec 21, 2022

PyParted and large rewrite of the underlying partitioning

Unfortunately, I didn't get to wrap this up before the end of the year approached and will have to be completed in the next one.

PR prerequisites

There are a fair amount of other PRs open at the moment so I've pulled in my previous ones as I didn't want to sort out the massive amount of merge conflicts that happen otherwise:

New arhcinstall dependencies

As this PR uses external dependencies, they will have to be installed to be able to run archinstall:

flit install --only-deps

this will isntall the dependencies listed in pyproject.toml

dependencies = [
    "pyparted==3.12.0",
    "simple-term-menu==1.5.0",
]

Significant changes

No more separate disk_layout files

There used to be 3 possible configuration files

  • user_configuration.json
  • user_disk_layouts.json
  • user_credentials.json

now, there are only two supported ones

  • user_configuration.json
  • user_credentials.json

This change allowed to remove the separate, sort of redundant, harddrive(s) menu entry completely and only rely on disk layout configuration.

The disk layout configuration has been moved to a data class defined as

class DiskLayoutType(Enum):
	Default = 'default_layout'
	Manual = 'manual_partitioning'
	Pre_mount = 'pre_mounted_config'

@dataclass
class DiskLayoutConfiguration:
	layout_type: DiskLayoutType
	layouts: List[DeviceModification] = field(default_factory=list)

which will be saved into the user_configuration.json file as

"disk_layouts": {
        "layout_type": "default_layout",
        "layouts": [
            {
                "device": "/dev/sdb",
                "partitions": [
                    {
                        "btrfs": [],
                        "flags": [
                            "Boot"
                        ],
                        "fs_type": "fat32",
                        "length": {
                            "sector_size": null,
                            "total_size": null,
                            "unit": "MiB",
                            "value": 512
                        },
                        "mount_options": [],
                        "mountpoint": "/boot",
                        "start": {
                            "sector_size": null,
                            "total_size": null,
                            "unit": "MiB",
                            "value": 1
                        },
                        "status": "create",
                        "type": "primary"
                    },
                    {
                        "btrfs": [],
                        "flags": [],
                        "fs_type": "ext4",
                        "length": {
                            "sector_size": null,
                            "total_size": null,
                            "unit": "GiB",
                            "value": 20
                        },
                        "mount_options": [],
                        "mountpoint": "/",
                        "start": {
                            "sector_size": null,
                            "total_size": null,
                            "unit": "MiB",
                            "value": 513
                        },
                        "status": "create",
                        "type": "primary"
                    },
                    {
                        "btrfs": [],
                        "flags": [],
                        "fs_type": "ext4",
                        "length": {
                            "sector_size": null,
                            "total_size": {
                                "sector_size": null,
                                "total_size": null,
                                "unit": "B",
                                "value": 250148290560.0
                            },
                            "unit": "Percent",
                            "value": 100
                        },
                        "mount_options": [],
                        "mountpoint": "/home",
                        "start": {
                            "sector_size": null,
                            "total_size": null,
                            "unit": "GiB",
                            "value": 20
                        },
                        "status": "create",
                        "type": "primary"
                    }
                ],
                "wipe": true
            }
        ]
    }

This change is at this moment not backwards compatible, theoretically it can be made backwards compatible, but I'd really not do that as it may cause bad behavior as in the new configuration the mode of disk layout configuration (default, manual or pre-mounted) is stored in the config as well. Which means that parsing an old version, we have to guess what it was.

UI changes

No more harddrive selection
image

New sub-menu disk layout selection
image

New device selection menu
image

New manaul partitioning menu (similar to the user configuration menu)
image

Current state

What works at the moment

  • New UI menu should work as expected
  • On clicking Install
    • Partitioning works as expected
    • Formatting works as expected

Still missing

  • The entire installation.py file still has to be updated to work with all the new components

@svartkanin svartkanin force-pushed the dev-pyparted branch 12 times, most recently from 690e3d8 to f025651 Compare April 19, 2023 10:01
@svartkanin
Copy link
Collaborator Author

Alrighty, I finally managed to get the build flow working and also to execute archinstall which should make sure that it starts up without issues.

@Torxed Do you think we could consider merging this so people could test it on master rather and start contributing towards it? As @codefiles rightfully mentioned, it gets more difficult keeping this massive monster as a shadow of master and for people to actually add changes

@Torxed Torxed merged commit 00b0ae7 into archlinux:master Apr 19, 2023
@Torxed
Copy link
Member

Torxed commented Apr 19, 2023

@svartkanin Consider it done! Huge thank you to you and the work you've done with this so far!
(Just for transparency, I have received small donation for this work and if you ever consider creating a donation page on your github or something similar I'd be happy to split it when you put this much work into it.. this goes for anyone really. The sum is really not huge but whatever I can I will do :))

@svartkanin
Copy link
Collaborator Author

Thanks heaps for the patience on this, i know it was a massive change and as with all such changes I'm certain it's not perfect, so I'll keep improving it and making sure it doesn't cause any havoc :)

@hkrutzer
Copy link

hkrutzer commented Apr 19, 2023

I just tried this and got:

Unmounting all partitions: /dev/nvme0n1
Wiping partitions and metadata: /dev/nvme0n1
Creating partitions: /dev/nvme0n1
Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/root/archinstall/archinstall/__main__.py", line 19, in <module>
    archinstall.run_as_a_module()
  File "/root/archinstall/./archinstall/__init__.py", line 265, in run_as_a_module
    importlib.import_module(mod_name)
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/root/archinstall/./archinstall/scripts/guided.py", line 274, in <module>
    fs_handler.perform_filesystem_operations()
  File "/root/archinstall/archinstall/lib/disk/filesystem.py", line 55, in perform_filesystem_operations
    device_handler.partition(mod, partition_table=partition_table)
  File "/root/archinstall/archinstall/lib/disk/device_handler.py", line 469, in partition
    self._perform_partitioning(part_mod, modification.device, disk, requires_delete=requires_delete)
  File "/root/archinstall/archinstall/lib/disk/device_handler.py", line 347, in _perform_partitioning
    raise DiskError(f'Unable to determine new partition uuid: {part_mod.dev_path}')
archinstall.lib.exceptions.DiskError: Unable to determine new partition uuid: /dev/nvme0n1p2

Disk config is:

{
        "config_type": "default_layout",
        "device_modifications": [
            {
                "device": "/dev/nvme0n1",
                "partitions": [
                    {
                        "btrfs": [],
                        "flags": [
                            "Boot"
                        ],
                        "fs_type": "fat32",
                        "length": {
                            "sector_size": null,
                            "total_size": null,
                            "unit": "MiB",
                            "value": 512
                        },
                        "mount_options": [],
                        "mountpoint": "/boot",
                        "obj_id": "3b064b30-ec25-4814-948e-3edf6fd26ca4",
                        "start": {
                            "sector_size": null,
                            "total_size": null,
                            "unit": "MiB",
                            "value": 1
                        },
                        "status": "create",
                        "type": "primary"
                    },
                    {
                        "btrfs": [],
                        "flags": [],
                        "fs_type": "ext4",
                        "length": {
                            "sector_size": null,
                            "total_size": {
                                "sector_size": null,
                                "total_size": null,
                                "unit": "B",
                                "value": 500107862016
                            },
                            "unit": "Percent",
                            "value": 100
                        },
                        "mount_options": [],
                        "mountpoint": "/",
                        "obj_id": "56c07541-60d8-44c2-b77b-760f829f9340",
                        "start": {
                            "sector_size": null,
                            "total_size": null,
                            "unit": "MiB",
                            "value": 513
                        },
                        "status": "create",
                        "type": "primary"
                    }
                ],
                "wipe": true
            }
        ]
    }

I also got a partitioning related error prior to this change and decided to wait for this to be merged. I'm not sure if it was the same error though.

# git describe
v2.5.4-19-g00b0ae7b
Logs
Hardware model detected: To Be Filled By O.E.M. To Be Filled By O.E.M.; UEFI mode: True
Processor model detected: AMD Ryzen 5 5600G with Radeon Graphics
Memory statistics: 25325464 available out of 28619512 total installed
Could not detect virtual system: ['/usr/bin/systemd-detect-virt'] exited with abnormal exit code [1]: b'none\r\n'
System is not running in a VM: ['/usr/bin/systemd-detect-virt'] exited with abnormal exit code [1]: b'none\r\n'
Virtualization detected: None; is VM: None
Graphics devices detected: dict_keys(['Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev c9)'])
Disk states before installing: [
    {
        "children": [],
        "fsavail": 0,
        "fsroots": [
            "."
        ],
        "fstype": "squashfs",
        "fsuse_percentage": "100%",
        "fsver": "4.0",
        "log_sec": 512,
        "mountpoint": "/run/archiso/airootfs",
        "mountpoints": [
            "/run/archiso/airootfs"
        ],
        "name": "loop0",
        "partuuid": null,
        "path": "/dev/loop0",
        "pkname": null,
        "pttype": null,
        "ptuuid": null,
        "rota": false,
        "size": "687 MiB",
        "tran": null,
        "type": "loop",
        "uuid": null
    },
    {
        "children": [],
        "fsavail": null,
        "fsroots": [],
        "fstype": "vfat",
        "fsuse_percentage": null,
        "fsver": "FAT12",
        "log_sec": 512,
        "mountpoint": null,
        "mountpoints": [],
        "name": "sda",
        "partuuid": null,
        "path": "/dev/sda",
        "pkname": null,
        "pttype": null,
        "ptuuid": null,
        "rota": true,
        "size": "60000 MiB",
        "tran": "usb",
        "type": "disk",
        "uuid": "0ED1-8431"
    },
    {
        "children": [],
        "fsavail": null,
        "fsroots": [],
        "fstype": "zfs_member",
        "fsuse_percentage": null,
        "fsver": "5000",
        "log_sec": 512,
        "mountpoint": null,
        "mountpoints": [],
        "name": "nvme0n1",
        "partuuid": null,
        "path": "/dev/nvme0n1",
        "pkname": null,
        "pttype": "gpt",
        "ptuuid": "5cdd6fc6-9be6-4fcb-85ae-3c82c25c43a2",
        "rota": false,
        "size": "476940 MiB",
        "tran": "nvme",
        "type": "disk",
        "uuid": "9964447680867735323"
    },
    {
        "children": [
            {
                "children": [],
                "fsavail": null,
                "fsroots": [],
                "fstype": "ntfs",
                "fsuse_percentage": null,
                "fsver": null,
                "log_sec": 512,
                "mountpoint": null,
                "mountpoints": [],
                "name": "nvme1n1p1",
                "partuuid": "7fd47f73-1fc5-11ec-83df-d8f883c9590e",
                "path": "/dev/nvme1n1p1",
                "pkname": "nvme1n1",
                "pttype": "gpt",
                "ptuuid": "7fd47f72-1fc5-11ec-83df-d8f883c9590e",
                "rota": false,
                "size": "510 MiB",
                "tran": "nvme",
                "type": "part",
                "uuid": "B0A8D087A8D04D8A"
            },
            {
                "children": [],
                "fsavail": null,
                "fsroots": [],
                "fstype": "vfat",
                "fsuse_percentage": null,
                "fsver": "FAT32",
                "log_sec": 512,
                "mountpoint": null,
                "mountpoints": [],
                "name": "nvme1n1p2",
                "partuuid": "a231a28f-3d45-47a8-ae32-9390e3b5749e",
                "path": "/dev/nvme1n1p2",
                "pkname": "nvme1n1",
                "pttype": "gpt",
                "ptuuid": "7fd47f72-1fc5-11ec-83df-d8f883c9590e",
                "rota": false,
                "size": "100 MiB",
                "tran": "nvme",
                "type": "part",
                "uuid": "A61F-0464"
            },
            {
                "children": [],
                "fsavail": null,
                "fsroots": [],
                "fstype": null,
                "fsuse_percentage": null,
                "fsver": null,
                "log_sec": 512,
                "mountpoint": null,
                "mountpoints": [],
                "name": "nvme1n1p3",
                "partuuid": "7fd47f75-1fc5-11ec-83df-d8f883c9590e",
                "path": "/dev/nvme1n1p3",
                "pkname": "nvme1n1",
                "pttype": "gpt",
                "ptuuid": "7fd47f72-1fc5-11ec-83df-d8f883c9590e",
                "rota": false,
                "size": "16 MiB",
                "tran": "nvme",
                "type": "part",
                "uuid": null
            },
            {
                "children": [],
                "fsavail": null,
                "fsroots": [],
                "fstype": "ntfs",
                "fsuse_percentage": null,
                "fsver": null,
                "log_sec": 512,
                "mountpoint": null,
                "mountpoints": [],
                "name": "nvme1n1p4",
                "partuuid": "7fd47f76-1fc5-11ec-83df-d8f883c9590e",
                "path": "/dev/nvme1n1p4",
                "pkname": "nvme1n1",
                "pttype": "gpt",
                "ptuuid": "7fd47f72-1fc5-11ec-83df-d8f883c9590e",
                "rota": false,
                "size": "953242 MiB",
                "tran": "nvme",
                "type": "part",
                "uuid": "66622D4C622D21F3"
            }
        ],
        "fsavail": null,
        "fsroots": [],
        "fstype": null,
        "fsuse_percentage": null,
        "fsver": null,
        "log_sec": 512,
        "mountpoint": null,
        "mountpoints": [],
        "name": "nvme1n1",
        "partuuid": null,
        "path": "/dev/nvme1n1",
        "pkname": null,
        "pttype": "gpt",
        "ptuuid": "7fd47f72-1fc5-11ec-83df-d8f883c9590e",
        "rota": false,
        "size": "953869 MiB",
        "tran": "nvme",
        "type": "disk",
        "uuid": null
    }
]
Testing connectivity to the Arch Linux mirrors ...
Password strength: very weak
Password strength: very weak
Importing profile: /root/archinstall/archinstall/default_profiles/xorg.py
Importing profile: /root/archinstall/archinstall/default_profiles/tailored.py
Importing profile: /root/archinstall/archinstall/default_profiles/server.py
Importing profile: /root/archinstall/archinstall/default_profiles/minimal.py
Importing profile: /root/archinstall/archinstall/default_profiles/desktop.py
Importing profile: /root/archinstall/archinstall/default_profiles/custom.py
Unable to parse file /root/archinstall/archinstall/default_profiles/custom.py: attempted relative import with no known parent package
Importing profile: /root/archinstall/archinstall/default_profiles/__init__.py
Importing profile: /root/archinstall/archinstall/default_profiles/servers/tomcat.py
Importing profile: /root/archinstall/archinstall/default_profiles/servers/sshd.py
Importing profile: /root/archinstall/archinstall/default_profiles/servers/postgresql.py
Importing profile: /root/archinstall/archinstall/default_profiles/servers/nginx.py
Importing profile: /root/archinstall/archinstall/default_profiles/servers/mariadb.py
Importing profile: /root/archinstall/archinstall/default_profiles/servers/lighttpd.py
Importing profile: /root/archinstall/archinstall/default_profiles/servers/httpd.py
Importing profile: /root/archinstall/archinstall/default_profiles/servers/docker.py
Importing profile: /root/archinstall/archinstall/default_profiles/servers/cockpit.py
Importing profile: /root/archinstall/archinstall/default_profiles/servers/__init__.py
Importing profile: /root/archinstall/archinstall/default_profiles/desktops/xfce4.py
Importing profile: /root/archinstall/archinstall/default_profiles/desktops/sway.py
Importing profile: /root/archinstall/archinstall/default_profiles/desktops/qtile.py
Importing profile: /root/archinstall/archinstall/default_profiles/desktops/mate.py
Importing profile: /root/archinstall/archinstall/default_profiles/desktops/lxqt.py
Importing profile: /root/archinstall/archinstall/default_profiles/desktops/kde.py
Importing profile: /root/archinstall/archinstall/default_profiles/desktops/i3.py
Importing profile: /root/archinstall/archinstall/default_profiles/desktops/gnome.py
Importing profile: /root/archinstall/archinstall/default_profiles/desktops/enlightenment.py
Importing profile: /root/archinstall/archinstall/default_profiles/desktops/deepin.py
Importing profile: /root/archinstall/archinstall/default_profiles/desktops/cutefish.py
Importing profile: /root/archinstall/archinstall/default_profiles/desktops/cinnamon.py
Importing profile: /root/archinstall/archinstall/default_profiles/desktops/budgie.py
Importing profile: /root/archinstall/archinstall/default_profiles/desktops/bspwm.py
Importing profile: /root/archinstall/archinstall/default_profiles/desktops/awesome.py
Importing profile: /root/archinstall/archinstall/default_profiles/desktops/__init__.py
Importing profile: /root/archinstall/archinstall/default_profiles/applications/pipewire.py
Importing profile: /root/archinstall/archinstall/default_profiles/applications/__init__.py
 -- Chosen configuration --
{
    "__separator__": null,
    "additional-repositories": [],
    "archinstall-language": "English",
    "audio": "pipewire",
    "bootloader": "Grub",
    "config_version": "2.5.4",
    "debug": false,
    "disk_config": {
        "config_type": "default_layout",
        "device_modifications": [
            {
                "device": "/dev/nvme0n1",
                "partitions": [
                    {
                        "btrfs": [],
                        "flags": [
                            "Boot"
                        ],
                        "fs_type": "fat32",
                        "length": {
                            "sector_size": null,
                            "total_size": null,
                            "unit": "MiB",
                            "value": 512
                        },
                        "mount_options": [],
                        "mountpoint": "/boot",
                        "obj_id": "3b064b30-ec25-4814-948e-3edf6fd26ca4",
                        "start": {
                            "sector_size": null,
                            "total_size": null,
                            "unit": "MiB",
                            "value": 1
                        },
                        "status": "create",
                        "type": "primary"
                    },
                    {
                        "btrfs": [],
                        "flags": [],
                        "fs_type": "ext4",
                        "length": {
                            "sector_size": null,
                            "total_size": {
                                "sector_size": null,
                                "total_size": null,
                                "unit": "B",
                                "value": 500107862016
                            },
                            "unit": "Percent",
                            "value": 100
                        },
                        "mount_options": [],
                        "mountpoint": "/",
                        "obj_id": "56c07541-60d8-44c2-b77b-760f829f9340",
                        "start": {
                            "sector_size": null,
                            "total_size": null,
                            "unit": "MiB",
                            "value": 513
                        },
                        "status": "create",
                        "type": "primary"
                    }
                ],
                "wipe": true
            }
        ]
    },
    "disk_encryption": null,
    "hostname": "x300-linux",
    "kernels": [
        "linux"
    ],
    "keyboard-layout": "us",
    "mirror-region": {},
    "nic": {
        "dhcp": true,
        "dns": null,
        "gateway": null,
        "iface": null,
        "ip": null,
        "type": "iso"
    },
    "no_pkg_lookups": false,
    "ntp": true,
    "offline": false,
    "packages": [
        "neovim",
        "git"
    ],
    "parallel downloads": 0,
    "profile_config": {
        "gfx_driver": "AMD / ATI (open-source)",
        "greeter": "lightdm",
        "profile": {
            "details": [
                "i3-wm"
            ],
            "main": "Desktop"
        }
    },
    "save_config": null,
    "script": "guided",
    "silent": false,
    "swap": true,
    "sys-encoding": "utf-8",
    "sys-language": "en_US",
    "timezone": "Europe/Amsterdam",
    "version": "2.5.4"
}
Unmounting all partitions: /dev/nvme0n1
Wiping partitions and metadata: /dev/nvme0n1
Creating partitions: /dev/nvme0n1
	Type: primary
	Filesystem: fat32
	Geometry: 2048 start sector, 1048576 length
	Type: primary
	Filesystem: ext4
	Geometry: 1050624 start sector, 500107862016 length

@svartkanin
Copy link
Collaborator Author

Thanks for reporting this, I'll have a look.
@hkrutzer would you be able to run a lsblk -J -O after you got the error and paste the output

@svartkanin
Copy link
Collaborator Author

Consider it done! Huge thank you to you and the work yo

@Torxed send you a message on discord instead :)

@hkrutzer
Copy link

I tried to install again with #1754, unfortunately the error remains the same.

lsblk -J -O
{
   "blockdevices": [
      {
         "alignment": 0,
         "disc-aln": 0,
         "dax": false,
         "disc-gran": "4K",
         "disc-max": "4G",
         "disc-zero": false,
         "fsavail": "0",
         "fsroots": [
             "/"
         ],
         "fssize": "688M",
         "fstype": "squashfs",
         "fsused": "688M",
         "fsuse%": "100%",
         "fsver": "4.0",
         "group": "disk",
         "hctl": null,
         "hotplug": false,
         "kname": "loop0",
         "label": null,
         "log-sec": 512,
         "maj:min": "7:0",
         "min-io": 512,
         "mode": "brw-rw----",
         "model": null,
         "name": "loop0",
         "opt-io": 0,
         "owner": "root",
         "partflags": null,
         "partlabel": null,
         "parttype": null,
         "parttypename": null,
         "partuuid": null,
         "path": "/dev/loop0",
         "phy-sec": 512,
         "pkname": null,
         "pttype": null,
         "ptuuid": null,
         "ra": 128,
         "rand": false,
         "rev": null,
         "rm": false,
         "ro": true,
         "rota": false,
         "rq-size": 128,
         "sched": "none",
         "serial": null,
         "size": "687.9M",
         "start": null,
         "state": null,
         "subsystems": "block",
         "mountpoint": "/run/archiso/airootfs",
         "mountpoints": [
             "/run/archiso/airootfs"
         ],
         "tran": null,
         "type": "loop",
         "uuid": null,
         "vendor": null,
         "wsame": "0B",
         "wwn": null,
         "zoned": "none",
         "zone-sz": "0B",
         "zone-wgran": "0B",
         "zone-app": "0B",
         "zone-nr": 0,
         "zone-omax": 0,
         "zone-amax": 0
      },{
         "alignment": 0,
         "disc-aln": 0,
         "dax": false,
         "disc-gran": "0B",
         "disc-max": "0B",
         "disc-zero": false,
         "fsavail": null,
         "fsroots": [
             null
         ],
         "fssize": null,
         "fstype": "vfat",
         "fsused": null,
         "fsuse%": null,
         "fsver": "FAT12",
         "group": "disk",
         "hctl": "0:0:0:0",
         "hotplug": true,
         "kname": "sda",
         "label": "IPXE",
         "log-sec": 512,
         "maj:min": "8:0",
         "min-io": 512,
         "mode": "brw-rw----",
         "model": "USB DISK",
         "name": "sda",
         "opt-io": 0,
         "owner": "root",
         "partflags": null,
         "partlabel": null,
         "parttype": null,
         "parttypename": null,
         "partuuid": null,
         "path": "/dev/sda",
         "phy-sec": 512,
         "pkname": null,
         "pttype": null,
         "ptuuid": null,
         "ra": 128,
         "rand": true,
         "rev": "1100",
         "rm": true,
         "ro": false,
         "rota": true,
         "rq-size": 2,
         "sched": "mq-deadline",
         "serial": "SMI_USB_DISK-0:0",
         "size": "58.6G",
         "start": null,
         "state": "running",
         "subsystems": "block:scsi:usb:pci",
         "mountpoint": null,
         "mountpoints": [
             null
         ],
         "tran": "usb",
         "type": "disk",
         "uuid": "0ED1-8431",
         "vendor": "SMI     ",
         "wsame": "0B",
         "wwn": null,
         "zoned": "none",
         "zone-sz": "0B",
         "zone-wgran": "0B",
         "zone-app": "0B",
         "zone-nr": 0,
         "zone-omax": 0,
         "zone-amax": 0
      },{
         "alignment": 0,
         "disc-aln": 0,
         "dax": false,
         "disc-gran": "512B",
         "disc-max": "2T",
         "disc-zero": false,
         "fsavail": null,
         "fsroots": [
             null
         ],
         "fssize": null,
         "fstype": null,
         "fsused": null,
         "fsuse%": null,
         "fsver": null,
         "group": "disk",
         "hctl": null,
         "hotplug": false,
         "kname": "nvme0n1",
         "label": null,
         "log-sec": 512,
         "maj:min": "259:0",
         "min-io": 512,
         "mode": "brw-rw----",
         "model": "Samsung SSD 970 EVO Plus 500GB",
         "name": "nvme0n1",
         "opt-io": 0,
         "owner": "root",
         "partflags": null,
         "partlabel": null,
         "parttype": null,
         "parttypename": null,
         "partuuid": null,
         "path": "/dev/nvme0n1",
         "phy-sec": 512,
         "pkname": null,
         "pttype": "gpt",
         "ptuuid": "541461d0-77b1-4448-b998-bc71066b8d56",
         "ra": 128,
         "rand": false,
         "rev": null,
         "rm": false,
         "ro": false,
         "rota": false,
         "rq-size": 1023,
         "sched": "none",
         "serial": "S4EVNM0R714202A",
         "size": "465.8G",
         "start": null,
         "state": "live",
         "subsystems": "block:nvme:pci",
         "mountpoint": null,
         "mountpoints": [
             null
         ],
         "tran": "nvme",
         "type": "disk",
         "uuid": null,
         "vendor": null,
         "wsame": "0B",
         "wwn": "eui.0025385711908e09",
         "zoned": "none",
         "zone-sz": "0B",
         "zone-wgran": "0B",
         "zone-app": "0B",
         "zone-nr": 0,
         "zone-omax": 0,
         "zone-amax": 0,
         "children": [
            {
               "alignment": 0,
               "disc-aln": 0,
               "dax": false,
               "disc-gran": "512B",
               "disc-max": "2T",
               "disc-zero": false,
               "fsavail": null,
               "fsroots": [
                   null
               ],
               "fssize": null,
               "fstype": null,
               "fsused": null,
               "fsuse%": null,
               "fsver": null,
               "group": "disk",
               "hctl": null,
               "hotplug": false,
               "kname": "nvme0n1p2",
               "label": null,
               "log-sec": 512,
               "maj:min": "259:1",
               "min-io": 512,
               "mode": "brw-rw----",
               "model": null,
               "name": "nvme0n1p2",
               "opt-io": 0,
               "owner": "root",
               "partflags": null,
               "partlabel": null,
               "parttype": null,
               "parttypename": null,
               "partuuid": null,
               "path": "/dev/nvme0n1p2",
               "phy-sec": 512,
               "pkname": "nvme0n1",
               "pttype": "gpt",
               "ptuuid": "541461d0-77b1-4448-b998-bc71066b8d56",
               "ra": 128,
               "rand": false,
               "rev": null,
               "rm": false,
               "ro": false,
               "rota": false,
               "rq-size": 1023,
               "sched": "none",
               "serial": null,
               "size": "465.3G",
               "start": 1050624,
               "state": null,
               "subsystems": "block:nvme:pci",
               "mountpoint": null,
               "mountpoints": [
                   null
               ],
               "tran": "nvme",
               "type": "part",
               "uuid": null,
               "vendor": null,
               "wsame": "0B",
               "wwn": "eui.0025385711908e09",
               "zoned": "none",
               "zone-sz": "0B",
               "zone-wgran": "0B",
               "zone-app": "0B",
               "zone-nr": 0,
               "zone-omax": 0,
               "zone-amax": 0
            },{
               "alignment": 0,
               "disc-aln": 0,
               "dax": false,
               "disc-gran": "512B",
               "disc-max": "2T",
               "disc-zero": false,
               "fsavail": null,
               "fsroots": [
                   null
               ],
               "fssize": null,
               "fstype": null,
               "fsused": null,
               "fsuse%": null,
               "fsver": null,
               "group": "disk",
               "hctl": null,
               "hotplug": false,
               "kname": "nvme0n1p1",
               "label": null,
               "log-sec": 512,
               "maj:min": "259:8",
               "min-io": 512,
               "mode": "brw-rw----",
               "model": null,
               "name": "nvme0n1p1",
               "opt-io": 0,
               "owner": "root",
               "partflags": null,
               "partlabel": null,
               "parttype": "c12a7328-f81f-11d2-ba4b-00a0c93ec93b",
               "parttypename": "EFI System",
               "partuuid": "9cffaac2-d1c5-4aa4-a705-40361cec8e6e",
               "path": "/dev/nvme0n1p1",
               "phy-sec": 512,
               "pkname": "nvme0n1",
               "pttype": "gpt",
               "ptuuid": "541461d0-77b1-4448-b998-bc71066b8d56",
               "ra": 128,
               "rand": false,
               "rev": null,
               "rm": false,
               "ro": false,
               "rota": false,
               "rq-size": 1023,
               "sched": "none",
               "serial": null,
               "size": "512M",
               "start": 2048,
               "state": null,
               "subsystems": "block:nvme:pci",
               "mountpoint": null,
               "mountpoints": [
                   null
               ],
               "tran": "nvme",
               "type": "part",
               "uuid": null,
               "vendor": null,
               "wsame": "0B",
               "wwn": "eui.0025385711908e09",
               "zoned": "none",
               "zone-sz": "0B",
               "zone-wgran": "0B",
               "zone-app": "0B",
               "zone-nr": 0,
               "zone-omax": 0,
               "zone-amax": 0
            }
         ]
      },{
         "alignment": 0,
         "disc-aln": 0,
         "dax": false,
         "disc-gran": "512B",
         "disc-max": "2T",
         "disc-zero": false,
         "fsavail": null,
         "fsroots": [
             null
         ],
         "fssize": null,
         "fstype": null,
         "fsused": null,
         "fsuse%": null,
         "fsver": null,
         "group": "disk",
         "hctl": null,
         "hotplug": false,
         "kname": "nvme1n1",
         "label": null,
         "log-sec": 512,
         "maj:min": "259:3",
         "min-io": 16384,
         "mode": "brw-rw----",
         "model": "Samsung SSD 980 1TB",
         "name": "nvme1n1",
         "opt-io": 131072,
         "owner": "root",
         "partflags": null,
         "partlabel": null,
         "parttype": null,
         "parttypename": null,
         "partuuid": null,
         "path": "/dev/nvme1n1",
         "phy-sec": 512,
         "pkname": null,
         "pttype": "gpt",
         "ptuuid": "7fd47f72-1fc5-11ec-83df-d8f883c9590e",
         "ra": 256,
         "rand": false,
         "rev": null,
         "rm": false,
         "ro": false,
         "rota": false,
         "rq-size": 1023,
         "sched": "none",
         "serial": "S649NF0R714943L",
         "size": "931.5G",
         "start": null,
         "state": "live",
         "subsystems": "block:nvme:pci",
         "mountpoint": null,
         "mountpoints": [
             null
         ],
         "tran": "nvme",
         "type": "disk",
         "uuid": null,
         "vendor": null,
         "wsame": "0B",
         "wwn": "eui.002538d711b09fe6",
         "zoned": "none",
         "zone-sz": "0B",
         "zone-wgran": "0B",
         "zone-app": "0B",
         "zone-nr": 0,
         "zone-omax": 0,
         "zone-amax": 0,
         "children": [
            {
               "alignment": 0,
               "disc-aln": 0,
               "dax": false,
               "disc-gran": "512B",
               "disc-max": "2T",
               "disc-zero": false,
               "fsavail": null,
               "fsroots": [
                   null
               ],
               "fssize": null,
               "fstype": "ntfs",
               "fsused": null,
               "fsuse%": null,
               "fsver": null,
               "group": "disk",
               "hctl": null,
               "hotplug": false,
               "kname": "nvme1n1p1",
               "label": null,
               "log-sec": 512,
               "maj:min": "259:4",
               "min-io": 16384,
               "mode": "brw-rw----",
               "model": null,
               "name": "nvme1n1p1",
               "opt-io": 131072,
               "owner": "root",
               "partflags": null,
               "partlabel": null,
               "parttype": "de94bba4-06d1-4d40-a16a-bfd50179d6ac",
               "parttypename": "Windows recovery environment",
               "partuuid": "7fd47f73-1fc5-11ec-83df-d8f883c9590e",
               "path": "/dev/nvme1n1p1",
               "phy-sec": 512,
               "pkname": "nvme1n1",
               "pttype": "gpt",
               "ptuuid": "7fd47f72-1fc5-11ec-83df-d8f883c9590e",
               "ra": 256,
               "rand": false,
               "rev": null,
               "rm": false,
               "ro": false,
               "rota": false,
               "rq-size": 1023,
               "sched": "none",
               "serial": null,
               "size": "510.4M",
               "start": 2048,
               "state": null,
               "subsystems": "block:nvme:pci",
               "mountpoint": null,
               "mountpoints": [
                   null
               ],
               "tran": "nvme",
               "type": "part",
               "uuid": "B0A8D087A8D04D8A",
               "vendor": null,
               "wsame": "0B",
               "wwn": "eui.002538d711b09fe6",
               "zoned": "none",
               "zone-sz": "0B",
               "zone-wgran": "0B",
               "zone-app": "0B",
               "zone-nr": 0,
               "zone-omax": 0,
               "zone-amax": 0
            },{
               "alignment": 4096,
               "disc-aln": 0,
               "dax": false,
               "disc-gran": "512B",
               "disc-max": "2T",
               "disc-zero": false,
               "fsavail": null,
               "fsroots": [
                   null
               ],
               "fssize": null,
               "fstype": "vfat",
               "fsused": null,
               "fsuse%": null,
               "fsver": "FAT32",
               "group": "disk",
               "hctl": null,
               "hotplug": false,
               "kname": "nvme1n1p2",
               "label": null,
               "log-sec": 512,
               "maj:min": "259:5",
               "min-io": 16384,
               "mode": "brw-rw----",
               "model": null,
               "name": "nvme1n1p2",
               "opt-io": 131072,
               "owner": "root",
               "partflags": "0x8000000000000000",
               "partlabel": "EFI system partition",
               "parttype": "c12a7328-f81f-11d2-ba4b-00a0c93ec93b",
               "parttypename": "EFI System",
               "partuuid": "a231a28f-3d45-47a8-ae32-9390e3b5749e",
               "path": "/dev/nvme1n1p2",
               "phy-sec": 512,
               "pkname": "nvme1n1",
               "pttype": "gpt",
               "ptuuid": "7fd47f72-1fc5-11ec-83df-d8f883c9590e",
               "ra": 256,
               "rand": false,
               "rev": null,
               "rm": false,
               "ro": false,
               "rota": false,
               "rq-size": 1023,
               "sched": "none",
               "serial": null,
               "size": "100M",
               "start": 1047288,
               "state": null,
               "subsystems": "block:nvme:pci",
               "mountpoint": null,
               "mountpoints": [
                   null
               ],
               "tran": "nvme",
               "type": "part",
               "uuid": "A61F-0464",
               "vendor": null,
               "wsame": "0B",
               "wwn": "eui.002538d711b09fe6",
               "zoned": "none",
               "zone-sz": "0B",
               "zone-wgran": "0B",
               "zone-app": "0B",
               "zone-nr": 0,
               "zone-omax": 0,
               "zone-amax": 0
            },{
               "alignment": 0,
               "disc-aln": 0,
               "dax": false,
               "disc-gran": "512B",
               "disc-max": "2T",
               "disc-zero": false,
               "fsavail": null,
               "fsroots": [
                   null
               ],
               "fssize": null,
               "fstype": null,
               "fsused": null,
               "fsuse%": null,
               "fsver": null,
               "group": "disk",
               "hctl": null,
               "hotplug": false,
               "kname": "nvme1n1p3",
               "label": null,
               "log-sec": 512,
               "maj:min": "259:6",
               "min-io": 16384,
               "mode": "brw-rw----",
               "model": null,
               "name": "nvme1n1p3",
               "opt-io": 131072,
               "owner": "root",
               "partflags": "0x8000000000000000",
               "partlabel": "Microsoft reserved partition",
               "parttype": "e3c9e316-0b5c-4db8-817d-f92df00215ae",
               "parttypename": "Microsoft reserved",
               "partuuid": "7fd47f75-1fc5-11ec-83df-d8f883c9590e",
               "path": "/dev/nvme1n1p3",
               "phy-sec": 512,
               "pkname": "nvme1n1",
               "pttype": "gpt",
               "ptuuid": "7fd47f72-1fc5-11ec-83df-d8f883c9590e",
               "ra": 256,
               "rand": false,
               "rev": null,
               "rm": false,
               "ro": false,
               "rota": false,
               "rq-size": 1023,
               "sched": "none",
               "serial": null,
               "size": "16M",
               "start": 1252096,
               "state": null,
               "subsystems": "block:nvme:pci",
               "mountpoint": null,
               "mountpoints": [
                   null
               ],
               "tran": "nvme",
               "type": "part",
               "uuid": null,
               "vendor": null,
               "wsame": "0B",
               "wwn": "eui.002538d711b09fe6",
               "zoned": "none",
               "zone-sz": "0B",
               "zone-wgran": "0B",
               "zone-app": "0B",
               "zone-nr": 0,
               "zone-omax": 0,
               "zone-amax": 0
            },{
               "alignment": 12288,
               "disc-aln": 0,
               "dax": false,
               "disc-gran": "512B",
               "disc-max": "2T",
               "disc-zero": false,
               "fsavail": null,
               "fsroots": [
                   null
               ],
               "fssize": null,
               "fstype": "ntfs",
               "fsused": null,
               "fsuse%": null,
               "fsver": null,
               "group": "disk",
               "hctl": null,
               "hotplug": false,
               "kname": "nvme1n1p4",
               "label": null,
               "log-sec": 512,
               "maj:min": "259:7",
               "min-io": 16384,
               "mode": "brw-rw----",
               "model": null,
               "name": "nvme1n1p4",
               "opt-io": 131072,
               "owner": "root",
               "partflags": null,
               "partlabel": "Basic data partition",
               "parttype": "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7",
               "parttypename": "Microsoft basic data",
               "partuuid": "7fd47f76-1fc5-11ec-83df-d8f883c9590e",
               "path": "/dev/nvme1n1p4",
               "phy-sec": 512,
               "pkname": "nvme1n1",
               "pttype": "gpt",
               "ptuuid": "7fd47f72-1fc5-11ec-83df-d8f883c9590e",
               "ra": 256,
               "rand": false,
               "rev": null,
               "rm": false,
               "ro": false,
               "rota": false,
               "rq-size": 1023,
               "sched": "none",
               "serial": null,
               "size": "930.9G",
               "start": 1284872,
               "state": null,
               "subsystems": "block:nvme:pci",
               "mountpoint": null,
               "mountpoints": [
                   null
               ],
               "tran": "nvme",
               "type": "part",
               "uuid": "66622D4C622D21F3",
               "vendor": null,
               "wsame": "0B",
               "wwn": "eui.002538d711b09fe6",
               "zoned": "none",
               "zone-sz": "0B",
               "zone-wgran": "0B",
               "zone-app": "0B",
               "zone-nr": 0,
               "zone-omax": 0,
               "zone-amax": 0
            }
         ]
      }
   ]
}

@Torxed
Copy link
Member

Torxed commented Apr 21, 2023

Consider it done! Huge thank you to you and the work yo

@Torxed send you a message on discord instead :)

awesome! I'll be back infront of my computer after today :D

@hkrutzer
Copy link

Made a new issue #1759 as to not turn this comment section into an issue :)

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

Successfully merging this pull request may close these issues.

6 participants