forked from dan/liminix
add fit bootloader
this is for the belkin rt3200, whose uboot doesn't do extlinux but can load a fit from a ubifs. It adds the a kernel+dtb as /boot/fit
This commit is contained in:
parent
1347937345
commit
db4f098c02
@ -14,6 +14,7 @@ in
|
||||
./outputs/squashfs.nix
|
||||
./outputs/vmroot.nix
|
||||
./outputs/boot-extlinux.nix
|
||||
./outputs/boot-fit.nix
|
||||
./outputs/uimage.nix
|
||||
./outputs/updater
|
||||
];
|
||||
|
27
modules/outputs/boot-fit.nix
Normal file
27
modules/outputs/boot-fit.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{
|
||||
config
|
||||
, pkgs
|
||||
, lib
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption mkOption types concatStringsSep;
|
||||
inherit (pkgs.pseudofile) dir symlink;
|
||||
cfg = config.boot.loader.fit;
|
||||
o = config.system.outputs;
|
||||
cmdline = concatStringsSep " " config.boot.commandLine;
|
||||
wantsDtb = config.hardware.dts ? src && config.hardware.dts.src != null;
|
||||
in {
|
||||
options.boot.loader.fit.enable = mkEnableOption "FIT in /boot";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
system.outputs.bootfiles = pkgs.runCommand "boot-fit" {} ''
|
||||
mkdir $out
|
||||
cd $out
|
||||
cp ${o.uimage} fit
|
||||
'';
|
||||
filesystem = dir {
|
||||
boot = symlink config.system.outputs.bootfiles;
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user