index : archinstall32 | |
Archlinux32 installer | gitolite user |
summaryrefslogtreecommitdiff |
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | archinstall/lib/installer.py | 5 | ||||
-rw-r--r-- | archinstall/lib/user_interaction.py | 8 | ||||
-rw-r--r-- | examples/guided.py | 15 |
@@ -21,3 +21,5 @@ SAFETY_LOCK **/**.target **/**.qcow2 **/test.py +**/archiso +/guided.py diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index f6c891a3..e2762603 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -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 diff --git a/archinstall/lib/user_interaction.py b/archinstall/lib/user_interaction.py index bd9d432d..91ed5ed9 100644 --- a/archinstall/lib/user_interaction.py +++ b/archinstall/lib/user_interaction.py @@ -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` diff --git a/examples/guided.py b/examples/guided.py index d5b3c41a..43aaa788 100644 --- a/examples/guided.py +++ b/examples/guided.py @@ -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()
\ No newline at end of file +perform_installation_steps() |