hardware.deviceTree: add name
This can be used to explicitly specify a specific dtb file, relative to the dtb base. Update the generic-extlinux-compatible module to make use of this option.
This commit is contained in:
parent
bd8137aef1
commit
387f3b58d2
@ -27,6 +27,17 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
name = mkOption {
|
||||||
|
default = null;
|
||||||
|
example = "some-dtb.dtb";
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
description = ''
|
||||||
|
The name of an explicit dtb to be loaded, relative to the dtb base.
|
||||||
|
Useful in extlinux scenarios if the bootloader doesn't pick the
|
||||||
|
right .dtb file from FDTDIR.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
overlays = mkOption {
|
overlays = mkOption {
|
||||||
default = [];
|
default = [];
|
||||||
example = literalExample
|
example = literalExample
|
||||||
|
@ -4,6 +4,7 @@ with lib;
|
|||||||
|
|
||||||
let
|
let
|
||||||
blCfg = config.boot.loader;
|
blCfg = config.boot.loader;
|
||||||
|
dtCfg = config.hardware.deviceTree;
|
||||||
cfg = blCfg.generic-extlinux-compatible;
|
cfg = blCfg.generic-extlinux-compatible;
|
||||||
|
|
||||||
timeoutStr = if blCfg.timeout == null then "-1" else toString blCfg.timeout;
|
timeoutStr = if blCfg.timeout == null then "-1" else toString blCfg.timeout;
|
||||||
@ -53,7 +54,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = let
|
config = let
|
||||||
builderArgs = "-g ${toString cfg.configurationLimit} -t ${timeoutStr}";
|
builderArgs = "-g ${toString cfg.configurationLimit} -t ${timeoutStr}" + lib.optionalString (dtCfg.name != null) " -n ${dtCfg.name}";
|
||||||
in
|
in
|
||||||
mkIf cfg.enable {
|
mkIf cfg.enable {
|
||||||
system.build.installBootLoader = "${builder} ${builderArgs} -c";
|
system.build.installBootLoader = "${builder} ${builderArgs} -c";
|
||||||
|
Loading…
Reference in New Issue
Block a user