From 2afc31715ef70635c5580500956fb32f76b734b6 Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Mon, 17 May 2021 21:27:31 +0200 Subject: Adding a pacman --overwrite declaration for ucodes. --- archinstall/lib/installer.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index aa2ea920..4b1cda7b 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -130,13 +130,23 @@ class Installer: def post_install_check(self, *args, **kwargs): return [step for step, flag in self.helper_flags.items() if flag is False] - def pacstrap(self, *packages, **kwargs): + def pacstrap(self, *packages, options=[], **kwargs): if type(packages[0]) in (list, tuple): packages = packages[0] + if type(packages) != list: # Redundant? + packages = packages.split(' ') + self.log(f'Installing packages: {packages}', level=logging.INFO) + cmd_struct = [ + "/usr/bin/pacman", + *options, + self.target, + *packages + ] + if (sync_mirrors := SysCommand('/usr/bin/pacman -Syy')).exit_code == 0: - if (pacstrap := SysCommand(f'/usr/bin/pacstrap {self.target} {" ".join(packages)}', **kwargs)).exit_code == 0: + if (pacstrap := SysCommand(cmd_struct, **kwargs)).exit_code == 0: return True else: self.log(f'Could not strap in packages: {pacstrap.exit_code}', level=logging.INFO) @@ -337,7 +347,7 @@ class Installer: else: self.log("Unknown cpu vendor not installing ucode") - self.pacstrap(self.base_packages) + self.pacstrap(self.base_packages, options=['--overwrite', "/boot/*-ucode.img"]) self.helper_flags['base-strapped'] = True with open(f"{self.target}/etc/fstab", "a") as fstab: -- cgit v1.2.3-54-g00ecf From e23fffe288690cfd35774f1e8ddaf74b678855ac Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Mon, 17 May 2021 21:59:42 +0200 Subject: Reverted 2afc317. Using Path().unlink() instead on ucode if they exist. --- archinstall/lib/installer.py | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index 4b1cda7b..6150ad00 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -130,23 +130,13 @@ class Installer: def post_install_check(self, *args, **kwargs): return [step for step, flag in self.helper_flags.items() if flag is False] - def pacstrap(self, *packages, options=[], **kwargs): + def pacstrap(self, *packages, **kwargs): if type(packages[0]) in (list, tuple): packages = packages[0] - if type(packages) != list: # Redundant? - packages = packages.split(' ') - self.log(f'Installing packages: {packages}', level=logging.INFO) - cmd_struct = [ - "/usr/bin/pacman", - *options, - self.target, - *packages - ] - if (sync_mirrors := SysCommand('/usr/bin/pacman -Syy')).exit_code == 0: - if (pacstrap := SysCommand(cmd_struct, **kwargs)).exit_code == 0: + if (pacstrap := SysCommand(f'/usr/bin/pacstrap {self.target} {" ".join(packages)}', **kwargs)).exit_code == 0: return True else: self.log(f'Could not strap in packages: {pacstrap.exit_code}', level=logging.INFO) @@ -342,12 +332,16 @@ class Installer: vendor = cpu_vendor() if vendor == "AuthenticAMD": self.base_packages.append("amd-ucode") + if (ucode := pathlib.Path(f"{self.target}/boot/amd-ucode.img")).exists(): + ucode.unlink() elif vendor == "GenuineIntel": self.base_packages.append("intel-ucode") + if (ucode := pathlib.Path(f"{self.target}/boot/intel-ucode.img")).exists(): + ucode.unlink() else: - self.log("Unknown cpu vendor not installing ucode") + self.log("Unknown cpu vendor not installing ucode", level=logging.INFO) - self.pacstrap(self.base_packages, options=['--overwrite', "/boot/*-ucode.img"]) + self.pacstrap(self.base_packages) self.helper_flags['base-strapped'] = True with open(f"{self.target}/etc/fstab", "a") as fstab: -- cgit v1.2.3-54-g00ecf From e0561641f6d801d4f37d28bc578e0cec6681f4fc Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Tue, 18 May 2021 00:21:48 +0200 Subject: Converted from subprocess.check_output() to SysCommand() to hide cpu_vendor() output. --- archinstall/lib/hardware.py | 9 +++++---- archinstall/lib/installer.py | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/archinstall/lib/hardware.py b/archinstall/lib/hardware.py index f527b5da..8009e708 100644 --- a/archinstall/lib/hardware.py +++ b/archinstall/lib/hardware.py @@ -98,11 +98,12 @@ def has_intel_graphics() -> bool: def cpu_vendor() -> Optional[str]: - cpu_info = json.loads(subprocess.check_output("lscpu -J", shell=True).decode('utf-8'))['lscpu'] + cpu_info_raw = SysCommand("lscpu -J") + cpu_info = json.loads(b"".join(cpu_info_raw).decode('UTF-8'))['lscpu'] + for info in cpu_info: - if info.get('field', None): - if info.get('field', None) == "Vendor ID:": - return info.get('data', None) + if info.get('field', None) == "Vendor ID:": + return info.get('data', None) return None diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index 6150ad00..103569fb 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -339,7 +339,7 @@ class Installer: if (ucode := pathlib.Path(f"{self.target}/boot/intel-ucode.img")).exists(): ucode.unlink() else: - self.log("Unknown cpu vendor not installing ucode", level=logging.INFO) + self.log(f"Unknown CPU vendor '{vendor}' detected. Archinstall won't install any ucode.", level=logging.DEBUG) self.pacstrap(self.base_packages) self.helper_flags['base-strapped'] = True -- cgit v1.2.3-54-g00ecf