From 06f9d9d397f1ba744cd9db36fa1646f7d67f6903 Mon Sep 17 00:00:00 2001 From: "Gerd v. Egidy" Date: Sun, 2 Oct 2022 19:04:41 +0200 Subject: [PATCH] Add sysctl option to the "sysconfig" scope of YAML config file Allows to customize sysctl entries of the kernel from the yaml config. --- .../etc/systemd/scripts/sysrescue-initialize.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/airootfs/etc/systemd/scripts/sysrescue-initialize.py b/airootfs/etc/systemd/scripts/sysrescue-initialize.py index a41bc45..9d0d4cc 100755 --- a/airootfs/etc/systemd/scripts/sysrescue-initialize.py +++ b/airootfs/etc/systemd/scripts/sysrescue-initialize.py @@ -321,6 +321,23 @@ if 'sysconfig' in config and 'ca-trust' in config['sysconfig'] and config['sysco with open(firefox_policy_path, "w", encoding='utf-8') as polfile: json.dump(ff_policy, polfile, ensure_ascii=False, indent=2) +# ============================================================================== +# customize sysctl +# ============================================================================== + +if 'sysconfig' in config and 'sysctl' in config['sysconfig'] and \ + config['sysconfig']['sysctl'] and isinstance(config['sysconfig']['sysctl'], dict): + print(f"====> Customizing sysctl options ...") + sysctllines = "" + for key, value in config['sysconfig']['sysctl'].items(): + sysctllines+=f"{key} = {value}\n" + + # pipe config into sysctl + p = subprocess.run(["sysctl", "--load=-"], text=True, input=sysctllines) + if p.returncode is not 0: + print (f"Some or all sysctl options couldn't be set") + errcnt+=1 + # ============================================================================== # late-load a SystemRescueModule (SRM) # ==============================================================================