Pulled in latest changes from torxed-v2.2.0

This commit is contained in:
Anton Hvornum 2021-04-27 13:33:52 +02:00
commit 5852582bbf
4 changed files with 25 additions and 5 deletions

2
.gitignore vendored
View File

@ -21,3 +21,5 @@ SAFETY_LOCK
**/**.target
**/**.qcow2
**/test.py
**/archiso
/guided.py

View File

@ -39,7 +39,8 @@ class Installer():
:type hostname: str, optional
"""
def __init__(self, target, *, base_packages='base base-devel linux linux-firmware'):
def __init__(self, target, *, base_packages='base base-devel linux linux-firmware', kernels='linux'):
base_packages = base_packages + kernels.replace(',', ' ')
self.target = target
self.init_time = time.strftime('%Y-%m-%d_%H-%M-%S')
self.milliseconds = int(str(time.time()).split('.')[1])
@ -342,7 +343,7 @@ class Installer():
mkinit.write(f"BINARIES=({' '.join(BINARIES)})\n")
mkinit.write(f"FILES=({' '.join(FILES)})\n")
mkinit.write(f"HOOKS=({' '.join(HOOKS)})\n")
sys_command(f'/usr/bin/arch-chroot {self.target} mkinitcpio -p linux')
sys_command(f'/usr/bin/arch-chroot {self.target} mkinitcpio -P')
self.helper_flags['base'] = True

View File

@ -259,12 +259,20 @@ def generic_select(options, input_text="Select one of the above by index or abso
other than the options and their indexes. As an example:
generic_select(["first", "second", "third option"])
<<<<<<< HEAD
0: first
1: second
2: third option
When the user has entered the option correctly,
this function returns an item from list, a string, or None
=======
1: first
2: second
3: third option
it will return the selected text.
>>>>>>> 831f5e4eaf66f6f1a2aed04932af064ce9314dd4
"""
# Checking if options are different from `list` or `dict`

View File

@ -2,6 +2,7 @@ import getpass, time, json, os
import archinstall
from archinstall.lib.hardware import hasUEFI
from archinstall.lib.profiles import Profile
from archinstall.lib.user_interaction import generic_select
if archinstall.arguments.get('help'):
print("See `man archinstall` for help.")
@ -186,7 +187,6 @@ def ask_user_questions():
# Ask about audio server selection if one is not already set
if not archinstall.arguments.get('audio', None):
# only ask for audio server selection on a desktop profile
if str(archinstall.arguments['profile']) == 'Profile(desktop)':
archinstall.arguments['audio'] = archinstall.ask_for_audio_selection()
@ -195,6 +195,15 @@ def ask_user_questions():
# we will not try to remove packages post-installation to not have audio, as that may cause multiple issues
archinstall.arguments['audio'] = None
# Ask what kernel user wants:
if not archinstall.arguments.get("kernels", None):
archinstall.log(f"Here you can choose which kernel to use, leave blank for default which is 'linux'.")
if (kernel := generic_select(["linux", "linux-lts", "linux-zen", "continue"], "choose a kernel:")):
archinstall.arguments['kernels'] = kernel
else:
archinstall.arguments['kernels'] = 'linux'
# Additional packages (with some light weight error handling for invalid package names)
while True:
if not archinstall.arguments.get('packages', None):
@ -299,7 +308,7 @@ def perform_installation(mountpoint):
Only requirement is that the block devices are
formatted and setup prior to entering this function.
"""
with archinstall.Installer(mountpoint) as installation:
with archinstall.Installer(mountpoint, kernels=archinstall.arguments.get('kernels', 'linux')) as installation:
## if len(mirrors):
# Certain services might be running that affects the system during installation.
# Currently, only one such service is "reflector.service" which updates /etc/pacman.d/mirrorlist
@ -380,4 +389,4 @@ def perform_installation(mountpoint):
pass
ask_user_questions()
perform_installation_steps()
perform_installation_steps()