nixpkgs/pkgs/os-specific/linux/kernel
Lluís Batlle i Rossell 1357904982 Committing the aufs2.1 patch by Shea Levy. His comments:
* My motivation for this patch is that kernels < 2.6.36 contain an
     e1000e that does not support the ethernet card that is part of the
     chipset for the second-generation Core-i Intel CPUs, so in order
     to have a more useful livecd I needed to get aufs working with a
     newer kernel, and 2.6.37 is the latest kernel with an official
     aufs release.
   * All sources are downloaded with fetchgit. This is because the aufs
     upstream doesn't provide release tarballs, they just add a tag to
     their git tree for an official release.
   * The make target for the aufs2.1 headers uses a Makefile in the
     kernel build directory that requires that unifdef be in the
     scripts/ subdirectory of the build directory. The way I've dealt
     with this here is by adding "make $makeFlags -C scripts unifdef"
     to the postBuild in the kernel builder. Since the builder is used
     by all kernel versions, this will require rebuilding every kernel
     and kernel-dependent package if the patch is accepted, so one
     alternative I thought of would be to create a fake kernel build
     directory where everything is symlinked to the real build
     directory except scripts/, which is first copied and then make
     unifdef is run before building aufs2.1. If that more complicated
     solution is preferred, or if anyone has ideas for another one, I
     can do that and submit a new patch.
   * The patch was tested by building a livecd ISO that uses it, then
     running the ISO from within virtualbox and installing aufs2.1-util
     from within the livecd environment.
   * The livecd was built using installation-cd-minimal.nix, with two
     changes to the Nixos tree:
        1. boot.kernelPackages = pkgs.linuxPackages_2_6_37 was added to
           profiles/minimal.nix
        2. config.boot.kernelPackages.aufs2 was changed to
           config.boot.kernelPackages.aufs2_1 in iso-image.nix
     I would have preferred to keep all changes within
     profiles/minimal.nix, but I couldn't figure out how to override
     iso-image.nix's definition of boot.extraModulePackages. Livecds
     that use an older kernel can't be built with this iso-image.nix,
     since we don't have aufs2.1 for them (just aufs2). If someone can
     point me to how I can override things set in iso-image.nix, I'd
     appreciate it.

make -C scripts unifdef compiles the unifdef application in the
scripts/ directory, and when Nix copies over the build tree to
$out/lib/modules/$version/build for kernel modules to reference, it
copies over all of scripts/ except the .o files. I can't speak for
other kernel versions, but at the least for 2.6.37.1 unifdef is not
built by default. If you look at the Makefile in scripts, unifdef is
listed  under a comment saying that the following programs are only
built on-demand.

svn path=/nixpkgs/trunk/; revision=26548
2011-03-27 15:18:39 +00:00
..
aufs2-34.patch
aufs2-35.patch Correct patch for AUFS2 2.6.35.* 2010-08-29 10:37:58 +00:00
aufs2.1-37.patch Committing the aufs2.1 patch by Shea Levy. His comments: 2011-03-27 15:18:39 +00:00
aufs2.patch
builder.sh Committing the aufs2.1 patch by Shea Levy. His comments: 2011-03-27 15:18:39 +00:00
cifs-timeout.patch
config-2.6.31-armv5tel
dell-rfkill.patch
generate-config.pl
generic.nix Updating from trunk. 2010-09-17 19:10:21 +00:00
guruplug-defconfig.patch Linux: Add GuruPlug-related patches. 2010-09-17 15:56:42 +00:00
guruplug-mach-type.patch Linux: Add GuruPlug-related patches. 2010-09-17 15:56:42 +00:00
linux-2.6.25.nix
linux-2.6.27.nix * Linux 2.6.27.57, 2.6.32.28. 2011-01-14 13:01:15 +00:00
linux-2.6.28.nix
linux-2.6.29.nix
linux-2.6.31.nix
linux-2.6.32-xen.nix * Update the Xen pvops kernel. 2010-10-07 14:06:44 +00:00
linux-2.6.32.nix * Linux 2.6.32.33. 2011-03-16 09:30:38 +00:00
linux-2.6.33.nix
linux-2.6.34.nix update kernels 2010-09-27 20:05:42 +00:00
linux-2.6.35.nix kernel: 2.6.35.7 -> 2.6.35.9 2011-01-11 13:42:52 +00:00
linux-2.6.36.nix kernel: 2.6.36.2 -> 2.6.36.3 2011-01-11 13:42:55 +00:00
linux-2.6.37.nix kernel: 2.6.37 -> 2.6.37.1 2011-02-24 22:19:42 +00:00
linux-2.6.38.nix Source for Linux 2.6.38 2011-03-18 07:51:22 +00:00
linux-nanonote-jz-2.6.34.nix
linux-nanonote-jz-2.6.35.nix
linux-nanonote-jz-2.6.36.nix Adding the nanonote openwrt 2.6.36 kernel 2010-12-06 15:30:19 +00:00
mips_restart.patch Fix for a syscall restart bug on linux-mips 2010-11-21 15:26:36 +00:00
patches.nix Committing the aufs2.1 patch by Shea Levy. His comments: 2011-03-27 15:18:39 +00:00
sec_perm-2.6.24.patch
sheevaplug_modules-2.6.35.patch Adding a patch fixing ARM trouble on the recent linux 2.6.35 2010-10-07 22:10:28 +00:00