Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Hvornum <anton@hvornum.se>2021-11-16 15:15:21 +0000
committerGitHub <noreply@github.com>2021-11-16 15:15:21 +0000
commitc16872531e4c70343a472276f91fceae57ddc9ac (patch)
tree4c958892f0685fa8c0690b480620fe1f6fe6254d
parentfd2eb742035f99d0c776452506f41532938b5d9e (diff)
parent4adb75c34b8190e6dcd01a59fa67eea46861954e (diff)
Merge PR #714 - Fix empty drives causing issues
* Removed the GPT vs MBR lookup on __enter__ * Removed redundant `boot_partition` lookup during GRUB configuration
-rw-r--r--archinstall/lib/disk/filesystem.py6
-rw-r--r--archinstall/lib/installer.py10
2 files changed, 6 insertions, 10 deletions
diff --git a/archinstall/lib/disk/filesystem.py b/archinstall/lib/disk/filesystem.py
index cf2a286e..2eb1864d 100644
--- a/archinstall/lib/disk/filesystem.py
+++ b/archinstall/lib/disk/filesystem.py
@@ -20,12 +20,6 @@ class Filesystem:
self.mode = mode
def __enter__(self, *args, **kwargs):
- # TODO: partition_table_type is hardcoded to GPT at the moment. This has to be changed.
- if self.mode == self.blockdevice.partition_table_type:
- log(f'Kept partition format {self.mode} for {self.blockdevice}', level=logging.DEBUG)
- else:
- raise DiskError(f'The selected partition table format {self.mode} does not match that of {self.blockdevice}.')
-
return self
def __repr__(self):
diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py
index 3b8f9612..df0ddcdb 100644
--- a/archinstall/lib/installer.py
+++ b/archinstall/lib/installer.py
@@ -7,7 +7,7 @@ import shlex
import pathlib
import subprocess
import glob
-from .disk import get_partitions_in_use, Partition, find_partition_by_mountpoint
+from .disk import get_partitions_in_use, Partition
from .general import SysCommand
from .hardware import has_uefi, is_vm, cpu_vendor
from .locale_helpers import verify_keyboard_layout, verify_x11_keyboard_layout
@@ -174,6 +174,7 @@ class Installer:
mountpoints[partition['mountpoint']] = partition
for mountpoint in sorted(mountpoints.keys()):
+ log(f"Mounting {mountpoint} to {self.target}{mountpoint}", level=logging.INFO)
if mountpoints[mountpoint]['encrypted']:
loopdev = storage.get('ENC_IDENTIFIER', 'ai') + 'loop'
if not (password := mountpoints[mountpoint].get('!password', None)):
@@ -186,8 +187,10 @@ class Installer:
mountpoints[mountpoint]['device_instance'].mount(f"{self.target}{mountpoint}")
time.sleep(1)
- if not get_mount_info(f"{self.target}{mountpoint}", traverse=False):
- raise DiskError(f"Target {self.target}{mountpoint} never got mounted properly.")
+ try:
+ get_mount_info(f"{self.target}{mountpoint}", traverse=False)
+ except DiskError:
+ raise DiskError(f"Target {self.target}{mountpoint} never got mounted properly (unable to get mount information using findmnt).")
if (subvolumes := mountpoints[mountpoint].get('btrfs', {}).get('subvolumes', {})):
for name, location in subvolumes.items():
@@ -619,7 +622,6 @@ class Installer:
self.helper_flags['bootloader'] = True
return True
else:
- boot_partition = find_partition_by_mountpoint(self.partitions, relative_mountpoint=f"/boot")
SysCommand(f'/usr/bin/arch-chroot {self.target} grub-install --target=i386-pc --recheck {boot_partition.path}')
SysCommand(f'/usr/bin/arch-chroot {self.target} grub-mkconfig -o /boot/grub/grub.cfg')
self.helper_flags['bootloader'] = True