diff options
author | Lluís Batlle i Rossell <viric@vicerveza.homeunix.net> | 2010-02-16 19:27:51 +0000 |
---|---|---|
committer | Lluís Batlle i Rossell <viric@vicerveza.homeunix.net> | 2010-02-16 19:27:51 +0000 |
commit | c86da889cc12794daaff158021beecb79a036406 (patch) | |
tree | 2d93aff1e81e16fee5e20ad6b2bdbccd65923ab0 /pkgs/os-specific | |
parent | b07babb810fe80b956fd95d587219a943a0f7ebe (diff) | |
download | nixpkgs-c86da889cc12794daaff158021beecb79a036406.tar nixpkgs-c86da889cc12794daaff158021beecb79a036406.tar.gz nixpkgs-c86da889cc12794daaff158021beecb79a036406.tar.bz2 nixpkgs-c86da889cc12794daaff158021beecb79a036406.tar.lz nixpkgs-c86da889cc12794daaff158021beecb79a036406.tar.xz nixpkgs-c86da889cc12794daaff158021beecb79a036406.tar.zst nixpkgs-c86da889cc12794daaff158021beecb79a036406.zip |
Made the kernel generate-config "build as modules as you can" an option.
Sepcifically, a nixpkgs "platform" option. So, for PC all remained the same as it was. svn path=/nixpkgs/trunk/; revision=20059
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r-- | pkgs/os-specific/linux/kernel/builder.sh | 3 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel/generate-config.pl | 3 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel/generic.nix | 8 |
3 files changed, 11 insertions, 3 deletions
diff --git a/pkgs/os-specific/linux/kernel/builder.sh b/pkgs/os-specific/linux/kernel/builder.sh index a67877c9fd6..9c7f0ea4086 100644 --- a/pkgs/os-specific/linux/kernel/builder.sh +++ b/pkgs/os-specific/linux/kernel/builder.sh @@ -30,7 +30,8 @@ configurePhase() { # Create the config file. echo "generating kernel configuration..." echo "$kernelConfig" > kernel-config - DEBUG=1 ARCH=$arch KERNEL_CONFIG=kernel-config perl -w $generateConfig + DEBUG=1 ARCH=$arch KERNEL_CONFIG=kernel-config AUTO_MODULES=$autoModules \ + perl -w $generateConfig } diff --git a/pkgs/os-specific/linux/kernel/generate-config.pl b/pkgs/os-specific/linux/kernel/generate-config.pl index e8f7e6555d3..3db050c900c 100644 --- a/pkgs/os-specific/linux/kernel/generate-config.pl +++ b/pkgs/os-specific/linux/kernel/generate-config.pl @@ -13,6 +13,7 @@ use strict; use IPC::Open2; my $debug = $ENV{'DEBUG'}; +my $autoModules = $ENV{'AUTO_MODULES'}; $SIG{PIPE} = 'IGNORE'; @@ -69,7 +70,7 @@ sub runConfig { my $question = $1; my $name = $2; my $alts = $3; my $answer = ""; # Build everything as a module if possible. - $answer = "m" if $alts =~ /\/m/; + $answer = "m" if $autoModules && $alts =~ /\/m/; $answer = $answers{$name} if defined $answers{$name}; print STDERR "QUESTION: $question, NAME: $name, ALTS: $alts, ANSWER: $answer\n" if $debug; print OUT "$answer\n"; diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index f1981d261c6..42e12314a21 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -33,7 +33,12 @@ , preConfigure ? "" , extraMeta ? {} -, platform ? { name = "pc"; uboot = null; kernelBaseConfig = "defconfig"; } +, platform ? { + name = "pc"; + uboot = null; + kernelBaseConfig = "defconfig"; + kernelAutoModules = true; + } , ... }: @@ -64,6 +69,7 @@ stdenv.mkDerivation { generateConfig = ./generate-config.pl; inherit preConfigure src module_init_tools localVersion; + autoModules = platform.kernelAutoModules; patches = map (p: p.patch) kernelPatches; |