summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2025-07-24 15:36:00 +0100
committerGitHub <noreply@github.com>2025-07-24 15:36:00 +0100
commit6c6bcb59b85efdb60129639afaade482a2419cfe (patch)
tree3f3034c98065fb2aee56c57d8d3369f2c9fa31a4
parentfca865d3e11258df1134f7d537875d4a1f574283 (diff)
parentdd7c3a24499298a9b1cb0ddf5540b7e78adff1b5 (diff)
downloadvyos-1x-6c6bcb59b85efdb60129639afaade482a2419cfe.tar.gz
vyos-1x-6c6bcb59b85efdb60129639afaade482a2419cfe.zip
Merge pull request #4619 from vyos/T7649
T7649: Add missed system kernel options for image installer
-rwxr-xr-xsrc/op_mode/image_installer.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/op_mode/image_installer.py b/src/op_mode/image_installer.py
index 756afb4fb..8adf23c74 100755
--- a/src/op_mode/image_installer.py
+++ b/src/op_mode/image_installer.py
@@ -494,6 +494,8 @@ def get_cli_kernel_options(config_file: str) -> list:
config = ConfigTree(read_file(config_file))
config_dict = loads(config.to_json())
kernel_options = dict_search('system.option.kernel', config_dict)
+ k_cpu_opts = kernel_options.get('cpu', {})
+ k_memory_opts = kernel_options.get('memory', {})
if kernel_options is None:
kernel_options = {}
cmdline_options = []
@@ -512,6 +514,47 @@ def get_cli_kernel_options(config_file: str) -> list:
if 'quiet' in kernel_options:
cmdline_options.append('quiet')
+ if 'disable_hpet' in kernel_options:
+ cmdline_options.append('hpet=disable')
+
+ if 'disable_mce' in kernel_options:
+ cmdline_options.append('mce=off')
+
+ if 'disable_softlockup' in kernel_options:
+ cmdline_options.append('nosoftlockup')
+
+ # CPU options
+ isol_cpus = k_cpu_opts.get('isolate_cpus')
+ if isol_cpus:
+ cmdline_options.append(f'isolcpus={isol_cpus}')
+
+ nohz_full = k_cpu_opts.get('nohz_full')
+ if nohz_full:
+ cmdline_options.append(f'nohz_full={nohz_full}')
+
+ rcu_nocbs = k_cpu_opts.get('rcu_no_cbs')
+ if rcu_nocbs:
+ cmdline_options.append(f'rcu_nocbs={rcu_nocbs}')
+
+ if 'disable_nmi_watchdog' in k_cpu_opts:
+ cmdline_options.append('nmi_watchdog=0')
+
+ # Memory options
+ if 'disable_numa_balancing' in k_memory_opts:
+ cmdline_options.append('numa_balancing=disable')
+
+ default_hp_size = k_memory_opts.get('default_hugepage_size')
+ if default_hp_size:
+ cmdline_options.append(f'default_hugepagesz={default_hp_size}')
+
+ hp_sizes = k_memory_opts.get('hugepage_size')
+ if hp_sizes:
+ for size, settings in hp_sizes.items():
+ cmdline_options.append(f'hugepagesz={size}')
+ count = settings.get('hugepage_count')
+ if count:
+ cmdline_options.append(f'hugepages={count}')
+
return cmdline_options
def configure_authentication(config_file: str, password: str) -> None: