diff options
| author | Daniil Baturin <daniil@vyos.io> | 2025-07-24 15:36:00 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-24 15:36:00 +0100 |
| commit | 6c6bcb59b85efdb60129639afaade482a2419cfe (patch) | |
| tree | 3f3034c98065fb2aee56c57d8d3369f2c9fa31a4 | |
| parent | fca865d3e11258df1134f7d537875d4a1f574283 (diff) | |
| parent | dd7c3a24499298a9b1cb0ddf5540b7e78adff1b5 (diff) | |
| download | vyos-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-x | src/op_mode/image_installer.py | 43 |
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: |
