Update kernel select

Move select to separate function
Remove 'continue' option
Add hardened kernel as option
This commit is contained in:
SecondThundeR 2021-04-28 09:41:47 +03:00
parent 932517e20d
commit 6cfaf30718
2 changed files with 26 additions and 8 deletions

View File

@ -506,3 +506,26 @@ def select_driver(options=AVAILABLE_GFX_DRIVERS):
return selected_driver
raise RequirementError("Selecting drivers require a least one profile to be given as an option.")
def select_kernel(options):
"""
Asks the user to select a kernel for system.
:param options: A `list` with kernel options
:type options: list
:return: The string as a selected kernel
:rtype: string
"""
DEFAULT_KERNEL = "linux"
kernels = sorted(list(options))
if kernels:
selected_kernels = generic_select(kernels, "Choose a kernel: ")
if not selected_kernels:
return DEFAULT_KERNEL
return selected_kernels
raise RequirementError("Selecting kernels require a least one kernel to be given as an option.")

View File

@ -2,7 +2,6 @@ import getpass, time, json, os, logging
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.")
@ -195,14 +194,10 @@ 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:
# Ask for preferred kernel:
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'
kernels = ["linux", "linux-lts", "linux-zen", "linux-hardened"]
archinstall.arguments['kernels'] = archinstall.select_kernel(kernels)
# Additional packages (with some light weight error handling for invalid package names)
print("Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed.")