From 47814a3f61f58dd79d4165cb75f358b93b289310 Mon Sep 17 00:00:00 2001 From: John Estabrook Date: Sun, 29 Mar 2026 21:17:44 -0500 Subject: T8445: add activation script to indicate first installed boot Add script to leave hint of first installed boot (as, say, distinguished from first live boot, or subsequent); this is useful as pre/post conditions and self-modification of activation scripts. --- python/vyos/utils/activate.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'python') diff --git a/python/vyos/utils/activate.py b/python/vyos/utils/activate.py index 588dda733..056bb2527 100644 --- a/python/vyos/utils/activate.py +++ b/python/vyos/utils/activate.py @@ -18,6 +18,7 @@ import json import typing from pathlib import Path +from vyos.base import Warning as Warn from vyos.defaults import activation_list from vyos.defaults import activation_init from vyos.defaults import activation_hint @@ -101,3 +102,17 @@ def refresh_activation_list(): obj = new_obj orig_list_path.write_text(json.dumps(obj)) + + +first_installed_boot_file = '/run/first_installed_boot' + + +def set_first_installed_boot(): + try: + Path(first_installed_boot_file).touch(exist_ok=False) + except FileExistsError: + Warn('redundant set of first_installed_boot') + + +def is_first_installed_boot(): + return Path(first_installed_boot_file).exists() -- cgit v1.2.3