Shea Levy
839c58f5b1
linux/manual-config: Cleanup
2012-08-11 21:21:06 -04:00
Shea Levy
9ac776ab22
linux/manual-config.nix: Set sourceRoot directly to the pre-unpacked source rather than using a symlink
2012-08-11 21:07:37 -04:00
Shea Levy
0c18551c93
linux/manual-config: Do source unpacking/patching in a separate derivation.
...
Since we keep the source in the kernel build anyway, no space is wasted by having a separate store path for the unpacked source. The upside is that the same source can be used to build the kernel multiple times, or generate configurations for later kernel builds, without going through the (fairly long) unpack and patch process multiple times.
2012-08-11 21:02:30 -04:00
Shea Levy
21a200d6b2
linux/manual-config: Fix depmod step, remove false comment
2012-08-07 06:36:50 -04:00
Shea Levy
1935f7e5b8
linux/manual-config: Add informative comment
2012-08-03 08:33:31 -04:00
Shea Levy
1b7264d349
linux/manual-config.nix: When stripping, use xargs -r in case CONFIG_MODULES=y but no modules are actually installed
2012-08-01 23:32:02 -04:00
Shea Levy
4aba2bb3f5
linux/manual-config: Use kernelPatches like generic.nix, not a plain patches list
2012-08-01 23:02:17 -04:00
Shea Levy
fd330e9315
linux/manual-config: Install the kernel with the name given in stdenv.platform.kernelTarget
2012-08-01 15:39:49 -04:00
Shea Levy
ad49d92899
linux/manual-config: When installing firmware, create the firmware directory prior to make *_install.
...
It is probably a kernel build system bug that this is necessary, but it's not really a big deal either.
2012-08-01 11:56:12 -04:00
Shea Levy
3f4fd55c63
linux/manual-config: Remove unnecessary quotation
2012-08-01 11:26:30 -04:00
Shea Levy
443b9bc936
linux/kernel/manual-config: use isDisabled instead of isNo in case FIRMWARE_IN_KERNEL is left unspecified
2012-08-01 11:21:32 -04:00
Shea Levy
3dbfca0d7f
linux/manual-config: Change from 'features' to 'config' and fix build when firmware is installed.
...
Instead of manually adding which 'features' a kernel has based on its config here, just generate a nixexpr representation of the whole config and let places that need it (e.g. NixOS modules) decide how to map config options to features.
Note that if your kernel requires firmware whose hex file sits directly in ${src}/firmware rather than in a subdirectory thereof, you may need this patch for now: https://lkml.org/lkml/2012/7/31/724
2012-08-01 06:18:03 -04:00
Shea Levy
da4c64026a
linux/kernel/manual-config: Greatly simplify config parser
2012-07-29 15:54:31 -04:00
Shea Levy
298b5ccdab
linux/kernel/manual-config: Only import from derivation when explicitly asked to
2012-07-29 13:26:39 -04:00
Shea Levy
f0694a3151
linux/kernel/manual-config: Do all of the config file parsing in the imported-from derivation
2012-07-29 13:24:05 -04:00
Shea Levy
6585646d41
linux/kernel/manual-config: Add meta
2012-07-29 04:59:38 -04:00
Shea Levy
46fa5ab105
linux/kernel/manual-config: Relink the symlink from the build directory to the source directory after the source directory is moved
2012-07-29 04:56:56 -04:00
Shea Levy
f7b6f01da1
linux/kernel/manual-config: Cleanup
2012-07-29 04:52:34 -04:00
Shea Levy
98341e0bda
linux/kernel/manual-config: Use the kernel's make install
2012-07-29 04:48:50 -04:00
Shea Levy
a9a7085684
linux/kernel/manual-config: Allow manually specifying features, cleanup
2012-07-29 04:31:40 -04:00
Shea Levy
6bb20c7ba2
linux/kernel/manual-config: Strip modules after install
2012-07-29 04:23:28 -04:00
Shea Levy
6b18ab5365
linux/kernel/manual-config: Remove useless INSTALL_MOD_STRIP variable
2012-07-29 04:07:43 -04:00
Shea Levy
6e3b17feec
linux/kernel/manual-config: Run depmod after build
2012-07-29 04:01:40 -04:00
Shea Levy
48b5e8eee7
linux/kernel/manual-config: Build in a separate directory and move the build and source trees into $out
2012-07-29 03:49:52 -04:00
Shea Levy
e42a6c5f46
linux/kernel/manual-config: Move the build directory to $out instead of symlinking it
2012-07-29 03:27:09 -04:00
Shea Levy
a36456ca25
linux/kernel-manual-config: Simplify the lines.nix runCommand now that I know how to escape properly
2012-07-29 03:09:44 -04:00
Shea Levy
5a9d9f4f45
linux/kernel/manual-config: Properly escape makeFlagsArray and installFlagsArray
2012-07-29 02:57:58 -04:00
Shea Levy
471b4bc9bb
MODLIB needs to be passed directly to make
2012-07-29 02:49:31 -04:00
Shea Levy
aa40e0ff59
linux/kernel/manual-config: The default 'make install' tries to do something with LILO, so install the kernel manually
2012-07-29 01:57:59 -04:00
Shea Levy
dfa750732d
linux/kernel/manual-config: Properly set env vars referencing $out
2012-07-29 01:34:27 -04:00
Shea Levy
ff728a6365
The kernel build needs hostname and perl
2012-07-29 01:29:56 -04:00
Shea Levy
bf7467cbb1
Add first attempt at linux/kernel/manual-config.
...
The goal of this function is to make it possible to build a kernel with a user provided .config.
As a secondary goal, it will extract NixOS-relevant features from the config automatically.
As a tertiary goal, the build will aim to be simpler than the current generic kernel builder.sh.
Unfortunately, that simplicity is offset by the complexity of the feature extraction, especially since nix segfaults when trying to split the file into lines (so an import from a derivation is used)
2012-07-29 01:23:51 -04:00