index : archinstall32 | |
Archlinux32 installer | gitolite user |
summaryrefslogtreecommitdiff |
author | Anton Hvornum <anton@hvornum.se> | 2021-06-11 17:22:20 +0200 |
---|---|---|
committer | Anton Hvornum <anton@hvornum.se> | 2021-06-11 17:22:20 +0200 |
commit | 24476ac1f696c882fb2f741cb8c5fa858f786f46 (patch) | |
tree | d380ff03b75fe09f27b750c19937cf0843c4a8c2 /archinstall | |
parent | 0a8c061ab405e244a187b4615654ecca2e538156 (diff) |
-rw-r--r-- | archinstall/lib/disk.py | 11 | ||||
-rw-r--r-- | archinstall/lib/installer.py | 5 |
diff --git a/archinstall/lib/disk.py b/archinstall/lib/disk.py index 8e9d0d3f..7a7fce5e 100644 --- a/archinstall/lib/disk.py +++ b/archinstall/lib/disk.py @@ -636,7 +636,7 @@ class Filesystem: :param string: A raw string passed to /usr/bin/parted -s <string> :type string: str """ - return self.raw_parted(string).exit_code + return self.raw_parted(string).exit_code == 0 def use_entire_disk(self, root_filesystem_type='ext4') -> Partition: # TODO: Implement this with declarative profiles instead. @@ -652,20 +652,22 @@ class Filesystem: DiskError("Too many partitions on disk, MBR disks can only have 3 parimary partitions") if partition_format: - partitioning = self.parted(f'{self.blockdevice.device} mkpart {partition_type} {partition_format} {start} {end}') == 0 + parted_string = f'{self.blockdevice.device} mkpart {partition_type} {partition_format} {start} {end}' else: - partitioning = self.parted(f'{self.blockdevice.device} mkpart {partition_type} {start} {end}') == 0 + parted_string = f'{self.blockdevice.device} mkpart {partition_type} {start} {end}' - if partitioning: + if self.parted(parted_string): start_wait = time.time() while previous_partition_uuids == {partition.uuid for partition in self.blockdevice.partitions.values()}: if time.time() - start_wait > 10: raise DiskError(f"New partition never showed up after adding new partition on {self} (timeout 10 seconds).") time.sleep(0.025) + time.sleep(0.5) # Let the kernel catch up with quick block devices (nvme for instance) return self.blockdevice.get_partition(uuid=(previous_partition_uuids ^ {partition.uuid for partition in self.blockdevice.partitions.values()}).pop()) + def set_name(self, partition: int, name: str): return self.parted(f'{self.blockdevice.device} name {partition + 1} "{name}"') == 0 @@ -673,6 +675,7 @@ class Filesystem: return self.parted(f'{self.blockdevice.device} set {partition + 1} {string}') == 0 def parted_mklabel(self, device: str, disk_label: str): + log(f"Creating a new partition labling on {device}", level=logging.INFO, fg="yellow") # Try to unmount devices before attempting to run mklabel try: SysCommand(f'bash -c "umount {device}?"') diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index b62b9595..91c55b33 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -57,7 +57,6 @@ class Installer: self.post_base_install = [] storage['session'] = self - self.partitions = get_partitions_in_use(self.target) self.MODULES = [] self.BINARIES = [] @@ -108,6 +107,10 @@ class Installer: self.sync_log_to_install_medium() return False + @property + def partitions(self): + return get_partitions_in_use(self.target) + def sync_log_to_install_medium(self): # Copy over the install log (if there is one) to the install medium if # at least the base has been strapped in, otherwise we won't have a filesystem/structure to copy to. |