build kernel only once for multiple outputs
e.g. vmlinux + zImage
This commit is contained in:
parent
e4ed9dbec9
commit
ff991508ae
4 changed files with 23 additions and 13 deletions
|
@ -4,6 +4,7 @@
|
|||
kernel.config = {
|
||||
OF = "y";
|
||||
};
|
||||
kernel.makeTargets = ["arch/arm/boot/zImage"];
|
||||
hardware.ram.startAddress = lim.parseInt "0x40000000";
|
||||
system.outputs.u-boot = pkgs.ubootQemuArm;
|
||||
};
|
||||
|
|
|
@ -9,6 +9,7 @@ let
|
|||
inherit (pkgs.pseudofile) dir symlink;
|
||||
inherit (pkgs.liminix.networking) address interface;
|
||||
inherit (pkgs.liminix.services) bundle;
|
||||
inherit (pkgs) liminix;
|
||||
|
||||
type_service = pkgs.liminix.lib.types.service;
|
||||
|
||||
|
@ -41,11 +42,25 @@ in {
|
|||
};
|
||||
'';
|
||||
};
|
||||
makeTargets = mkOption {
|
||||
type = types.listOf types.str;
|
||||
};
|
||||
};
|
||||
};
|
||||
config = {
|
||||
system.outputs =
|
||||
let k = liminix.builders.kernel.override {
|
||||
inherit (config.kernel) config src extraPatchPhase;
|
||||
targets = config.kernel.makeTargets;
|
||||
};
|
||||
in {
|
||||
kernel = k.vmlinux;
|
||||
zimage = k.zImage;
|
||||
};
|
||||
|
||||
kernel = rec {
|
||||
modular = true; # disabling this is not yet supported
|
||||
makeTargets = ["vmlinux"];
|
||||
config = {
|
||||
IKCONFIG = "y";
|
||||
IKCONFIG_PROC = "y";
|
||||
|
|
|
@ -99,26 +99,18 @@ in
|
|||
};
|
||||
config = {
|
||||
system.outputs = rec {
|
||||
kernel = liminix.builders.kernel.override {
|
||||
inherit (config.kernel) config src extraPatchPhase;
|
||||
};
|
||||
zimage = liminix.builders.kernel.override {
|
||||
targets = ["arch/arm/boot/zImage"];
|
||||
inherit (config.kernel) config src extraPatchPhase;
|
||||
};
|
||||
dtb = liminix.builders.dtb {
|
||||
inherit (config.boot) commandLine;
|
||||
dts = config.hardware.dts.src;
|
||||
includes = config.hardware.dts.includes ++ [
|
||||
"${kernel.headers}/include"
|
||||
"${o.kernel.headers}/include"
|
||||
];
|
||||
};
|
||||
uimage = liminix.builders.uimage {
|
||||
commandLine = concatStringsSep " " config.boot.commandLine;
|
||||
inherit (config.hardware) loadAddress entryPoint;
|
||||
inherit (config.boot) imageFormat;
|
||||
inherit kernel;
|
||||
inherit dtb;
|
||||
inherit (o) kernel dtb;
|
||||
};
|
||||
rootdir =
|
||||
let
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue