Commit graph

60 commits

Author SHA1 Message Date
Lluís Batlle i Rossell
f7d0fcdaac Making the kernel builder accept the 'vmlinux' kerneltarget.
svn path=/nixpkgs/branches/stdenv-updates/; revision=23274
2010-08-20 13:30:59 +00:00
Lluís Batlle i Rossell
eddc9d6ab5 Fixing the nanonote kernel expressions so they work.
In fact only 2.6.34 boots fine, while 2.6.35 needs a fetchsvn new revision,
waiting for an upstream patch.

svn path=/nixpkgs/branches/stdenv-updates/; revision=23039
2010-08-08 18:46:57 +00:00
Ludovic Courtès
3bda68d779 Linux: Attempt to copy more debugging info to $out.
svn path=/nixpkgs/trunk/; revision=21624
2010-05-06 11:52:49 +00:00
Ludovic Courtès
074f450ab3 Linux: Patch incorrect absolute paths in makefiles.
svn path=/nixpkgs/trunk/; revision=21623
2010-05-06 11:52:43 +00:00
Ludovic Courtès
96f2d289bc Don't strip Linux modules in the SystemTap variant.
svn path=/nixpkgs/trunk/; revision=21619
2010-05-05 19:48:52 +00:00
Lluís Batlle i Rossell
9bcb6277f3 Changing linux kernel references from vmlinuz to bzImage.
This way we get a simpler kernel build script.

