Files
nixpkgs/pkgs/os-specific/linux/kernel
Eelco Dolstra 0aea0db581 * Put all packages that depend on a specific kernel (notably kernel
modules) together in an attribute set returned by the function
  "kernelPackagesFor" that takes a kernel as argument.  For instance,
  kernelPackages_2_6_23 is the result of calling this function with
  kernel_2_6_23.

  This is necessary in NixOS to make it easier to override the kernel:
  it's not enough to just specify a different kernel (via the
  boot.kernel option), but you also need matching nvidiaDriver, aufs,
  iwlwifi, etc.  Having a single attribute set that contains all
  kernel-related packages makes this much easier.

* The kernel now has a passthru attribute "features" that allows NixOS
  expressions to test whether a kernel has certain features.  For
  instance, the externel "iwlwifi" kernel module package should only
  be built on kernels < 2.6.24, as kernels >= 2.6.24 have iwlwifi
  support integrated.  So the NixOS expressions can do the test
  "kernel.features ? iwlwifi" to see if the iwlwifi package should be
  built.

  Kernel patches can declare additional features.  E.g., the fbsplash
  patch adds a "fbSplash" feature.

svn path=/nixpkgs/trunk/; revision=11881
2008-05-22 12:01:24 +00:00
..
2008-01-30 17:20:48 +00:00
2008-04-25 10:22:09 +00:00
2007-02-07 16:01:19 +00:00
2007-02-08 14:53:53 +00:00
2007-05-31 13:32:22 +00:00
2007-07-20 15:25:45 +00:00
2007-07-20 15:25:45 +00:00
2008-05-21 09:19:44 +00:00

*** Updating the kernel configs ***

- Copy the old Nix expression (e.g. linux-2.6.21.nix) to the new one
  (e.g. linux-2.6.22.nix) and update it.
- Add an new attribute to all-packages.nix.
- Unpack the new kernel.

For each platform (i686, x86-64, uml):

- Make an svn copy from the old config (e.g. config-2.6.21-i686-smp)
  to the new one (e.g. (e.g. config-2.6.22-i686-smp).
- Copy the config file for this platform
  (e.g. config-2.6.22-i686-smp) to .config in the kernel source tree.
- Run `make oldconfig ARCH={i386,x86_64,um}', answer all questions.
  (For the uml configuration, also add "SHELL=bash".)
- Make sure that CONFIG_FB_TILEBLITTING is NOT SET (otherwise fbsplash
  won't work).  If it is, investigate why (there's probably another
  option that forces it to be on) and fix it.
- Copy .config over the new config file (e.g. config-2.6.21-i686-smp).