diff options
author | Will Fancher <elvishjerricco@gmail.com> | 2023-04-15 03:12:29 -0400 |
---|---|---|
committer | Will Fancher <elvishjerricco@gmail.com> | 2023-04-21 13:05:12 -0400 |
commit | 5c46e6f4e3b517418c64f32c9a0e0c874e81ee8b (patch) | |
tree | e660ba108fb3190712476f20d7c214d338a8aae9 /nixos | |
parent | 8f9416e9e3526cddc5faeadd5959b29353caf354 (diff) |
systemd-stage-1: Add assertions for unsupported options.
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/networking/iscsi/root-initiator.nix | 4 | ||||
-rw-r--r-- | nixos/modules/system/boot/grow-partition.nix | 5 | ||||
-rw-r--r-- | nixos/modules/system/boot/systemd/initrd.nix | 21 |
3 files changed, 29 insertions, 1 deletions
diff --git a/nixos/modules/services/networking/iscsi/root-initiator.nix b/nixos/modules/services/networking/iscsi/root-initiator.nix index 4434fedce1eb8..895467cc674ab 100644 --- a/nixos/modules/services/networking/iscsi/root-initiator.nix +++ b/nixos/modules/services/networking/iscsi/root-initiator.nix @@ -185,6 +185,10 @@ in assertion = cfg.loginAll -> cfg.target == null; message = "iSCSI target name is set while login on all portals is enabled."; } + { + assertion = !config.boot.initrd.systemd.enable; + message = "systemd stage 1 does not support iscsi yet."; + } ]; }; } diff --git a/nixos/modules/system/boot/grow-partition.nix b/nixos/modules/system/boot/grow-partition.nix index 034b2b9906f55..a2764187a5333 100644 --- a/nixos/modules/system/boot/grow-partition.nix +++ b/nixos/modules/system/boot/grow-partition.nix @@ -17,6 +17,11 @@ with lib; config = mkIf config.boot.growPartition { + assertions = [{ + assertion = !config.boot.initrd.systemd.enable; + message = "systemd stage 1 does not support 'boot.growPartition' yet."; + }]; + boot.initrd.extraUtilsCommands = '' copy_bin_and_libs ${pkgs.gawk}/bin/gawk copy_bin_and_libs ${pkgs.gnused}/bin/sed diff --git a/nixos/modules/system/boot/systemd/initrd.nix b/nixos/modules/system/boot/systemd/initrd.nix index f987aca34f18b..6f991b84bbd03 100644 --- a/nixos/modules/system/boot/systemd/initrd.nix +++ b/nixos/modules/system/boot/systemd/initrd.nix @@ -1,4 +1,4 @@ -{ lib, config, utils, pkgs, ... }: +{ lib, options, config, utils, pkgs, ... }: with lib; @@ -338,6 +338,25 @@ in { }; config = mkIf (config.boot.initrd.enable && cfg.enable) { + assertions = map (name: { + assertion = config.boot.initrd.${name} == ""; + message = '' + systemd stage 1 does not support 'boot.initrd.${name}'. Please + convert it to analogous systemd units in 'boot.initrd.systemd'. + + Definitions: + ${lib.concatMapStringsSep "\n" ({ file, ... }: "- ${file}") options.boot.initrd.${name}.definitionsWithLocations} + ''; + }) [ + "preFailCommands" + "preDeviceCommands" + "preLVMCommands" + "postDeviceCommands" + "postMountCommands" + "extraUtilsCommands" + "extraUtilsCommandsTest" + ]; + system.build = { inherit initialRamdisk; }; boot.initrd.availableKernelModules = [ |