summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Estabrook <jestabro@vyos.io>2024-05-10 09:20:38 -0500
committerJohn Estabrook <jestabro@vyos.io>2024-05-10 10:09:07 -0500
commit428d03e47e7d01b08ccb8cf1acc0ab8a53275286 (patch)
tree38bf27c7da5ee0d9bc4bedea93983d75ad2f800a
parenteb281199ba35de52a8a97146dfc063e557755648 (diff)
downloadvyos-1x-428d03e47e7d01b08ccb8cf1acc0ab8a53275286.tar.gz
vyos-1x-428d03e47e7d01b08ccb8cf1acc0ab8a53275286.zip
image-tools: T6176: add console hint during image install
-rwxr-xr-xsrc/op_mode/image_installer.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/op_mode/image_installer.py b/src/op_mode/image_installer.py
index fdfaa1e17..22bdc26fb 100755
--- a/src/op_mode/image_installer.py
+++ b/src/op_mode/image_installer.py
@@ -23,6 +23,8 @@ from shutil import copy, chown, rmtree, copytree
from glob import glob
from sys import exit
from os import environ
+from os import readlink
+from os import getpid, getppid
from typing import Union
from urllib.parse import urlparse
from passlib.hosts import linux_context
@@ -614,6 +616,20 @@ def copy_ssh_host_keys() -> bool:
return False
+def console_hint() -> str:
+ pid = getppid() if 'SUDO_USER' in environ else getpid()
+ try:
+ path = readlink(f'/proc/{pid}/fd/1')
+ except OSError:
+ path = '/dev/tty'
+
+ name = Path(path).name
+ if name == 'ttyS0':
+ return 'S'
+ else:
+ return 'K'
+
+
def cleanup(mounts: list[str] = [], remove_items: list[str] = []) -> None:
"""Clean up after installation