Commit graph

821 commits

Author SHA1 Message Date
Shea Levy f95d214cfd Implement generic kernel build via manual-config
This has three major benefits:

1. We no longer have two kernel build processes to maintain

2. The build process is (IMO) cleaner and cleaves more closely to
upstream. In partuclar, we use make install to install the kernel and
development source/build trees, eliminating the guesswork about which
files to copy.

3. The derivation has multiple outputs: the kernel and modules are in
the default `out' output, while the build and source trees are in a
`dev' output. This makes it possible for the full source and build tree
to be kept (which is expected by out-of-tree modules) without bloating
the closure of the system derivation.

In addition, if a solution for how to handle queries in the presence of
imports from derivations ever makes it into nix, a framework for
querying the full configuration of the kernel in nix expressions is
already in place.

Signed-off-by: Shea Levy <shea@shealevy.com>
2014-01-01 09:21:25 -05:00
Shea Levy a87b1f36e0 manual-config: Fully general cross-compiling
In the most general case, the cross and native kernel may differ in
patches and configuration file as well as architecture, kernel target,
etc. It's probably overkill to support that case, but since it was
doable without much duplication and it will make integrating with the
existing cross-compilation support in the generic kernel I decided to
implement it anyway.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-31 23:09:42 -05:00
Shea Levy 784c6d320c manual-config: Put `source' before the version in the sourceRoot name
nix's version parsing treats the previous name as a package named
`linux' with version `${version}-source', when we really want a package
named `linux-source' with version `${version}'

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-31 22:50:41 -05:00
Shea Levy 0c5776bc0f manual-config: Patch conf.c for generate-config.pl
This only affects the `oldaskconfig' make target, so it shouldn't really
affect current manual-config users, but it does make it more
straightforward to implement the generic kernel build on top of
manual-config.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-31 22:49:12 -05:00
Shea Levy fe185f0a18 manual-config: Always add config query functions
If the config attrset is manually specified, we still want isYes,
isModule, etc. to work. But we let the passed in config attrset take
precedence, if for some reason the caller wants to provide their own
implementation of one or more of these functions.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-31 22:46:43 -05:00
Shea Levy 008992619f linux/manual-config: Cross-compiling support
With this, I was able to successfully compile a defconfig kernel for the
sheevaplug, though I didn't actually try to run it (not having a
sheevaplug myself).

For native compiles, the most significant difference is that the
platform's kernel target is built directly rather than hoping the
default make target will pull it in.

Also some stylistic improvements along the way.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-31 22:38:06 -05:00
William A. Kennington III 211b9a5016 linux: Update 3.10.18 -> 3.10.25 2013-12-29 07:53:23 -06:00
William A. Kennington III 811d88e94d linux: Update 3.11.8 -> 3.11.10 2013-12-29 07:53:19 -06:00
Shea Levy 76da6e6ed3 Linux 3.12.6
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-20 13:45:45 -05:00
Shea Levy 01a051292f Linux 3.12.5
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-18 12:35:07 -05:00
Eelco Dolstra 82f39bd19e linux: Fix hash 2013-12-17 13:27:03 +01:00
Eelco Dolstra acac786868 linux: Update to 3.4.74 2013-12-16 14:46:21 +01:00
Eelco Dolstra f74ca42ba6 linux: Update to 3.4.73 2013-12-11 14:28:37 +01:00
Shea Levy 9131b45db4 Linux 3.12.4
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-09 12:01:37 -05:00
Vladimír Čunát 3d3b19d767 Merge #1325: linux-3.2 and grsecurity updates 2013-12-05 23:20:18 +01:00
Shea Levy bb9caf40dd Linux 3.12.3
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-12-05 10:21:06 -05:00
Ricardo M. Correia 61adb5962c grsecurity: Update to 3.0-3.2.53-201312021727 and 3.0-3.12.2-201312021733 2013-12-04 15:28:21 +01:00
Ricardo M. Correia 60ced497f6 linux: Update to 3.2.53 2013-12-04 15:28:20 +01:00
Eelco Dolstra 3b94410d86 linux: Update to 3.4.71 2013-12-01 18:20:39 -05:00
Shea Levy c06361a1fc Linux 3.12: Bump
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-11-30 14:29:49 -05:00
Michael Raskin 0851ed23d8 Merge pull request #1282 from wizeman/grsec-upd
grsecurity: Update to latest version and add patch for kernel 3.12
2013-11-28 21:42:27 -08:00
Ricardo M. Correia 89789e4719 linux: Update to 3.12.1 (close #1281) 2013-11-27 21:52:51 +01:00
Ricardo M. Correia 2106191003 grsecurity: Fix module loading during boot due to path restrictions 2013-11-27 01:32:50 +01:00
Ricardo M. Correia 36955aa721 grsecurity: Update to 3.0-3.2.52-201311261307 and add patch for 3.12 2013-11-27 01:32:14 +01:00
Eelco Dolstra 139c5b5069 linux: Update to 3.4.70 2013-11-26 11:46:41 +01:00
cillianderoiste d0ce0f836f Merge pull request #1268 from cillianderoiste/tuxonice
TuxOnIce: Add a 3.10 linux kernel with the TuxOnIce hibernation patch
2013-11-23 08:33:36 -08:00
Cillian de Róiste a34354ef81 TuxOnIce: Add a 3.10 linux kernel with the TuxOnIce hibernation patch 2013-11-23 17:21:19 +01:00
Ricardo M. Correia a65ecb6382 linux: Update to 3.11.8 (close #1243) 2013-11-20 22:48:12 +01:00
Eelco Dolstra af7162b7a3 linux: Update to 3.4.69 2013-11-13 17:33:58 +01:00
Ricardo M. Correia e8361c3523 linux: Update to 3.11.7 2013-11-09 18:46:29 +01:00
Eelco Dolstra 5098d53db1 linux: Update to 3.10.18 2013-11-06 10:31:53 +01:00
Eelco Dolstra 07ccfe6af8 linux: Update to 3.4.68 2013-11-06 10:29:27 +01:00
Shea Levy d2de64cc66 Fix broken meta.platforms for manual-config kernel
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-11-05 07:19:38 -05:00
Eelco Dolstra c88055e1a2 Set meta.hydraPlatforms instead of meta.platforms for some packages 2013-11-05 00:06:10 +01:00
Eelco Dolstra a2cbc77e4f Only show/build a package on the platforms listed in meta.platforms
The function ‘mkDerivation’ now checks whether the current platform
type is included in a package's meta.platform field.  If not, it
throws an exception:

  $ nix-build -A linux --argstr system x86_64-darwin
  error: user-thrown exception: the package ‘linux-3.10.15’ is not supported on ‘x86_64-darwin’

These packages also no longer show up in ‘nix-env -qa’ output.  This
means, for instance, that the number of packages shown on
x86_64-freebsd has dropped from 9268 to 4764.

Since meta.platforms was also used to prevent Hydra from building some
packages, there now is a new attribute meta.hydraPlatforms listing the
platforms on which Hydra should build the package (which defaults to
meta.platforms).
2013-11-05 00:06:10 +01:00
Shea Levy 268bb64b68 Linux 3.12 release
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-11-03 20:14:48 -05:00
Shea Levy 504ea7662c Remove EOL'd kernels
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-11-01 11:10:05 -04:00
Ricardo M. Correia 57e9fd8bcf grsecurity: Update to 2.9.1-3.2.52-201310271550 2013-10-29 13:32:53 +01:00
Ricardo M. Correia 69513d1480 linux: Update to 3.2.52 2013-10-29 13:32:53 +01:00
Eelco Dolstra 8c65a2a181 linux: Update to 3.4.67 2013-10-24 14:52:09 +02:00
Aristid Breitkreuz 81ef604ae0 linux 3.11.6 2013-10-20 11:42:37 +02:00
Ricardo M. Correia d32636dac4 grsecurity: Update to 2.9.1-3.2.51-201309281102 2013-10-20 08:14:28 +03:00
Ricardo M. Correia 90a2341300 grsecurity: generate linuxPackages and declare that apparmor is included 2013-10-20 08:14:28 +03:00
Evgeny Egorochkin 73449533ba linux 3.12: fix url to match hash 2013-10-19 10:52:16 +03:00
Eelco Dolstra fc593e719d linux: Update to 3.4.66
CVE-2013-2015
2013-10-14 12:52:22 +02:00
Mathijs Kwik ab94b3b863 linux-3.0: upgrade to 3.0.99 2013-10-06 20:17:02 +02:00
Mathijs Kwik c242863da8 linux-3.4: upgrade to 3.4.65 2013-10-06 20:17:01 +02:00
Mathijs Kwik 07fd8c87ab linux-3.10: upgrade to 3.10.15 2013-10-06 20:17:01 +02:00
Mathijs Kwik 2af2f26034 linux-3.11: upgrade to 3.11.4 2013-10-06 20:17:01 +02:00
Mathijs Kwik 40826e309f linux-3.12: upgrade to 3.12-rc3 2013-10-06 20:17:01 +02:00