Starting implementing #124. The installer will be detatched from block devices and partitions. Instead it will rely on a given destination to pacstrap to. From there, it should be able to do reverse-lookups on the target and base it's information and choises from there. This removes any form of partitioning logic, hardware logic and other things from the initialization of the installer. These things should be explicitly called from the installers functions instead. Such as .set_hostname() instead of passing it as a initiation variable.
This commit is contained in:
parent
ef89010efe
commit
e717a72a10
|
|
@ -34,10 +34,8 @@ class Installer():
|
|||
:type hostname: str, optional
|
||||
|
||||
"""
|
||||
def __init__(self, partition, boot_partition, *, base_packages='base base-devel linux linux-firmware efibootmgr', profile=None, mountpoint='/mnt', hostname='ArchInstalled', logdir=None, logfile=None):
|
||||
self.profile = profile
|
||||
self.hostname = hostname
|
||||
self.mountpoint = mountpoint
|
||||
def __init__(self, target, *, base_packages='base base-devel linux linux-firmware efibootmgr', logdir=None, logfile=None):
|
||||
self.target = target
|
||||
self.init_time = time.strftime('%Y-%m-%d_%H-%M-%S')
|
||||
self.milliseconds = int(str(time.time()).split('.')[1])
|
||||
|
||||
|
|
|
|||
|
|
@ -12,12 +12,13 @@ if archinstall.arguments.get('help', None):
|
|||
archinstall.arguments['harddrive'] = archinstall.select_disk(archinstall.all_disks())
|
||||
archinstall.arguments['harddrive'].keep_partitions = False
|
||||
|
||||
def install_on(root, boot):
|
||||
# We kick off the installer by telling it where the root and boot lives
|
||||
with archinstall.Installer(root, boot_partition=boot, hostname='minimal-arch') as installation:
|
||||
def install_on(mountpoint):
|
||||
# We kick off the installer by telling it where the
|
||||
with archinstall.Installer(mountpoint) as installation:
|
||||
# Strap in the base system, add a boot loader and configure
|
||||
# some other minor details as specified by this profile and user.
|
||||
if installation.minimal_installation():
|
||||
installation.set_hostname('minimal-arch')
|
||||
installation.add_bootloader()
|
||||
|
||||
# Optionally enable networking:
|
||||
|
|
@ -57,8 +58,10 @@ with archinstall.Filesystem(archinstall.arguments['harddrive'], archinstall.GPT)
|
|||
|
||||
with archinstall.luks2(root, 'luksloop', archinstall.arguments.get('!encryption-password', None)) as unlocked_root:
|
||||
unlocked_root.format(root.filesystem)
|
||||
|
||||
install_on(unlocked_root)
|
||||
unlocked_root.mount('/mnt')
|
||||
else:
|
||||
root.format(root.filesystem)
|
||||
install_on(root, boot)
|
||||
root.mount('/mnt')
|
||||
|
||||
boot.mount('/mnt/boot')
|
||||
install_on('/mnt')
|
||||
Loading…
Reference in New Issue