buildLinux: allow to override arch/modules/builtin
- Easy override of autoModules and preferBuiltin and kernelArch parameters (currently living in `hostSystem` set).
This commit is contained in:
parent
600e977898
commit
3ccc65a36c
|
@ -33,6 +33,12 @@
|
||||||
hostPlatform != stdenv.buildPlatform
|
hostPlatform != stdenv.buildPlatform
|
||||||
, extraMeta ? {}
|
, extraMeta ? {}
|
||||||
, hostPlatform
|
, hostPlatform
|
||||||
|
|
||||||
|
# easy overrides to hostPlatform.platform members
|
||||||
|
, autoModules ? hostPlatform.platform.kernelAutoModules
|
||||||
|
, preferBuiltin ? hostPlatform.platform.kernelPreferBuiltin or false
|
||||||
|
, kernelArch ? hostPlatform.platform.kernelArch
|
||||||
|
|
||||||
, ...
|
, ...
|
||||||
} @ args:
|
} @ args:
|
||||||
|
|
||||||
|
@ -65,7 +71,7 @@ let
|
||||||
in lib.concatStringsSep "\n" ([baseConfig] ++ configFromPatches);
|
in lib.concatStringsSep "\n" ([baseConfig] ++ configFromPatches);
|
||||||
|
|
||||||
configfile = stdenv.mkDerivation {
|
configfile = stdenv.mkDerivation {
|
||||||
inherit ignoreConfigErrors;
|
inherit ignoreConfigErrors autoModules preferBuiltin kernelArch;
|
||||||
name = "linux-config-${version}";
|
name = "linux-config-${version}";
|
||||||
|
|
||||||
generateConfig = ./generate-config.pl;
|
generateConfig = ./generate-config.pl;
|
||||||
|
@ -81,9 +87,6 @@ let
|
||||||
kernelBaseConfig = hostPlatform.platform.kernelBaseConfig;
|
kernelBaseConfig = hostPlatform.platform.kernelBaseConfig;
|
||||||
# e.g. "bzImage"
|
# e.g. "bzImage"
|
||||||
kernelTarget = hostPlatform.platform.kernelTarget;
|
kernelTarget = hostPlatform.platform.kernelTarget;
|
||||||
autoModules = hostPlatform.platform.kernelAutoModules;
|
|
||||||
preferBuiltin = hostPlatform.platform.kernelPreferBuiltin or false;
|
|
||||||
arch = hostPlatform.platform.kernelArch;
|
|
||||||
|
|
||||||
prePatch = kernel.prePatch + ''
|
prePatch = kernel.prePatch + ''
|
||||||
# Patch kconfig to print "###" after every question so that
|
# Patch kconfig to print "###" after every question so that
|
||||||
|
@ -97,12 +100,12 @@ let
|
||||||
export buildRoot="''${buildRoot:-build}"
|
export buildRoot="''${buildRoot:-build}"
|
||||||
|
|
||||||
# Get a basic config file for later refinement with $generateConfig.
|
# Get a basic config file for later refinement with $generateConfig.
|
||||||
make HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc -C . O="$buildRoot" $kernelBaseConfig ARCH=$arch
|
make HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc -C . O="$buildRoot" $kernelBaseConfig ARCH=$kernelArch
|
||||||
|
|
||||||
# Create the config file.
|
# Create the config file.
|
||||||
echo "generating kernel configuration..."
|
echo "generating kernel configuration..."
|
||||||
echo "$kernelConfig" > "$buildRoot/kernel-config"
|
echo "$kernelConfig" > "$buildRoot/kernel-config"
|
||||||
DEBUG=1 ARCH=$arch KERNEL_CONFIG="$buildRoot/kernel-config" AUTO_MODULES=$autoModules \
|
DEBUG=1 ARCH=$kernelArch KERNEL_CONFIG="$buildRoot/kernel-config" AUTO_MODULES=$autoModules \
|
||||||
PREFER_BUILTIN=$preferBuiltin BUILD_ROOT="$buildRoot" SRC=. perl -w $generateConfig
|
PREFER_BUILTIN=$preferBuiltin BUILD_ROOT="$buildRoot" SRC=. perl -w $generateConfig
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue