Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Hvornum <anton.feeds@gmail.com>2021-04-27 13:33:52 +0200
committerAnton Hvornum <anton.feeds@gmail.com>2021-04-27 13:33:52 +0200
commit5852582bbf3e754c957fb839dc8a9b0f6ed70a47 (patch)
treec82e22700860df597721dc40c22c95656afe1d3f
parent85e4a85cdb1cebbf4fb8c9ad59c7531e6be06ed5 (diff)
parent831f5e4eaf66f6f1a2aed04932af064ce9314dd4 (diff)
Pulled in latest changes from torxed-v2.2.0
-rw-r--r--.gitignore2
-rw-r--r--archinstall/lib/installer.py5
-rw-r--r--archinstall/lib/user_interaction.py8
-rw-r--r--examples/guided.py15
4 files changed, 25 insertions, 5 deletions
diff --git a/.gitignore b/.gitignore
index dc75bed8..a21815d6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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()