svn path=/nixpkgs/trunk/; revision=20094
2010-02-18 11:34:48 +00:00
Lluís Batlle i Rossell
5fc64e5f9c Again, trying to fix the kernel build.
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
2010-02-18 10:25:33 +00:00
Lluís Batlle i Rossell
ee72c53378 Trying to fix the non-cross kernel build.
svn path=/nixpkgs/trunk/; revision=20090
2010-02-18 08:02:16 +00:00
Lluís Batlle i Rossell
4e51d7d296 Fixing the linux kernel cross builder (lacking an ARCH again in a make call)
svn path=/nixpkgs/trunk/; revision=20081
2010-02-17 22:36:59 +00:00
Lluís Batlle i Rossell
70cb7050f5 Trying to make the linux kernels also cross-build.
svn path=/nixpkgs/trunk/; revision=20080
2010-02-17 22:20:56 +00:00
Lluís Batlle i Rossell
c86da889cc 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
2010-02-16 19:27:51 +00:00
Eelco Dolstra
e04beb262e * Strangely, running "make defconfig" before the generator causes
"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
2010-01-27 15:43:27 +00:00
Lluís Batlle i Rossell
9ef11e4c4d Made the linux kernel expressions support 'platform' again (thinking on reusing
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
2009-12-19 12:12:24 +00:00
Lluís Batlle i Rossell
5bae851b1e Merging from trunk. I had to give away some structure to build the native
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
2009-12-19 11:14:16 +00:00
Eelco Dolstra
c3e80cbc9f * Get User-Mode Linux to build with a newer kernel. Yes, SHELL really
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
2009-12-14 17:22:38 +00:00
Eelco Dolstra
03b4efe9c8 * Use the kernel config generator for Linux 2.6.27.
* 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
2009-12-14 15:28:55 +00:00
Eelco Dolstra
15c6ede144 * Allow options to be ignored if they don't exist by marking them with
a "?".

svn path=/nixpkgs/branches/kernel-config/; revision=18931
2009-12-14 09:27:15 +00:00
Eelco Dolstra
71ed6194e1 * Get fbcondecor to work.
* Barf on ignored options.

svn path=/nixpkgs/branches/kernel-config/; revision=18914
2009-12-12 18:55:17 +00:00
Eelco Dolstra
03e45e0cb4 * Added a script to generate the kernel configuration.
`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
2009-12-12 13:51:07 +00:00
Lluís Batlle i Rossell
7769ad11bd Updating the logic to put the resulting kernel image into its store path.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18289
2009-11-08 17:19:46 +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
e559192847 * Fix module installation.
svn path=/nixpkgs/trunk/; revision=15887
2009-06-07 21:49:14 +00:00
Michael Raskin
65a87fefd5 Fix kernel builder - fails, depending on FS behavior
svn path=/nixpkgs/trunk/; revision=15437
2009-05-04 10:51:51 +00:00
Michael Raskin
10b1740dab Copy all the headers already - problems with module building seem to be worse than hdd usage
svn path=/nixpkgs/trunk/; revision=15423
2009-05-02 14:18:22 +00:00
Eelco Dolstra
7689a348c4 * Got rid of a lot of "postInstall=postInstall" and similar lines in
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
2009-04-23 13:31:10 +00:00
Michael Raskin
9379c34b11 Renable preConfigure for kernel builder. Actually needed by custom kernel
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
2009-03-31 20:10:05 +00:00
Michael Raskin
958a01ffa6 These changes to kernel builder are obviously needed. kQemu is built, but causes kernel oops
svn path=/nixpkgs/trunk/; revision=14213
2009-02-24 05:10:36 +00:00
Lluís Batlle i Rossell
f9b79d752a Fixing in general the module construction (there were wrong paths in modules/build). Now kqemu works well for me, for instance. I will take the commit back, if it annoys anyone.
svn path=/nixpkgs/trunk/; revision=14192
2009-02-22 20:49:35 +00:00
Eelco Dolstra
4eedf7dae8 * Install the arch-specific headers for Linux <= 2.6.27 properly
again.

svn path=/nixpkgs/trunk/; revision=13783
2009-01-16 10:28:18 +00:00
Eelco Dolstra
7df6cdf6da * Doh.
svn path=/nixpkgs/trunk/; revision=13780
2009-01-15 15:59:59 +00:00
Eelco Dolstra
739ef5e82a * Various hacks needed to get the NVIDIA driver to build on
Linux 2.6.28.  In particular the arch-specific headers
  are in a different place now.  (I'd like to do "make
  headers_install", but it doesn't install all the headers
  that are needed to build external kernel modules.  What
  a mess.)
* Add Linux 2.6.28 to the channel.

svn path=/nixpkgs/trunk/; revision=13775
2009-01-15 15:00:30 +00:00
Eelco Dolstra
e466241a8d * On Linux 2.6.25, the arch files for i386 and x86_64 are unified in
arch/x86, so copy them from the right location.

svn path=/nixpkgs/trunk/; revision=11928
2008-05-29 13:21:47 +00:00
Eelco Dolstra
8d1d839579 * Fix for building Linux 2.6.25.
svn path=/nixpkgs/trunk/; revision=11712
2008-04-25 10:22:09 +00:00
Eelco Dolstra
dbc1928af6 * Kernel configuration for Linux 2.6.23.
* More compact way to override kernel configuration options, e.g.
  extraFlags = ["CONFIG_NO_HZ=y" "# CONFIG_IRQBALANCE is not set"];

svn path=/nixpkgs/trunk/; revision=9562
2007-10-31 14:39:43 +00:00
Michael Raskin
dd5daab9d1 Options for kernel and checker for configuration.nix
svn path=/nixpkgs/trunk/; revision=9371
2007-09-25 19:03:07 +00:00
Eelco Dolstra
311dc72bf1 * Suppress localversion from kernel patches, allow the user to set
one.
* Allow the entire kernel configuration to be overridden through a
  function argument.

svn path=/nixpkgs/trunk/; revision=8699
2007-05-15 12:53:03 +00:00
Eelco Dolstra
a984882e0c * Updated User-Mode Linux. It's now unified with the regular (NixOS)
kernel build - just call the function with userModeLinux = true to
  get a UML binary.

svn path=/nixpkgs/trunk/; revision=8423
2007-03-27 11:11:58 +00:00
Eelco Dolstra
2df33633a6 * Linux 2.6.20.2.
svn path=/nixpkgs/trunk/; revision=8286
2007-03-13 17:34:19 +00:00
Eelco Dolstra
c8ceb3b284 * Grmbl.
svn path=/nixpkgs/trunk/; revision=7883
2007-02-08 15:32:14 +00:00
Eelco Dolstra
537b3ec57e * Don't use make install.
svn path=/nixpkgs/trunk/; revision=7880
2007-02-08 14:28:49 +00:00
Eelco Dolstra
e8de94e114 * Kernel patches should declare their .config options so that we don't
have to keep them in config-blahblah.

svn path=/nixpkgs/trunk/; revision=7747
2007-01-22 15:18:30 +00:00
Eelco Dolstra
4c5f454f54 * Another attempt.
svn path=/nixpkgs/trunk/; revision=7526
2007-01-01 14:25:21 +00:00
Eelco Dolstra
b19d591a7e * Another attempt at fixing NIXPKGS-37.
svn path=/nixpkgs/trunk/; revision=7525
2007-01-01 14:17:06 +00:00
Eelco Dolstra
8feb1d109b * Better fix for NIXPKGS-37: don't let check-lxdialog.sh look in
/usr.

svn path=/nixpkgs/trunk/; revision=7524
2007-01-01 13:42:23 +00:00
Eelco Dolstra
e9c1e32a0f * Work around an ncurses impurity.
svn path=/nixpkgs/trunk/; revision=7523
2007-01-01 11:45:48 +00:00
Eelco Dolstra
039b141471 * Generate a modules.dep containing correct paths.
svn path=/nixpkgs/trunk/; revision=6935
2006-11-03 08:32:23 +00:00
Eelco Dolstra
b99122d759 * Set MODULE_DIR.
svn path=/nixpkgs/trunk/; revision=6933
2006-11-03 00:34:48 +00:00
Eelco Dolstra
6225e46baf * Use a pure depmod.
svn path=/nixpkgs/trunk/; revision=6916
2006-10-31 16:03:19 +00:00
Eelco Dolstra
9a6683d6a2 * Linux kernel: updated to 2.6.18.1.
* Kernel: accept a list of kernel patches through the kernelPatches
  argument.  The names of the patches are added to the description
  attribute (e.g., "The Linux kernel (with patches:
  skas-2.6.18-v9-pre9)").
* Generic builder (forked in setup-new.sh): support patches that are
  compressed using gzip or bzip2.

svn path=/nixpkgs/trunk/; revision=6913
2006-10-31 11:40:35 +00:00
Eelco Dolstra
f772de22a1 * Updated the kernel to 2.6.17.13.
* Run `make oldconfig' before building.
* Split buildPhase into configure/build/installPhase.
* Strip the kernel modules for a huge space savings.

svn path=/nixpkgs/trunk/; revision=6555
2006-09-18 22:09:47 +00:00