Commit graph

7 commits

Author SHA1 Message Date
Lluís Batlle i Rossell 11aa65c28a Simplified much more the expressions for cross building and multiplatform.
I introduce the new nixpkgs parameter "platform", defaulting to "pc",
which was before defined as an attribute of nixpkgs.

I made the crossSystem nixpkgs attribute set parameter contain its own 'platform'.

This allows cross-building a kernel for a given crossSystem.platform in a non-PC
platform.

The actual native platform can be taken from stdenv.platform, and this way we also
avoid the constant passing of 'platform' to packages for platform-dependant builds
(kernel, initrd, ...).

I will update nixos accordingly to these changes, for non-PC platforms to work.

I think we are gaining on flexibility and clearness. I could cross build succesfully
an ultrasparc kernel and a mipsel kernel on PC. But since this change, I should be able
to do this also in non-PC.

Before this change, there was no possibility of distinguishing the "target platform" or
the "native build platform" when cross building, being the single "platform" attribute
always interpreted as target platform.

The platform is a quite relevant attribute set, as it determines the linuxHeaders used
(in the case, by now the only one supported, of linux targets).

The platform attributes are quite linux centric still. Let's hope for more generality to come.

svn path=/nixpkgs/trunk/; revision=20273
2010-02-27 17:35:47 +00:00
Lluís Batlle i Rossell be2ff23280 Making the 'makeInitrd' expression use "platform"
svn path=/nixpkgs/branches/stdenv-updates/; revision=18292
2009-11-08 18:47:55 +00:00
Lluís Batlle i Rossell 4b27d28701 Porting changes from stdenv-updates into this branch.
This comes from:
svn diff  ^/nixpkgs/trunk/@18255 ^/nixpkgs/branches/stdenv-updates/ > diff
patch -p0 < diff
and then adding into svn all files new from the patch.

trunk@18255 comes from the last time I updated stdenv-updates from trunk.


svn path=/nixpkgs/stdenv-updates2/; revision=18272
2009-11-08 00:32:12 +00:00
Eelco Dolstra 58e6161768 * addCoverageInstrumentation: factor out the code that keeps the build
tree under $out into a separate stdenv adapter named keepBuildTree.
* makeModulesClosure: support building an initrd for a kernel that has
  been compiled with coverage instrumentation.

svn path=/nixpkgs/trunk/; revision=16916
2009-09-01 21:56:46 +00:00
Eelco Dolstra 16da00e64d * Doh! Since r15200, modules-closure.sh generated an empty set of
modules for the initial ramdisk if there were no additional kernel
  module packages (such as the NVIDIA driver or AUFS), leading to a
  kernel panic in the initrd.  This was because in that case modprobe
  would print paths referring to the kernel path rather than the
  module aggregation path, and then `sed "s^$kernel^$out^"' would
  silently fail.  Fixed.

* Also, use depmod here rather than doing sed hackery on modules.dep.

* Also, `allowMissing' was broken (missing "$" before the variable
  name).

svn path=/nixpkgs/trunk/; revision=15394
2009-04-29 14:32:04 +00:00
Michael Raskin 4eaf33cc7a Allow to skip non-existent modules. For custom kernels.
svn path=/nixpkgs/trunk/; revision=11273
2008-03-24 19:38:18 +00:00
Eelco Dolstra 3ee0b9bb74 * makeInitrd, makeModulesClosure: moved from NixOS.
* Use sh from klibc in the initrd.

svn path=/nixpkgs/trunk/; revision=11154
2008-03-17 10:40:47 +00:00