From e1838a55853ad1939b7446f3837f0c89e6fecd68 Mon Sep 17 00:00:00 2001 From: h8d13 Date: Sat, 15 Nov 2025 11:24:27 +0100 Subject: [PATCH 1/6] pr1 --- archinstall/lib/installer.py | 2 +- archinstall/lib/pacman/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index e9ddafce9e..d3dcf9e6b1 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -554,7 +554,7 @@ def genfstab(self, flags: str = '-pU') -> None: info(f'Updating {fstab_path}') try: - gen_fstab = SysCommand(f'genfstab {flags} {self.target}').output() + gen_fstab = SysCommand(f'genfstab {flags} -f {self.target} {self.target}').output() except SysCallError as err: raise RequirementError(f'Could not generate fstab, strapping in packages most likely failed (disk out of space?)\n Error: {err}') diff --git a/archinstall/lib/pacman/__init__.py b/archinstall/lib/pacman/__init__.py index 68a74e64e5..e2a3ffa495 100644 --- a/archinstall/lib/pacman/__init__.py +++ b/archinstall/lib/pacman/__init__.py @@ -78,7 +78,7 @@ def strap(self, packages: str | list[str]) -> None: 'Could not strap in packages', 'Pacstrap failed. See /var/log/archinstall/install.log or above message for error details', SysCommand, - f'pacstrap -C /etc/pacman.conf -K {self.target} {" ".join(packages)} --noconfirm', + f'pacstrap -C /etc/pacman.conf -K {self.target} {" ".join(packages)} --noconfirm --needed', peek_output=True, ) From 3da5c8cd8acff9bdeabb5c6144b71914feee0ea7 Mon Sep 17 00:00:00 2001 From: h8d13 Date: Sat, 15 Nov 2025 11:36:43 +0100 Subject: [PATCH 2/6] pr2 --- archinstall/lib/installer.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index d3dcf9e6b1..0db6ed0907 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -868,6 +868,9 @@ def minimal_installation( pacman_conf.enable(optional_repositories) pacman_conf.apply() + locale_config or LocaleConfiguration.default() + self.set_vconsole(locale_config) + self.pacman.strap(self._base_packages) self._helper_flags['base-strapped'] = True @@ -1761,6 +1764,29 @@ def chown(self, owner: str, path: str, options: list[str] = []) -> bool: except SysCallError: return False + def set_vconsole(self, locale_config: 'LocaleConfiguration') -> None: + # use the already set kb layout + kb_vconsole: str = locale_config.kb_layout + # this is the default used in ISO other option for hdpi screens TER16x32 + # can be checked using + # zgrep "CONFIG_FONT" /proc/config.gz + # https://wiki.archlinux.org/title/Linux_console#Fonts + + font_vconsole = 'default8x16' + + # Ensure /etc exists + vconsole_dir: Path = Path(self.target) / 'etc' + vconsole_dir.mkdir(parents=True, exist_ok=True) + vconsole_path: Path = vconsole_dir / 'vconsole.conf' + + # Write both KEYMAP and FONT to vconsole.conf + vconsole_content = f'KEYMAP={kb_vconsole}\n' + # Corrects another warning + vconsole_content += f'FONT={font_vconsole}\n' + + vconsole_path.write_text(vconsole_content) + info(f'Wrote to {vconsole_path} using {kb_vconsole} and {font_vconsole}') + def set_keyboard_language(self, language: str) -> bool: info(f'Setting keyboard language to {language}') From 35a7d6e82b4e006ff740dc24811d2c7c1cf0e071 Mon Sep 17 00:00:00 2001 From: h8d13 Date: Sat, 15 Nov 2025 11:53:01 +0100 Subject: [PATCH 3/6] pr2-2 --- archinstall/lib/installer.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index 0db6ed0907..cf2947e8dc 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -868,8 +868,8 @@ def minimal_installation( pacman_conf.enable(optional_repositories) pacman_conf.apply() - locale_config or LocaleConfiguration.default() - self.set_vconsole(locale_config) + if locale_config: + self.set_vconsole(locale_config) self.pacman.strap(self._base_packages) self._helper_flags['base-strapped'] = True @@ -1764,7 +1764,7 @@ def chown(self, owner: str, path: str, options: list[str] = []) -> bool: except SysCallError: return False - def set_vconsole(self, locale_config: 'LocaleConfiguration') -> None: + def set_vconsole(self, locale_config: 'LocaleConfiguration'): # use the already set kb layout kb_vconsole: str = locale_config.kb_layout # this is the default used in ISO other option for hdpi screens TER16x32 From 9933b88bf63b98543fd9c148b630e48ea98bb248 Mon Sep 17 00:00:00 2001 From: h8d13 Date: Sat, 15 Nov 2025 11:55:06 +0100 Subject: [PATCH 4/6] pr2-3 --- archinstall/lib/installer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index cf2947e8dc..6be6f6bbeb 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -1764,7 +1764,7 @@ def chown(self, owner: str, path: str, options: list[str] = []) -> bool: except SysCallError: return False - def set_vconsole(self, locale_config: 'LocaleConfiguration'): + def set_vconsole(self, locale_config: 'LocaleConfiguration') -> None: # use the already set kb layout kb_vconsole: str = locale_config.kb_layout # this is the default used in ISO other option for hdpi screens TER16x32 From 3f8b4dc87aa415fe2a9dafae54ad454f1eda3553 Mon Sep 17 00:00:00 2001 From: h8d13 Date: Sat, 15 Nov 2025 13:31:14 +0100 Subject: [PATCH 5/6] Revert genfstab and pacstrap command changes --- archinstall/lib/installer.py | 2 +- archinstall/lib/pacman/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index 6be6f6bbeb..11f8669ea0 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -554,7 +554,7 @@ def genfstab(self, flags: str = '-pU') -> None: info(f'Updating {fstab_path}') try: - gen_fstab = SysCommand(f'genfstab {flags} -f {self.target} {self.target}').output() + gen_fstab = SysCommand(f'genfstab {flags} {self.target}').output() except SysCallError as err: raise RequirementError(f'Could not generate fstab, strapping in packages most likely failed (disk out of space?)\n Error: {err}') diff --git a/archinstall/lib/pacman/__init__.py b/archinstall/lib/pacman/__init__.py index e2a3ffa495..68a74e64e5 100644 --- a/archinstall/lib/pacman/__init__.py +++ b/archinstall/lib/pacman/__init__.py @@ -78,7 +78,7 @@ def strap(self, packages: str | list[str]) -> None: 'Could not strap in packages', 'Pacstrap failed. See /var/log/archinstall/install.log or above message for error details', SysCommand, - f'pacstrap -C /etc/pacman.conf -K {self.target} {" ".join(packages)} --noconfirm --needed', + f'pacstrap -C /etc/pacman.conf -K {self.target} {" ".join(packages)} --noconfirm', peek_output=True, ) From 1952de96bd9e04ec669ae0978e93370440f9e554 Mon Sep 17 00:00:00 2001 From: h8d13 Date: Sun, 16 Nov 2025 12:59:17 +0100 Subject: [PATCH 6/6] mistake --- archinstall/lib/installer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index 11f8669ea0..c0ac5a8757 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -1775,7 +1775,7 @@ def set_vconsole(self, locale_config: 'LocaleConfiguration') -> None: font_vconsole = 'default8x16' # Ensure /etc exists - vconsole_dir: Path = Path(self.target) / 'etc' + vconsole_dir: Path = self.target / 'etc' vconsole_dir.mkdir(parents=True, exist_ok=True) vconsole_path: Path = vconsole_dir / 'vconsole.conf'