From 390b4959bdb91b9a86ba9d5a9a789569053e4dd1 Mon Sep 17 00:00:00 2001 From: codefiles <11915375+codefiles@users.noreply.github.com> Date: Fri, 27 Feb 2026 19:20:02 -0500 Subject: [PATCH] Refactor ISO check (#4264) --- archinstall/lib/locale/utils.py | 4 ++-- archinstall/lib/utils/util.py | 11 +++++------ archinstall/main.py | 9 ++++----- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/archinstall/lib/locale/utils.py b/archinstall/lib/locale/utils.py index f301aebc..e7229160 100644 --- a/archinstall/lib/locale/utils.py +++ b/archinstall/lib/locale/utils.py @@ -1,7 +1,7 @@ from archinstall.lib.command import SysCommand from archinstall.lib.exceptions import ServiceException, SysCallError from archinstall.lib.output import error -from archinstall.lib.utils.util import running_from_host +from archinstall.lib.utils.util import running_from_iso def list_keyboard_languages() -> list[str]: @@ -80,7 +80,7 @@ def get_kb_layout() -> str: def set_kb_layout(locale: str) -> bool: - if running_from_host(): + if not running_from_iso(): # Skip when running from host - no need to change host keymap # The target installation keymap is set via installer.set_keyboard_language() return True diff --git a/archinstall/lib/utils/util.py b/archinstall/lib/utils/util.py index cda1731a..d75bcaa7 100644 --- a/archinstall/lib/utils/util.py +++ b/archinstall/lib/utils/util.py @@ -5,15 +5,14 @@ from pathlib import Path from archinstall.lib.output import FormattedOutput -def running_from_host() -> bool: +def running_from_iso() -> bool: """ - Check if running from an installed system. + Check if running from the archiso environment. - Returns True if running from installed system (host mode) for host-to-target install. - Returns False if /run/archiso exists (ISO mode). + Returns True if /run/archiso/airootfs is a mount point (ISO mode). + Returns False if running from installed system (host mode) for host-to-target install. """ - is_host = not Path('/run/archiso').exists() - return is_host + return Path('/run/archiso/airootfs').is_mount() def generate_password(length: int = 64) -> str: diff --git a/archinstall/main.py b/archinstall/main.py index 07e19f30..b82c6fa3 100644 --- a/archinstall/main.py +++ b/archinstall/main.py @@ -17,7 +17,7 @@ from archinstall.lib.output import debug, error, info, warn from archinstall.lib.packages.util import check_version_upgrade from archinstall.lib.pacman.pacman import Pacman from archinstall.lib.translationhandler import tr -from archinstall.lib.utils.util import running_from_host +from archinstall.lib.utils.util import running_from_iso def _log_sys_info() -> None: @@ -114,11 +114,10 @@ def run() -> int: info(text) time.sleep(3) - if running_from_host(): - # log which mode we are using - debug('Running from Host (H2T Mode)...') - else: + if running_from_iso(): debug('Running from ISO (Live Mode)...') + else: + debug('Running from Host (H2T Mode)...') mod_name = f'archinstall.scripts.{script}' # by loading the module we'll automatically run the script