Merge pull request #315 from AggamR/master

selecting a kernel
This commit is contained in:
Anton Hvornum 2021-04-27 10:43:35 +00:00 committed by GitHub
commit 831f5e4eaf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 19 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

@ -230,6 +230,8 @@ def generic_select(options, input_text="Select one of the above by index or abso
1: first
2: second
3: third option
it will return the selected text.
"""
if type(options) == dict: options = list(options)

0
archiso; echo Running Normal file
View File

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.")
@ -179,7 +180,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()
@ -188,6 +188,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):
@ -292,7 +301,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
@ -373,4 +382,4 @@ def perform_installation(mountpoint):
pass
ask_user_questions()
perform_installation_steps()
perform_installation_steps()