From 0361cf4cb8b9f261dae0b608d03995b7de0fcf77 Mon Sep 17 00:00:00 2001 From: John Estabrook Date: Mon, 6 Apr 2026 09:52:37 -0500 Subject: T8445: add activation init hint during raw image build When building raw images, leave hint to indicate activiation init on boot. --- scripts/image-build/build-vyos-image | 8 ++++++++ scripts/image-build/utils.py | 1 + 2 files changed, 9 insertions(+) (limited to 'scripts') diff --git a/scripts/image-build/build-vyos-image b/scripts/image-build/build-vyos-image index ee7905b4..9454b122 100755 --- a/scripts/image-build/build-vyos-image +++ b/scripts/image-build/build-vyos-image @@ -141,6 +141,7 @@ def build(): from utils import cmd, rc_cmd from utils import directories + from utils import activation_hint ## Check if there are missing build dependencies deps = { @@ -490,6 +491,13 @@ DOCUMENTATION_URL="{build_config['documentation_url']}" with open(os.path.join(binary_includes_dir, 'version.json'), 'w') as f: json.dump(version_data, f) + # For initialization of activation scripts, we need to know if we + # are building with create_raw_image + if build_config["image_format"] != ["iso"]: + raw_build_hint = os.path.join(vyos_data_dir, os.path.basename(activation_hint)) + with open(raw_build_hint, 'w') as f: + pass + # For backwards compatibility with 'add system image' script from older versions # we need a file in the old format so that script can find out the version of the image # for upgrade diff --git a/scripts/image-build/utils.py b/scripts/image-build/utils.py index 9e6dc634..c7332a37 100644 --- a/scripts/image-build/utils.py +++ b/scripts/image-build/utils.py @@ -26,6 +26,7 @@ import defaults import vyos from vyos.defaults import directories +from vyos.defaults import activation_hint def check_build_config(): -- cgit v1.2.3 From 033929ee38b284cb2dd8a5c98dc4cc2329744741 Mon Sep 17 00:00:00 2001 From: John Estabrook Date: Mon, 6 Apr 2026 10:17:01 -0500 Subject: T8445: allow overriding activation init list in flavor files --- scripts/image-build/build-vyos-image | 11 +++++++++++ scripts/image-build/utils.py | 1 + 2 files changed, 12 insertions(+) (limited to 'scripts') diff --git a/scripts/image-build/build-vyos-image b/scripts/image-build/build-vyos-image index 9454b122..84668b4b 100755 --- a/scripts/image-build/build-vyos-image +++ b/scripts/image-build/build-vyos-image @@ -142,6 +142,7 @@ def build(): from utils import cmd, rc_cmd from utils import directories from utils import activation_hint + from utils import activation_init ## Check if there are missing build dependencies deps = { @@ -636,6 +637,16 @@ DOCUMENTATION_URL="{build_config['documentation_url']}" with open(file_path, 'w') as f: f.write(build_config["default_config"]) + ## Allow override of which activation scripts are enabled at boot + if has_nonempty_key(build_config, "activation_init"): + file_path = os.path.join( + chroot_includes_dir, + activation_init.lstrip(os.sep) + ) + os.makedirs(os.path.dirname(file_path), exist_ok=True) + with open(file_path, 'w') as f: + f.write(build_config["activation_init"]) + ## Configure live-build lb_config_tmpl = jinja2.Template(""" lb config noauto \ diff --git a/scripts/image-build/utils.py b/scripts/image-build/utils.py index c7332a37..5f557333 100644 --- a/scripts/image-build/utils.py +++ b/scripts/image-build/utils.py @@ -27,6 +27,7 @@ import vyos from vyos.defaults import directories from vyos.defaults import activation_hint +from vyos.defaults import activation_init def check_build_config(): -- cgit v1.2.3