index : archinstall32 | |
Archlinux32 installer | gitolite user |
summaryrefslogtreecommitdiff |
author | Anton Hvornum <anton@hvornum.se> | 2021-10-30 20:52:07 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-30 20:52:07 +0200 |
commit | 85c97b56301e2131ee0606bcce7dffb4456bb580 (patch) | |
tree | 6b47a27bb6286880e497c5e7c7bd2f0d8848c0ec /archinstall/lib/installer.py | |
parent | d25a20a7f28dcd873747c2a2842504c919b6e884 (diff) | |
parent | 2a2239dd03bb64d3410469fd190fed34b252cf53 (diff) |
-rw-r--r-- | archinstall/lib/installer.py | 14 |
diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index 2aac8510..0bdddb2e 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -1,10 +1,14 @@ +import time from .disk import * from .hardware import * from .locale_helpers import verify_keyboard_layout, verify_x11_keyboard_layout +from .disk.helpers import get_mount_info from .mirrors import * from .plugins import plugins from .storage import storage from .user_interaction import * +from .disk.btrfs import create_subvolume, mount_subvolume +from .exceptions import DiskError, ServiceException # Any package that the Installer() is responsible for (optional and the default ones) __packages__ = ["base", "base-devel", "linux-firmware", "linux", "linux-lts", "linux-zen", "linux-hardened"] @@ -139,9 +143,19 @@ class Installer: password = mountpoints[mountpoint]['password'] with luks2(mountpoints[mountpoint]['device_instance'], loopdev, password, auto_unmount=False) as unlocked_device: unlocked_device.mount(f"{self.target}{mountpoint}") + else: 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.") + + if (subvolumes := mountpoints[mountpoint].get('btrfs', {}).get('subvolumes', {})): + for name, location in subvolumes.items(): + create_subvolume(self, location) + mount_subvolume(self, location) + def mount(self, partition, mountpoint, create_mountpoint=True): if create_mountpoint and not os.path.isdir(f'{self.target}{mountpoint}'): os.makedirs(f'{self.target}{mountpoint}') |