summaryrefslogtreecommitdiff
path: root/scripts/image-build
diff options
context:
space:
mode:
authorAndrii Klymenko <a.klymenko@vyos.io>2026-05-08 16:22:17 +0300
committerGitHub <noreply@github.com>2026-05-08 16:22:17 +0300
commit560bba0ef00af6039d9b95e31ee822a7f89c0fd7 (patch)
treee7fe18da8cc764384b7b7f35f6a8b21d1ddbd915 /scripts/image-build
parenta0f74b5a2565956ce405b7185842cbdd0b4f1768 (diff)
parent2413b09291341031d77066db5f84509a7def54cd (diff)
downloadvyos-build-560bba0ef00af6039d9b95e31ee822a7f89c0fd7.tar.gz
vyos-build-560bba0ef00af6039d9b95e31ee822a7f89c0fd7.zip
Merge branch 'current' into T8542-SBOM-current
Diffstat (limited to 'scripts/image-build')
-rwxr-xr-xscripts/image-build/build-vyos-image30
-rw-r--r--scripts/image-build/utils.py2
2 files changed, 27 insertions, 5 deletions
diff --git a/scripts/image-build/build-vyos-image b/scripts/image-build/build-vyos-image
index ee7905b4..fb91cfc6 100755
--- a/scripts/image-build/build-vyos-image
+++ b/scripts/image-build/build-vyos-image
@@ -141,6 +141,8 @@ 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 = {
@@ -440,9 +442,10 @@ def build():
build_config['version'] = version
flavor_data = {
- 'console_type': build_config["console_type"],
- 'console_num': build_config["console_num"],
- 'console_speed': build_config["console_speed"]
+ 'flavor': build_config["build_flavor"],
+ 'console_type': build_config["boot_settings"]["console_type"],
+ 'console_num': build_config["boot_settings"]["console_num"],
+ 'console_speed': build_config["boot_settings"]["console_speed"]
}
version_data = {
@@ -490,6 +493,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
@@ -628,6 +638,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 \
@@ -639,8 +659,8 @@ DOCUMENTATION_URL="{build_config['documentation_url']}"
--archive-areas "{{debian_archive_areas}}" \
--backports true \
--binary-image iso-hybrid \
- --bootappend-live "boot=live components hostname=vyos username=live nopersistence noautologin nonetworking union=overlay console="{{console_type}}{{console_num}},{{console_speed}}" console=tty0 net.ifnames=0 biosdevname=0" \
- --bootappend-live-failsafe "live components memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal console="{{console_type}}{{console_num}},{{console_speed}}" console=tty0 net.ifnames=0 biosdevname=0" \
+ --bootappend-live "boot=live components hostname=vyos username=live nopersistence noautologin nonetworking union=overlay console="{{boot_settings.console_type}}{{boot_settings.console_num}},{{boot_settings.console_speed}}" console=tty0 net.ifnames=0 biosdevname=0" \
+ --bootappend-live-failsafe "live components memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal console="{{boot_settings.console_type}}{{boot_settings.console_num}},{{boot_settings.console_speed}}" console=tty0 net.ifnames=0 biosdevname=0" \
--bootloaders "{{bootloaders}}" \
--checksums "sha256" \
--chroot-squashfs-compression-type "{{squashfs_compression_type}}" \
diff --git a/scripts/image-build/utils.py b/scripts/image-build/utils.py
index 9e6dc634..5f557333 100644
--- a/scripts/image-build/utils.py
+++ b/scripts/image-build/utils.py
@@ -26,6 +26,8 @@ import defaults
import vyos
from vyos.defaults import directories
+from vyos.defaults import activation_hint
+from vyos.defaults import activation_init
def check_build_config():