index : archinstall32 | |
Archlinux32 installer | gitolite user |
summaryrefslogtreecommitdiff |
author | codefiles <11915375+codefiles@users.noreply.github.com> | 2023-09-26 04:57:45 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-26 10:57:45 +0200 |
commit | 717a22371fd25aac10d1f435b65842e800fd9d7e (patch) | |
tree | b1da060c4525f0d0352359a0f1031c3cd6212769 | |
parent | c427391543d464856c8153d17ddeef2c693fcf95 (diff) |
-rw-r--r-- | archinstall/lib/disk/device_handler.py | 4 | ||||
-rw-r--r-- | archinstall/lib/disk/device_model.py | 22 | ||||
-rw-r--r-- | archinstall/lib/installer.py | 6 | ||||
-rw-r--r-- | archinstall/lib/interactions/disk_conf.py | 1 | ||||
-rw-r--r-- | examples/auto_discovery_mounted.py | 1 |
diff --git a/archinstall/lib/disk/device_handler.py b/archinstall/lib/disk/device_handler.py index 9646103f..4cb35c03 100644 --- a/archinstall/lib/disk/device_handler.py +++ b/archinstall/lib/disk/device_handler.py @@ -594,7 +594,9 @@ class DeviceHandler(object): if is_subpath(mountpoint, base_mountpoint): path = Path(part_info.disk.device.path) part_mods.setdefault(path, []) - part_mods[path].append(PartitionModification.from_existing_partition(part_info)) + part_mod = PartitionModification.from_existing_partition(part_info) + part_mod.mountpoint = mountpoint.root / mountpoint.relative_to(base_mountpoint) + part_mods[path].append(part_mod) break device_mods: List[DeviceModification] = [] diff --git a/archinstall/lib/disk/device_model.py b/archinstall/lib/disk/device_model.py index 08861a63..b1f012f7 100644 --- a/archinstall/lib/disk/device_model.py +++ b/archinstall/lib/disk/device_model.py @@ -42,12 +42,6 @@ class DiskLayoutType(Enum): class DiskLayoutConfiguration: config_type: DiskLayoutType device_modifications: List[DeviceModification] = field(default_factory=list) - # used for pre-mounted config - relative_mountpoint: Optional[Path] = None - - def __post_init__(self): - if self.config_type == DiskLayoutType.Pre_mount and self.relative_mountpoint is None: - raise ValueError('Must set a relative mountpoint when layout type is pre-mount"') def json(self) -> Dict[str, Any]: return { @@ -487,10 +481,8 @@ class SubvolumeModification: raise ValueError('Mountpoint is not specified') - def is_root(self, relative_mountpoint: Optional[Path] = None) -> bool: + def is_root(self) -> bool: if self.mountpoint: - if relative_mountpoint is not None: - return self.mountpoint.relative_to(relative_mountpoint) == Path('.') return self.mountpoint == Path('/') return False @@ -742,14 +734,12 @@ class PartitionModification: """ return any(set(self.flags) & set(self._boot_indicator_flags)) - def is_root(self, relative_mountpoint: Optional[Path] = None) -> bool: - if relative_mountpoint is not None and self.mountpoint is not None: - return self.mountpoint.relative_to(relative_mountpoint) == Path('.') - elif self.mountpoint is not None: + def is_root(self) -> bool: + if self.mountpoint is not None: return Path('/') == self.mountpoint else: for subvol in self.btrfs_subvols: - if subvol.is_root(relative_mountpoint): + if subvol.is_root(): return True return False @@ -861,8 +851,8 @@ class DeviceModification: filtered = filter(lambda x: x.is_boot() and x.mountpoint, self.partitions) return next(filtered, None) - def get_root_partition(self, relative_path: Optional[Path]) -> Optional[PartitionModification]: - filtered = filter(lambda x: x.is_root(relative_path), self.partitions) + def get_root_partition(self) -> Optional[PartitionModification]: + filtered = filter(lambda x: x.is_root(), self.partitions) return next(filtered, None) def json(self) -> Dict[str, Any]: diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index 8a0acf64..f8f59cc0 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -716,7 +716,7 @@ class Installer: def _get_root_partition(self) -> Optional[disk.PartitionModification]: for mod in self._disk_config.device_modifications: - if root := mod.get_root_partition(self._disk_config.relative_mountpoint): + if root := mod.get_root_partition(): return root return None @@ -903,8 +903,8 @@ class Installer: add_options = [ '--target=x86_64-efi', - f'--efi-directory={efi_partition.mountpoint}' - f'--boot-directory={boot_partition.mountpoint if boot_partition else "/boot"}' + f'--efi-directory={efi_partition.mountpoint}', + f'--boot-directory={boot_partition.mountpoint if boot_partition else "/boot"}', '--bootloader-id=GRUB', '--removable' ] diff --git a/archinstall/lib/interactions/disk_conf.py b/archinstall/lib/interactions/disk_conf.py index 8542ab75..253a623d 100644 --- a/archinstall/lib/interactions/disk_conf.py +++ b/archinstall/lib/interactions/disk_conf.py @@ -139,7 +139,6 @@ def select_disk_config( return disk.DiskLayoutConfiguration( config_type=disk.DiskLayoutType.Pre_mount, - relative_mountpoint=path, device_modifications=mods ) diff --git a/examples/auto_discovery_mounted.py b/examples/auto_discovery_mounted.py index 0bd30cd1..e3cb80b7 100644 --- a/examples/auto_discovery_mounted.py +++ b/examples/auto_discovery_mounted.py @@ -9,5 +9,4 @@ mods = disk.device_handler.detect_pre_mounted_mods(root_mount_dir) disk_config = disk.DiskLayoutConfiguration( disk.DiskLayoutType.Pre_mount, device_modifications=mods, - relative_mountpoint=Path('/mnt/archinstall') ) |