diff options
Diffstat (limited to 'pkgs/os-specific/linux/zen-kernel/2.6.31-zen5.nix')
-rw-r--r-- | pkgs/os-specific/linux/zen-kernel/2.6.31-zen5.nix | 97 |
1 files changed, 94 insertions, 3 deletions
diff --git a/pkgs/os-specific/linux/zen-kernel/2.6.31-zen5.nix b/pkgs/os-specific/linux/zen-kernel/2.6.31-zen5.nix index c736396a8e3e..cb0a07ec289f 100644 --- a/pkgs/os-specific/linux/zen-kernel/2.6.31-zen5.nix +++ b/pkgs/os-specific/linux/zen-kernel/2.6.31-zen5.nix @@ -3,7 +3,10 @@ let s = import ./src-for-2.6.31-zen5.nix; in (import ../kernel/generic.nix) (rec { - inherit (a) stdenv fetchurl perl mktemp module_init_tools; + inherit (a) stdenv fetchurl perl mktemp module_init_tools platform; + + uboot = if (platform.name == "sheevaplug") then + platform.uboot else null; src = a.builderDefs.fetchGitFromSrcInfo s; version = "2.6.31-zen5"; @@ -11,7 +14,7 @@ let features = { iwlwifi = true; zen = true; - fbConDecor = true; + fbConDecor = if (platform.name == "pc") then true else false; aufs = true; }; @@ -23,7 +26,7 @@ let linux; }; - preConfigure = '' + configFunctions = '' killOption () { sed -re 's/^('"$1"')=.*/# \1 is not set/' -i .config } @@ -38,7 +41,10 @@ let setOptionYes () { setOptionVal "$1" y } + ''; + + configurePC = '' make allmodconfig killOption CONFIG_CMDLINE_OVERRIDE @@ -99,4 +105,89 @@ let '' cp .config ${config} ''; + + configureBaseSheevaplug = '' + ARCH=arm make kirkwood_defconfig + ''; + + configureBaseVersatileARM = '' + ARCH=arm make versatile_defconfig + ''; + + configureARM = '' + killOption CONFIG_CMDLINE_OVERRIDE + + killOption 'CONFIG_.*_DEBUG.*' + killOption 'CONFIG_DEBUG.*' + killOption CONFIG_AUDIT_ARCH + killOption CONFIG_PERF_COUNTERS + killOption 'CONFIG_GCOV.*' + killOption 'CONFIG_KGDB.*' + killOption 'CONFIG_.*_TEST' + killOption CONFIG_TASKSTATS + + killOption CONFIG_SLQB + killOption CONFIG_SLQB_ALLOCATOR + setOptionYes CONFIG_SLUB_ALLOCATOR + setOptionYes CONFIG_SLUB + killOption CONFIG_ACPI_CUSTOM_DSDT_INITRD + killOption CONFIG_DEVTMPFS + killOption CONFIG_DEVTMPFS_MOUNT + + killOption CONFIG_IMA + '' + + '' + killOption CONFIG_USB_OTG_BLACKLIST_HUB + ''+ + '' + killOption CONFIG_KERNEL_BZIP2 + killOption CONFIG_KERNEL_LZMA + setOptionYes CONFIG_KERNEL_GZIP + ''+ + '' + killOption CONFIG_FB_TILEBLITTING + killOption CONFIG_FB_S3 + killOption CONFIG_FB_VT8623 + killOption CONFIG_FB_ARK + killOption CONFIG_FRAMEBUFFER_CONSOLE + killOption CONFIG_FB + make oldconfig + killOption CONFIG_FB_CON_DECOR + killOption CONFIG_FB_VESA + ''+ + '' + killOption CONFIG_PREEMPT_NONE + setOptionYes CONFIG_PREEMPT_VOLUNTARY + ''+ + '' + killOption CONFIG_PRAMFS + ''+ + '' + setOptionYes CONFIG_MTD_UBI + setOptionYes CONFIG_REISERFS_FS + setOptionYes CONFIG_FUSE_FS + setOptionYes CONFIG_ISO9660_FS + ''+ + (if a.lib.attrByPath ["ckSched"] false a then '' + killOption CONFIG_CPU_CFS + setOptionYes CONFIG_CPU_BFS + killOption CONFIG_NO_HZ + killOption CONFIG_HZ_1000 + setOptionYes CONFIG_HZ_250 + setOptionVal CONFIG_HZ 250 + ''else "") + + '' + cp .config ${config} + ''; + + + preConfigure = configFunctions + + (if (platform.name == "pc") then + (configureBaseSheevaplug + configureARM) + else if (platform.name == "sheevaplug") then + (configureBaseSheevaplug + configureARM) + else if (platform.name == "versatileARM") then + (configureBaseVersatileARM + configureARM) + else throw "platform not supported" + ); }) |