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-04-08 22:47:13 +0200
committerAnton Hvornum <anton@hvornum.se>2021-04-08 22:47:13 +0200
commite717a72a10907a02bc485b763f195cddcc68bbe0 (patch)
treec35f970a8113b738b73e43eab43b1e201224ac8d
parentef89010efe3ddd968a5b3413a739366bc534f5a3 (diff)
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.
-rw-r--r--archinstall/lib/installer.py6
-rw-r--r--examples/minimal.py15
2 files changed, 11 insertions, 10 deletions
diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py
index b7fe5e9d..c6734a1a 100644
--- a/archinstall/lib/installer.py
+++ b/archinstall/lib/installer.py
@@ -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])
diff --git a/examples/minimal.py b/examples/minimal.py
index 367574b5..afd64a2e 100644
--- a/examples/minimal.py
+++ b/examples/minimal.py
@@ -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) \ No newline at end of file
+ root.mount('/mnt')
+
+ boot.mount('/mnt/boot')
+ install_on('/mnt') \ No newline at end of file