diff options
Diffstat (limited to 'nixos/modules/system/boot/loader/generic-extlinux-compatible/default.nix')
-rw-r--r-- | nixos/modules/system/boot/loader/generic-extlinux-compatible/default.nix | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/nixos/modules/system/boot/loader/generic-extlinux-compatible/default.nix b/nixos/modules/system/boot/loader/generic-extlinux-compatible/default.nix index bd508bbe8ea..545b594674f 100644 --- a/nixos/modules/system/boot/loader/generic-extlinux-compatible/default.nix +++ b/nixos/modules/system/boot/loader/generic-extlinux-compatible/default.nix @@ -30,6 +30,21 @@ in ''; }; + useGenerationDeviceTree = mkOption { + default = true; + type = types.bool; + description = '' + Whether to generate Device Tree-related directives in the + extlinux configuration. + + When enabled, the bootloader will attempt to load the device + tree binaries from the generation's kernel. + + Note that this affects all generations, regardless of the + setting value used in their configurations. + ''; + }; + configurationLimit = mkOption { default = 20; example = 10; @@ -54,7 +69,9 @@ in }; config = let - builderArgs = "-g ${toString cfg.configurationLimit} -t ${timeoutStr}" + lib.optionalString (dtCfg.name != null) " -n ${dtCfg.name}"; + builderArgs = "-g ${toString cfg.configurationLimit} -t ${timeoutStr}" + + lib.optionalString (dtCfg.name != null) " -n ${dtCfg.name}" + + lib.optionalString (!cfg.useGenerationDeviceTree) " -r"; in mkIf cfg.enable { system.build.installBootLoader = "${builder} ${builderArgs} -c"; |