summary refs log tree commit diff
path: root/pkgs/os-specific/linux
diff options
context:
space:
mode:
authorDominique Martinet <asmadeus@codewreck.org>2018-04-09 01:38:08 +0200
committerDominique Martinet <asmadeus@codewreck.org>2018-04-09 18:23:52 +0900
commitb64f407c4511ee08742f06cb4eeeb44645b70555 (patch)
treed7810c8601389a21c2b2ea1be6e7035b52db7d67 /pkgs/os-specific/linux
parentc1e1690f629d2fc5c99fbbb1fd81856b02d3cc7d (diff)
downloadnixlib-b64f407c4511ee08742f06cb4eeeb44645b70555.tar
nixlib-b64f407c4511ee08742f06cb4eeeb44645b70555.tar.gz
nixlib-b64f407c4511ee08742f06cb4eeeb44645b70555.tar.bz2
nixlib-b64f407c4511ee08742f06cb4eeeb44645b70555.tar.lz
nixlib-b64f407c4511ee08742f06cb4eeeb44645b70555.tar.xz
nixlib-b64f407c4511ee08742f06cb4eeeb44645b70555.tar.zst
nixlib-b64f407c4511ee08742f06cb4eeeb44645b70555.zip
linux kernel generic: use passAsFile for kernelConfig
Otherwise get the error 'Argument list too long' when running builder
with a very long kernelConfig
Diffstat (limited to 'pkgs/os-specific/linux')
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix3
1 files changed, 2 insertions, 1 deletions
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 1b8c3f76155e..2b44ff51ad0a 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -77,6 +77,7 @@ let
     generateConfig = ./generate-config.pl;
 
     kernelConfig = kernelConfigFun config;
+    passAsFile = [ "kernelConfig" ];
 
     depsBuildBuild = [ buildPackages.stdenv.cc ];
     nativeBuildInputs = [ perl ]
@@ -104,7 +105,7 @@ let
 
       # Create the config file.
       echo "generating kernel configuration..."
-      echo "$kernelConfig" > "$buildRoot/kernel-config"
+      ln -s "$kernelConfigPath" "$buildRoot/kernel-config"
       DEBUG=1 ARCH=$kernelArch KERNEL_CONFIG="$buildRoot/kernel-config" AUTO_MODULES=$autoModules \
            PREFER_BUILTIN=$preferBuiltin BUILD_ROOT="$buildRoot" SRC=. perl -w $generateConfig
     '';