on the native and cross platforms.
I thought I already did that today in a previous commit, but I did all wrong.
svn path=/nixpkgs/trunk/; revision=20280
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
It seems that there is no make target named 'vmlinuz' that makes the file 'vmlinuz'.
So we need different variables for the make target and the kernel file. Unless we
some day stop using the file 'vmlinuz' in pc, and use bzImage.
svn path=/nixpkgs/trunk/; revision=20092
"make config" to print an additional question that the script
doesn't know how to answer ("Audio Excel DSP 16 [N/y] (NEW) ###").
Just ignore it.
svn path=/nixpkgs/branches/stdenv-updates/; revision=19713
I fixed conflicts regarding the renaming 'kernel' -> 'linux' in all-packages.
Also a small conflict in all-packages about making openssl overridable.
And I some linux 2.6.31-zen kernel files also marked in conflict.
svn path=/nixpkgs/branches/stdenv-updates/; revision=19438
most of the kernel expressions for the sheevaplug).
I still have not added anything in the kernels about cross compilation.
I moved the platform definitions out of all-packages.
I have not written good platform definitions for the sheevaplug - only for the
PC.
Only the linux-2.6.32 expression uses the platforms kernelConfig.
The linux-2.6.31 was broken, and I left it broken.
svn path=/nixpkgs/branches/stdenv-updates/; revision=19046
sheevaplug kernel, so the kernel does not build in the sheevaplug right now.
I will try to fix that in next commits.
svn path=/nixpkgs/branches/stdenv-updates/; revision=19045
has to be "/bin/sh" - other values such as "sh" or "bash" or "$(type
-tP sh)" cause a build error:
LD .tmp_vmlinux1
/nix/store/1yv8i1m76cvwk5w5i5wrk4gj5zyfj6vh-binutils-2.19.1/bin/ld:arch/um/kernel/vmlinux.lds:1: ignoring invalid character `#' in expression
/nix/store/1yv8i1m76cvwk5w5i5wrk4gj5zyfj6vh-binutils-2.19.1/bin/ld:arch/um/kernel/vmlinux.lds:1: syntax error
collect2: ld returned 1 exit status
This is caused by Bash 4.0
(http://bugzilla.kernel.org/show_bug.cgi?id=13343).
svn path=/nixpkgs/branches/kernel-config/; revision=18941
* Move kernel patches out of all-packages.nix to
os-specific/linux/kernel/patches.nix.
* Make the kernel config available under $out/config (it's also in
$out/lib/modules/$version/build/.config, but that's kind of hard to
find).
svn path=/nixpkgs/branches/kernel-config/; revision=18937
`generate-config.pl' runs `make config' to generate a Linux kernel
configuration file. For each question (i.e. kernel configuration
option), unless an override is provided, it answers "m" if possible,
and otherwise uses the default answer (as determined by the default
config for the architecture). This is safer than allmodconfig,
which answers "y" everywhere it can't answer "m" and thus ends up
enabling a lot of experimental or debug options. (For this reason,
a configuration generated by allmodconfig must be carefully checked
with every new release to ensure that nothing dangerous is enabled.
The default config should be safer wrt new kernel releases.)
Overrides are specified in the `config' argument to generic.nix,
which is a string that contains lines such as `EXT2_FS_POSIX_ACL y'.
The script warns about ignored options, and aborts if `make config'
selects an answer inconsistent with the one in `config'. This
allows us to be sure that `make config' doesn't silently override
our configuration values (e.g., depending on other options, it will
set FB_TILEBLITTING to "y" even if we want it to be "n").
svn path=/nixpkgs/branches/kernel-config/; revision=18910
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
* Build the PC speaker as a module. This allows people who are
annoyed by beeps (e.g. users of Dell Latitude D6xx laptops) to get
rid of them :-)
svn path=/nixpkgs/trunk/; revision=15983
builders. These are redundant now.
* Inlined some trivial builders.
* Removed a few explicit setup-hook creations. This is done
automatically now if setupHook is set.
* Deleted the initscripts package. NixOS doesn't use it anymore.
svn path=/nixpkgs/branches/stdenv-updates/; revision=15276
Linux kernel 2.6.29 (release) has a slightly changed Makefile. They now add the prefix for depmod. So in NixOS "make modules_install" fails on depmod. To fix it, our old '/-b \$(INSTALL_MOD_PATH) -r/d' should be replaced with '/-b \$(INSTALL_MOD_PATH)/d'.
svn path=/nixpkgs/trunk/; revision=14811