forked from mirrors/nixpkgs
29 lines
852 B
Nix
29 lines
852 B
Nix
|
{ config, pkgs, ... }:
|
||
|
|
||
|
let
|
||
|
configfile = builtins.storePath (builtins.toFile "config" (pkgs.lib.concatStringsSep "\n"
|
||
|
(map (builtins.getAttr "configLine") config.system.requiredKernelConfig))
|
||
|
);
|
||
|
|
||
|
origKernel = pkgs.linuxManualConfig {
|
||
|
inherit (pkgs.linux) src version;
|
||
|
inherit configfile;
|
||
|
allowImportFromDerivation = true;
|
||
|
kernelPatches = [ pkgs.kernelPatches.cifs_timeout_2_6_38 ];
|
||
|
};
|
||
|
|
||
|
kernel = origKernel // (derivation (origKernel.drvAttrs // {
|
||
|
configurePhase = ''
|
||
|
runHook preConfigure
|
||
|
mkdir ../build
|
||
|
make $makeFlags "''${makeFlagsArray[@]}" mrproper
|
||
|
make $makeFlags "''${makeFlagsArray[@]}" KCONFIG_ALLCONFIG=${configfile} allnoconfig
|
||
|
runHook postConfigure
|
||
|
'';
|
||
|
}));
|
||
|
|
||
|
kernelPackages = pkgs.linuxPackagesFor kernel kernelPackages;
|
||
|
in {
|
||
|
boot.kernelPackages = kernelPackages;
|
||
|
}
|