diff --git a/pkgs/os-specific/linux/kernel/builder.sh b/pkgs/os-specific/linux/kernel/builder.sh index 47c7a22c177a..bea53e9c4dda 100644 --- a/pkgs/os-specific/linux/kernel/builder.sh +++ b/pkgs/os-specific/linux/kernel/builder.sh @@ -10,19 +10,20 @@ postPatch() { # Makefiles are full of /bin/pwd, /bin/false, /bin/bash, etc. # Patch these away, assuming the tools are in $PATH. for mf in $(find -name Makefile); do - echo "stripping FHS paths in \`$mf'..." - sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g' + echo "stripping FHS paths in \`$mf'..." + sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g' done } configurePhase() { if test -n "$preConfigure"; then - eval "$preConfigure"; + eval "$preConfigure" fi export INSTALL_PATH=$out export INSTALL_MOD_PATH=$out + substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' "" # Set our own localversion, if specified. rm -f localversion* @@ -30,7 +31,6 @@ configurePhase() { echo "$localVersion" > localversion-nix fi - # Patch kconfig to print "###" after every question so that # generate-config.pl can answer them. sed -e '/fflush(stdout);/i\printf("###");' -i scripts/kconfig/conf.c @@ -112,7 +112,7 @@ installPhase() { if test "$dontStrip" = "1"; then # copy any debugging info that can be found - cp --parents -rv `find -name \*.debug -o -name debug.a` \ + cp --parents -rv `find -name \*.debug -o -name debug.a` \ "$out/lib/modules/$version/build" fi diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix new file mode 100644 index 000000000000..4b19cd2aa2a7 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -0,0 +1,288 @@ +{ stdenv, version, kernelPlatform, extraConfig }: + +with stdenv.lib; + +'' + # Power management and debugging. + DEBUG_KERNEL y + PM_ADVANCED_DEBUG y + PM_RUNTIME y + TIMER_STATS y + ${optionalString (versionOlder version "3.10") '' + USB_SUSPEND y + ''} + BACKTRACE_SELF_TEST n + CPU_NOTIFIER_ERROR_INJECT? n + DEBUG_DEVRES n + DEBUG_NX_TEST n + DEBUG_STACK_USAGE n + DEBUG_STACKOVERFLOW n + RCU_TORTURE_TEST n + SCHEDSTATS n + + # Support drivers that need external firmware. + STANDALONE n + + # Make /proc/config.gz available. + IKCONFIG_PROC y + + # Optimize with -O2, not -Os. + CC_OPTIMIZE_FOR_SIZE n + + # Enable the kernel's built-in memory tester. + MEMTEST y + + # Include the CFQ I/O scheduler in the kernel, rather than as a + # module, so that the initrd gets a good I/O scheduler. + IOSCHED_CFQ y + BLK_CGROUP y # required by CFQ + + # Enable NUMA. + NUMA? y + + # Disable some expensive (?) features. + FTRACE n + KPROBES n + PM_TRACE_RTC n + + # Enable various subsystems. + ACCESSIBILITY y # Accessibility support + AUXDISPLAY y # Auxiliary Display support + DONGLE y # Serial dongle support + HIPPI y + MTD_COMPLEX_MAPPINGS y # needed for many devices + ${optionalString (versionOlder version "3.2") '' + NET_POCKET y # enable pocket and portable adapters + ''} + SCSI_LOWLEVEL y # enable lots of SCSI devices + SCSI_LOWLEVEL_PCMCIA y + SPI y # needed for many devices + SPI_MASTER y + WAN y + + # Networking options. + IP_PNP n + IPV6_PRIVACY y + NETFILTER_ADVANCED y + IP_VS_PROTO_TCP y + IP_VS_PROTO_UDP y + IP_VS_PROTO_ESP y + IP_VS_PROTO_AH y + IP_DCCP_CCID3 n # experimental + CLS_U32_PERF y + CLS_U32_MARK y + + # Wireless networking. + CFG80211_WEXT y # Without it, ipw2200 drivers don't build + IPW2100_MONITOR y # support promiscuous mode + IPW2200_MONITOR y # support promiscuous mode + HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver + HOSTAP_FIRMWARE_NVRAM y + ATH9K_PCI y # Detect Atheros AR9xxx cards on PCI(e) bus + ATH9K_AHB y # Ditto, AHB bus + ${optionalString (versionAtLeast version "3.2") '' + B43_PHY_HT y + ''} + BCMA_HOST_PCI y + + # Some settings to make sure that fbcondecor works - in particular, + # disable tileblitting and the drivers that need it. + + # Enable various FB devices. + FB y + FB_EFI y + FB_NVIDIA_I2C y # Enable DDC Support + FB_RIVA_I2C y + FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support + FB_ATY_GX y # Mach64 GX support + FB_SAVAGE_I2C y + FB_SAVAGE_ACCEL y + FB_SIS_300 y + FB_SIS_315 y + FB_3DFX_ACCEL y + FB_GEODE y + + # Video configuration. + # Enable KMS for devices whose X.org driver supports it. + DRM_I915_KMS y + ${optionalString (versionOlder version "3.9") '' + DRM_RADEON_KMS y + ''} + # Hybrid graphics support + VGA_SWITCHEROO y + + # Sound. + SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode + SND_HDA_INPUT_BEEP y # Support digital beep via input layer + SND_USB_CAIAQ_INPUT y + PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible) + + # USB serial devices. + USB_SERIAL_GENERIC y # USB Generic Serial Driver + USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices + USB_SERIAL_KEYSPAN_USA28 y + USB_SERIAL_KEYSPAN_USA28X y + USB_SERIAL_KEYSPAN_USA28XA y + USB_SERIAL_KEYSPAN_USA28XB y + USB_SERIAL_KEYSPAN_USA19 y + USB_SERIAL_KEYSPAN_USA18X y + USB_SERIAL_KEYSPAN_USA19W y + USB_SERIAL_KEYSPAN_USA19QW y + USB_SERIAL_KEYSPAN_USA19QI y + USB_SERIAL_KEYSPAN_USA49W y + USB_SERIAL_KEYSPAN_USA49WLC y + + # Filesystem options - in particular, enable extended attributes and + # ACLs for all filesystems that support them. + EXT2_FS_XATTR y + EXT2_FS_POSIX_ACL y + EXT2_FS_SECURITY y # Ext2 Security Labels + EXT2_FS_XIP y # Ext2 execute in place support + EXT4_FS_POSIX_ACL y + EXT4_FS_SECURITY y + REISERFS_FS_XATTR y + REISERFS_FS_POSIX_ACL y + REISERFS_FS_SECURITY y + JFS_POSIX_ACL y + JFS_SECURITY y + XFS_QUOTA y + XFS_POSIX_ACL y + XFS_RT y # XFS Realtime subvolume support + OCFS2_DEBUG_MASKLOG n + BTRFS_FS_POSIX_ACL y + UBIFS_FS_XATTR? y + UBIFS_FS_ADVANCED_COMPR y + NFSD_V2_ACL y + NFSD_V3 y + NFSD_V3_ACL y + NFSD_V4 y + NFS_FSCACHE y + CIFS_XATTR y + CIFS_POSIX y + CIFS_FSCACHE y + + # Security related features. + STRICT_DEVMEM y # Filter access to /dev/mem + SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default + + # Misc. options. + 8139TOO_8129 y + 8139TOO_PIO n # PIO is slower + AIC79XX_DEBUG_ENABLE n + AIC7XXX_DEBUG_ENABLE n + AIC94XX_DEBUG n + ${optionalString (versionAtLeast version "3.3") '' + AUDIT_LOGINUID_IMMUTABLE y + ''} + B43_PCMCIA y + BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support + BLK_DEV_IDEACPI y # IDE ACPI support + BLK_DEV_INTEGRITY y + BSD_PROCESS_ACCT_V3 y + BT_HCIUART_BCSP y + BT_HCIUART_H4 y # UART (H4) protocol support + BT_HCIUART_LL y + BT_RFCOMM_TTY? y # RFCOMM TTY support + CRASH_DUMP n + ${optionalString (versionOlder version "3.1") '' + DMAR? n # experimental + ''} + DVB_DYNAMIC_MINORS? y # we use udev + ${optionalString (versionAtLeast version "3.3") '' + EFI_STUB y # EFI bootloader in the bzImage itself + ''} + FHANDLE y # used by systemd + FUSION y # Fusion MPT device support + IDE_GD_ATAPI y # ATAPI floppy support + IRDA_ULTRA y # Ultra (connectionless) protocol + JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels + JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels + JOYSTICK_XPAD_FF y # X-Box gamepad rumble support + JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED + LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support + LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger + LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback + LOGO n # not needed + MEDIA_ATTACH y + MEGARAID_NEWGEN y + MICROCODE_AMD y + MODVERSIONS y + MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension + MTRR_SANITIZER y + NET_FC y # Fibre Channel driver support + PPP_MULTILINK y # PPP multilink support + REGULATOR y # Voltage and Current Regulator Support + ${optionalString (versionAtLeast version "3.6") '' + RC_DEVICES? y # Enable IR devices + ''} + SCSI_LOGGING y # SCSI logging facility + SERIAL_8250 y # 8250/16550 and compatible serial support + SLIP_COMPRESSED y # CSLIP compressed headers + SLIP_SMART y + THERMAL_HWMON y # Hardware monitoring support + USB_DEBUG n + USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators + USB_EHCI_TT_NEWSCHED y # Improved transaction translator scheduling + X86_CHECK_BIOS_CORRUPTION y + X86_MCE y + + # Linux containers. + RT_GROUP_SCHED? y + CGROUP_DEVICE? y + ${if versionAtLeast version "3.6" then '' + MEMCG y + MEMCG_SWAP y + '' else '' + CGROUP_MEM_RES_CTLR y + CGROUP_MEM_RES_CTLR_SWAP y + ''} + DEVPTS_MULTIPLE_INSTANCES y + + # Enable staging drivers. These are somewhat experimental, but + # they generally don't hurt. + STAGING y + + # PROC_EVENTS requires that the netlink connector is not built + # as a module. This is required by libcgroup's cgrulesengd. + CONNECTOR y + PROC_EVENTS y + + # Tracing. + FTRACE y + FUNCTION_TRACER y + FTRACE_SYSCALLS y + SCHED_TRACER y + + # Devtmpfs support. + DEVTMPFS y + + # Easier debugging of NFS issues. + ${optionalString (versionAtLeast version "3.4") '' + SUNRPC_DEBUG y + ''} + + # Virtualisation. + XEN_DOM0? y + + # Media support. + ${optionalString (versionAtLeast version "3.6") '' + MEDIA_DIGITAL_TV_SUPPORT y + MEDIA_CAMERA_SUPPORT y + MEDIA_RC_SUPPORT y + ''} + ${optionalString (versionAtLeast version "3.7") '' + MEDIA_USB_SUPPORT y + ''} + + # Our initrd init uses shebang scripts, so can't be modular. + ${optionalString (versionAtLeast version "3.10") '' + BINFMT_SCRIPT y + ''} + + # Enable the 9P cache to speed up NixOS VM tests. + 9P_FSCACHE y + 9P_FS_POSIX_ACL y + + ${kernelPlatform.kernelExtraConfig or ""} + ${extraConfig} +'' diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index 85f916de1a35..ad243ae5b7c1 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, perl, mktemp, module_init_tools +{ stdenv, fetchurl, perl, mktemp, module_init_tools, bc , # The kernel source tarball. src @@ -6,15 +6,12 @@ , # The kernel version. version +, # Overrides to the kernel config. + extraConfig ? "" + , # The version number used for the module directory modDirVersion ? version -, # The kernel configuration. - config - -, # The kernel configuration when cross building. - configCross ? {} - , # An attribute set whose attributes express the availability of # certain features in this kernel. E.g. `{iwlwifi = true;}' # indicates a kernel that provides Intel wireless support. Used in @@ -40,7 +37,6 @@ # we force building the target asked: bzImage/zImage/uImage/... postBuild ? "make $makeFlags $kernelTarget; make $makeFlags -C scripts unifdef" -, extraNativeBuildInputs ? [] , ... }: @@ -59,6 +55,12 @@ let map ({extraConfig ? "", ...}: extraConfig) kernelPatches; in lib.concatStringsSep "\n" ([baseConfig] ++ configFromPatches); + configWithPlatform = kernelPlatform: + import ./common-config.nix { inherit stdenv version kernelPlatform extraConfig; }; + + config = configWithPlatform stdenv.platform; + configCross = configWithPlatform stdenv.cross.platform; + in stdenv.mkDerivation { @@ -85,7 +87,7 @@ stdenv.mkDerivation { # For UML and non-PC, just ignore all options that don't apply (We are lazy). ignoreConfigErrors = stdenv.platform.name != "pc"; - nativeBuildInputs = [ perl mktemp ] ++ extraNativeBuildInputs; + nativeBuildInputs = [ perl mktemp bc ]; buildInputs = lib.optional (stdenv.platform.uboot != null) (ubootChooser stdenv.platform.uboot); diff --git a/pkgs/os-specific/linux/kernel/linux-3.0.nix b/pkgs/os-specific/linux/kernel/linux-3.0.nix index 9f1a36db7dd7..48197ae14ca5 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.0.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.0.nix @@ -1,252 +1,12 @@ -args @ { stdenv, fetchurl, extraConfig ? "" -, perl, mktemp, module_init_tools -, ... }: +{ stdenv, fetchurl, ... } @ args: -let - configWithPlatform = kernelPlatform : - '' - # Power management and debugging for powertop. - DEBUG_KERNEL y - PM_ADVANCED_DEBUG y - PM_RUNTIME y - TIMER_STATS y - USB_SUSPEND y - BACKTRACE_SELF_TEST n - CPU_NOTIFIER_ERROR_INJECT n - DEBUG_DEVRES n - DEBUG_NX_TEST n - DEBUG_STACK_USAGE n - DEBUG_STACKOVERFLOW n - RCU_TORTURE_TEST n - SCHEDSTATS n +import ./generic.nix (args // rec { + version = "3.0.88"; - # Support drivers that need external firmware. - STANDALONE n + src = fetchurl { + url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; + sha256 = "1icfkbn9a5cpwiax1xklvpqyjcvqij3dwib009fipp53z4pn5bz4"; + }; - # Make /proc/config.gz available. - IKCONFIG_PROC y - - # Optimize with -O2, not -Os. - CC_OPTIMIZE_FOR_SIZE n - - # Enable the kernel's built-in memory tester. - MEMTEST y - - # Include the CFQ I/O scheduler in the kernel, rather than as a - # module, so that the initrd gets a good I/O scheduler. - IOSCHED_CFQ y - BLK_CGROUP y # required by CFQ - - # Disable some expensive (?) features. - FTRACE n - KPROBES n - NUMA? n - PM_TRACE_RTC n - - # Enable various subsystems. - ACCESSIBILITY y # Accessibility support - AUXDISPLAY y # Auxiliary Display support - DONGLE y # Serial dongle support - HIPPI y - MTD_COMPLEX_MAPPINGS y # needed for many devices - NET_POCKET y # enable pocket and portable adapters - SCSI_LOWLEVEL y # enable lots of SCSI devices - SCSI_LOWLEVEL_PCMCIA y - SPI y # needed for many devices - SPI_MASTER y - WAN y - - # Networking options. - IP_PNP n - IPV6_PRIVACY y - NETFILTER_ADVANCED y - IP_VS_PROTO_TCP y - IP_VS_PROTO_UDP y - IP_VS_PROTO_ESP y - IP_VS_PROTO_AH y - IP_DCCP_CCID3 n # experimental - CLS_U32_PERF y - CLS_U32_MARK y - - # Wireless networking. - IPW2100_MONITOR y # support promiscuous mode - IPW2200_MONITOR y # support promiscuous mode - HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver - HOSTAP_FIRMWARE_NVRAM y - ATH9K_PCI y # Detect Atheros AR9xxx cards on PCI(e) bus - ATH9K_AHB y # Ditto, AHB bus - - # Some settings to make sure that fbcondecor works - in particular, - # disable tileblitting and the drivers that need it. - - # Enable various FB devices. - FB y - FB_EFI y - FB_NVIDIA_I2C y # Enable DDC Support - FB_RIVA_I2C y - FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support - FB_ATY_GX y # Mach64 GX support - FB_SAVAGE_I2C y - FB_SAVAGE_ACCEL y - FB_SIS_300 y - FB_SIS_315 y - FB_3DFX_ACCEL y - FB_GEODE y - - # Video configuration - # Enable KMS for devices whose X.org driver supports it. - DRM_I915_KMS y - DRM_RADEON_KMS y - # Hybrid graphics support - VGA_SWITCHEROO y - - # Sound. - SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode - SND_HDA_INPUT_BEEP y # Support digital beep via input layer - SND_USB_CAIAQ_INPUT y - PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible) - - # USB serial devices. - USB_SERIAL_GENERIC y # USB Generic Serial Driver - USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices - USB_SERIAL_KEYSPAN_USA28 y - USB_SERIAL_KEYSPAN_USA28X y - USB_SERIAL_KEYSPAN_USA28XA y - USB_SERIAL_KEYSPAN_USA28XB y - USB_SERIAL_KEYSPAN_USA19 y - USB_SERIAL_KEYSPAN_USA18X y - USB_SERIAL_KEYSPAN_USA19W y - USB_SERIAL_KEYSPAN_USA19QW y - USB_SERIAL_KEYSPAN_USA19QI y - USB_SERIAL_KEYSPAN_USA49W y - USB_SERIAL_KEYSPAN_USA49WLC y - - # Filesystem options - in particular, enable extended attributes and - # ACLs for all filesystems that support them. - EXT2_FS_XATTR y # Ext2 extended attributes - EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists - EXT2_FS_SECURITY y # Ext2 Security Labels - EXT2_FS_XIP y # Ext2 execute in place support - EXT4_FS_POSIX_ACL y - EXT4_FS_SECURITY y - REISERFS_FS_XATTR y - REISERFS_FS_POSIX_ACL y - REISERFS_FS_SECURITY y - JFS_POSIX_ACL y - JFS_SECURITY y - XFS_QUOTA y - XFS_POSIX_ACL y - XFS_RT y # XFS Realtime subvolume support - OCFS2_DEBUG_MASKLOG n - BTRFS_FS_POSIX_ACL y - UBIFS_FS_XATTR y - UBIFS_FS_ADVANCED_COMPR y - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - CIFS_XATTR y - CIFS_POSIX y - - # Security related features. - STRICT_DEVMEM y # Filter access to /dev/mem - SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default - - # Misc. options. - 8139TOO_8129 y - 8139TOO_PIO n # PIO is slower - AIC79XX_DEBUG_ENABLE n - AIC7XXX_DEBUG_ENABLE n - AIC94XX_DEBUG n - B43_PCMCIA y - BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support - BLK_DEV_IDEACPI y # IDE ACPI support - BLK_DEV_INTEGRITY y - BSD_PROCESS_ACCT_V3 y - BT_HCIUART_BCSP y - BT_HCIUART_H4 y # UART (H4) protocol support - BT_HCIUART_LL y - BT_L2CAP y - BT_SCO y # audio support - BT_RFCOMM m - BT_RFCOMM_TTY y # RFCOMM TTY support - CRASH_DUMP n - DMAR? n # experimental - DVB_DYNAMIC_MINORS y # we use udev - FHANDLE y # used by systemd - FUSION y # Fusion MPT device support - IDE_GD_ATAPI y # ATAPI floppy support - IRDA_ULTRA y # Ultra (connectionless) protocol - JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels - JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels - JOYSTICK_XPAD_FF y # X-Box gamepad rumble support - JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED - LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support - LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger - LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback - LOGO n # not needed - MEDIA_ATTACH y - MEGARAID_NEWGEN y - MICROCODE_AMD y - MODVERSIONS y - MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension - MTRR_SANITIZER y - NET_FC y # Fibre Channel driver support - PPP_MULTILINK y # PPP multilink support - REGULATOR y # Voltage and Current Regulator Support - SCSI_LOGGING y # SCSI logging facility - SERIAL_8250 y # 8250/16550 and compatible serial support - SLIP_COMPRESSED y # CSLIP compressed headers - SLIP_SMART y - THERMAL_HWMON y # Hardware monitoring support - USB_DEBUG n - USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators - X86_CHECK_BIOS_CORRUPTION y - X86_MCE y - - # Linux Containers - RT_GROUP_SCHED? y - CGROUP_DEVICE? y - CGROUP_MEM_RES_CTLR? y - CGROUP_MEM_RES_CTLR_SWAP? y - DEVPTS_MULTIPLE_INSTANCES? y - - # Enable staging drivers. These are somewhat experimental, but - # they generally don't hurt. - STAGING y - - # PROC_EVENTS requires that the netlink connector is not built - # as a module. This is required by libcgroup's cgrulesengd. - CONNECTOR y - PROC_EVENTS y - - # Devtmpfs support. - DEVTMPFS y - - ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""} - ${extraConfig} - ''; -in - -import ./generic.nix ( - - rec { - version = "3.0.80"; - - preConfigure = '' - substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' "" - ''; - - src = fetchurl { - url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "0f3md117bh8n5izkhjd2jp096jqmwz6wpxn7rf8x2x9cz4jz0cqx"; - }; - - config = configWithPlatform stdenv.platform; - configCross = configWithPlatform stdenv.cross.platform; - - features.iwlwifi = true; - } - - // removeAttrs args ["extraConfig"] -) + features.iwlwifi = true; +}) diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix index 7de8aa85392b..4b5e4d001a64 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix @@ -1,287 +1,16 @@ -args @ { stdenv, fetchurl, extraConfig ? "" -, perl, mktemp, module_init_tools, bc -, ... }: +{ stdenv, fetchurl, ... } @ args: -let - configWithPlatform = kernelPlatform : - '' - # Power management and debugging for powertop. - DEBUG_KERNEL y - PM_ADVANCED_DEBUG y - PM_RUNTIME y - TIMER_STATS y - BACKTRACE_SELF_TEST n - CPU_NOTIFIER_ERROR_INJECT? n - DEBUG_DEVRES n - DEBUG_NX_TEST n - DEBUG_STACK_USAGE n - DEBUG_STACKOVERFLOW n - RCU_TORTURE_TEST n - SCHEDSTATS n +import ./generic.nix (args // rec { + version = "3.10.4"; - # Support drivers that need external firmware. - STANDALONE n + src = fetchurl { + url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; + sha256 = "1f0ynk37bhkllx2ahzp587yr8cvn809v2ad0sn7z92yv48vl4nly"; + }; - # Make /proc/config.gz available. - IKCONFIG_PROC y - - # Optimize with -O2, not -Os. - CC_OPTIMIZE_FOR_SIZE n - - # Enable the kernel's built-in memory tester. - MEMTEST y - - # Include the CFQ I/O scheduler in the kernel, rather than as a - # module, so that the initrd gets a good I/O scheduler. - IOSCHED_CFQ y - BLK_CGROUP y # required by CFQ - - # Enable NUMA. - NUMA? y - - # Disable some expensive (?) features. - FTRACE n - KPROBES n - PM_TRACE_RTC n - - # Enable various subsystems. - ACCESSIBILITY y # Accessibility support - AUXDISPLAY y # Auxiliary Display support - DONGLE y # Serial dongle support - HIPPI? y - MTD_COMPLEX_MAPPINGS y # needed for many devices - SCSI_LOWLEVEL y # enable lots of SCSI devices - SCSI_LOWLEVEL_PCMCIA y - SPI y # needed for many devices - SPI_MASTER y - WAN y - - # Networking options. - IP_PNP n - IPV6_PRIVACY y - NETFILTER_ADVANCED y - IP_VS_PROTO_TCP y - IP_VS_PROTO_UDP y - IP_VS_PROTO_ESP y - IP_VS_PROTO_AH y - IP_DCCP_CCID3 n # experimental - CLS_U32_PERF y - CLS_U32_MARK y - - # Wireless networking. - IPW2100_MONITOR y # support promiscuous mode - IPW2200_MONITOR? y # support promiscuous mode - HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver - HOSTAP_FIRMWARE_NVRAM y - ATH9K_PCI y # Detect Atheros AR9xxx cards on PCI(e) bus - ATH9K_AHB y # Ditto, AHB bus - B43_PHY_HT y - BCMA_HOST_PCI y - CFG80211_WEXT y # Without it, ipw2200 drivers don't build - - # Some settings to make sure that fbcondecor works - in particular, - # disable tileblitting and the drivers that need it. - - # Enable various FB devices. - FB y - FB_EFI y - FB_NVIDIA_I2C y # Enable DDC Support - FB_RIVA_I2C y - FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support - FB_ATY_GX y # Mach64 GX support - FB_SAVAGE_I2C y - FB_SAVAGE_ACCEL y - FB_SIS_300 y - FB_SIS_315 y - FB_3DFX_ACCEL y - FB_GEODE y - - # Video configuration - # Enable KMS for devices whose X.org driver supports it. - DRM_I915_KMS y - DRM_RADEON_KMS? y - # Hybrid graphics support - VGA_SWITCHEROO y - - # Sound. - SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode - SND_HDA_INPUT_BEEP y # Support digital beep via input layer - SND_USB_CAIAQ_INPUT y - PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible) - - # USB serial devices. - USB_SERIAL_GENERIC y # USB Generic Serial Driver - USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices - USB_SERIAL_KEYSPAN_USA28 y - USB_SERIAL_KEYSPAN_USA28X y - USB_SERIAL_KEYSPAN_USA28XA y - USB_SERIAL_KEYSPAN_USA28XB y - USB_SERIAL_KEYSPAN_USA19 y - USB_SERIAL_KEYSPAN_USA18X y - USB_SERIAL_KEYSPAN_USA19W y - USB_SERIAL_KEYSPAN_USA19QW y - USB_SERIAL_KEYSPAN_USA19QI y - USB_SERIAL_KEYSPAN_USA49W y - USB_SERIAL_KEYSPAN_USA49WLC y - - # Filesystem options - in particular, enable extended attributes and - # ACLs for all filesystems that support them. - EXT2_FS_XATTR y # Ext2 extended attributes - EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists - EXT2_FS_SECURITY y # Ext2 Security Labels - EXT2_FS_XIP y # Ext2 execute in place support - EXT4_FS_POSIX_ACL y - EXT4_FS_SECURITY y - REISERFS_FS_XATTR y - REISERFS_FS_POSIX_ACL y - REISERFS_FS_SECURITY y - JFS_POSIX_ACL y - JFS_SECURITY y - XFS_QUOTA y - XFS_POSIX_ACL y - XFS_RT y # XFS Realtime subvolume support - OCFS2_DEBUG_MASKLOG n - BTRFS_FS_POSIX_ACL y - UBIFS_FS_XATTR? y - UBIFS_FS_ADVANCED_COMPR y - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - NFS_FSCACHE y - CIFS_XATTR y - CIFS_POSIX y - CIFS_FSCACHE y - - # Security related features. - STRICT_DEVMEM y # Filter access to /dev/mem - SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default - - # Misc. options. - 8139TOO_8129 y - 8139TOO_PIO n # PIO is slower - AIC79XX_DEBUG_ENABLE n - AIC7XXX_DEBUG_ENABLE n - AIC94XX_DEBUG n - AUDIT_LOGINUID_IMMUTABLE y - B43_PCMCIA y - BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support - BLK_DEV_IDEACPI y # IDE ACPI support - BLK_DEV_INTEGRITY y - BSD_PROCESS_ACCT_V3 y - BT_HCIUART_BCSP y - BT_HCIUART_H4 y # UART (H4) protocol support - BT_HCIUART_LL y - BT_RFCOMM m - BT_RFCOMM_TTY y # RFCOMM TTY support - CRASH_DUMP n - DMAR? n # experimental - DVB_DYNAMIC_MINORS? y # we use udev - EFI_STUB y # EFI bootloader in the bzImage itself - FHANDLE y # used by systemd - FUSION y # Fusion MPT device support - IDE_GD_ATAPI y # ATAPI floppy support - IRDA_ULTRA y # Ultra (connectionless) protocol - JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels - JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels - JOYSTICK_XPAD_FF y # X-Box gamepad rumble support - JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED - LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support - LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger - LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback - LOGO n # not needed - MEDIA_ATTACH? y - MEGARAID_NEWGEN y - MICROCODE_AMD y - MODVERSIONS y - MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension - MTRR_SANITIZER y - NET_FC y # Fibre Channel driver support - PPP_MULTILINK y # PPP multilink support - REGULATOR y # Voltage and Current Regulator Support - RC_DEVICES y # Enable IR devices - SCSI_LOGGING y # SCSI logging facility - SERIAL_8250 y # 8250/16550 and compatible serial support - SLIP_COMPRESSED y # CSLIP compressed headers - SLIP_SMART y - THERMAL_HWMON y # Hardware monitoring support - USB_DEBUG n - USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators - USB_EHCI_TT_NEWSCHED y # Improved transaction translator scheduling - X86_CHECK_BIOS_CORRUPTION y - X86_MCE y - - # Linux Containers - RT_GROUP_SCHED? y - CGROUP_DEVICE? y - MEMCG? y - MEMCG_SWAP? y - DEVPTS_MULTIPLE_INSTANCES? y - - # Enable staging drivers. These are somewhat experimental, but - # they generally don't hurt. - STAGING y - - # PROC_EVENTS requires that the netlink connector is not built - # as a module. This is required by libcgroup's cgrulesengd. - CONNECTOR y - PROC_EVENTS y - - # Tracing - FTRACE y - FUNCTION_TRACER y - FTRACE_SYSCALLS y - SCHED_TRACER y - - # Devtmpfs support. - DEVTMPFS y - - # Media support - MEDIA_CAMERA_SUPPORT? y - MEDIA_RC_SUPPORT? y - MEDIA_USB_SUPPORT y - - # Easier debug of NFS issues - SUNRPC_DEBUG y - - # Our initrd init uses shebang scripts, so can't be modular - BINFMT_SCRIPT y - - # Enable the 9P cache to speed up NixOS VM tests. - 9P_FSCACHE y - 9P_FS_POSIX_ACL y - - ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""} - ${extraConfig} - ''; -in - -import ./generic.nix ( - - rec { - version = "3.10.4"; - testing = false; - - preConfigure = '' - substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' "" - ''; - - src = fetchurl { - url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz"; - sha256 = "1f0ynk37bhkllx2ahzp587yr8cvn809v2ad0sn7z92yv48vl4nly"; - }; - - config = configWithPlatform stdenv.platform; - configCross = configWithPlatform stdenv.cross.platform; - - features.iwlwifi = true; - features.efiBootStub = true; - features.needsCifsUtils = true; - features.canDisableNetfilterConntrackHelpers = true; - features.netfilterRPFilter = true; - - extraNativeBuildInputs = [bc]; - } - - // removeAttrs args ["extraConfig"] -) + features.iwlwifi = true; + features.efiBootStub = true; + features.needsCifsUtils = true; + features.canDisableNetfilterConntrackHelpers = true; + features.netfilterRPFilter = true; +}) diff --git a/pkgs/os-specific/linux/kernel/linux-3.2.nix b/pkgs/os-specific/linux/kernel/linux-3.2.nix index 1e1e41a360a9..9b1d1bcf6c1c 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.2.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.2.nix @@ -1,263 +1,12 @@ -args @ { stdenv, fetchurl, extraConfig ? "" -, perl, mktemp, module_init_tools -, ... }: +{ stdenv, fetchurl, ... } @ args: -let - configWithPlatform = kernelPlatform : - '' - # Power management and debugging for powertop. - DEBUG_KERNEL y - PM_ADVANCED_DEBUG y - PM_RUNTIME y - TIMER_STATS y - USB_SUSPEND y - BACKTRACE_SELF_TEST n - CPU_NOTIFIER_ERROR_INJECT n - DEBUG_DEVRES n - DEBUG_NX_TEST n - DEBUG_STACK_USAGE n - DEBUG_STACKOVERFLOW n - RCU_TORTURE_TEST n - SCHEDSTATS n +import ./generic.nix (args // rec { + version = "3.2.49"; - # Support drivers that need external firmware. - STANDALONE n + src = fetchurl { + url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; + sha256 = "06xiwcgk6hbcp6g1dpmxb95dzx94s29vzmh1pz4lsglcj1yfrkry"; + }; - # Make /proc/config.gz available. - IKCONFIG_PROC y - - # Optimize with -O2, not -Os. - CC_OPTIMIZE_FOR_SIZE n - - # Enable the kernel's built-in memory tester. - MEMTEST y - - # Include the CFQ I/O scheduler in the kernel, rather than as a - # module, so that the initrd gets a good I/O scheduler. - IOSCHED_CFQ y - BLK_CGROUP y # required by CFQ - - # Enable NUMA. - NUMA? y - - # Disable some expensive (?) features. - FTRACE n - KPROBES n - PM_TRACE_RTC n - - # Enable various subsystems. - ACCESSIBILITY y # Accessibility support - AUXDISPLAY y # Auxiliary Display support - DONGLE y # Serial dongle support - HIPPI? y - MTD_COMPLEX_MAPPINGS y # needed for many devices - SCSI_LOWLEVEL y # enable lots of SCSI devices - SCSI_LOWLEVEL_PCMCIA y - SPI y # needed for many devices - SPI_MASTER y - WAN y - - # Networking options. - IP_PNP n - IPV6_PRIVACY y - NETFILTER_ADVANCED y - IP_VS_PROTO_TCP y - IP_VS_PROTO_UDP y - IP_VS_PROTO_ESP y - IP_VS_PROTO_AH y - IP_DCCP_CCID3 n # experimental - CLS_U32_PERF y - CLS_U32_MARK y - - # Wireless networking. - IPW2100_MONITOR y # support promiscuous mode - IPW2200_MONITOR y # support promiscuous mode - HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver - HOSTAP_FIRMWARE_NVRAM y - ATH9K_PCI y # Detect Atheros AR9xxx cards on PCI(e) bus - ATH9K_AHB y # Ditto, AHB bus - - # Some settings to make sure that fbcondecor works - in particular, - # disable tileblitting and the drivers that need it. - - # Enable various FB devices. - FB y - FB_EFI y - FB_NVIDIA_I2C y # Enable DDC Support - FB_RIVA_I2C y - FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support - FB_ATY_GX y # Mach64 GX support - FB_SAVAGE_I2C y - FB_SAVAGE_ACCEL y - FB_SIS_300 y - FB_SIS_315 y - FB_3DFX_ACCEL y - FB_GEODE y - - # Video configuration - # Enable KMS for devices whose X.org driver supports it. - DRM_I915_KMS y - DRM_RADEON_KMS y - # Hybrid graphics support - VGA_SWITCHEROO y - - # Sound. - SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode - SND_HDA_INPUT_BEEP y # Support digital beep via input layer - SND_USB_CAIAQ_INPUT y - PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible) - - # USB serial devices. - USB_SERIAL_GENERIC y # USB Generic Serial Driver - USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices - USB_SERIAL_KEYSPAN_USA28 y - USB_SERIAL_KEYSPAN_USA28X y - USB_SERIAL_KEYSPAN_USA28XA y - USB_SERIAL_KEYSPAN_USA28XB y - USB_SERIAL_KEYSPAN_USA19 y - USB_SERIAL_KEYSPAN_USA18X y - USB_SERIAL_KEYSPAN_USA19W y - USB_SERIAL_KEYSPAN_USA19QW y - USB_SERIAL_KEYSPAN_USA19QI y - USB_SERIAL_KEYSPAN_USA49W y - USB_SERIAL_KEYSPAN_USA49WLC y - - # Filesystem options - in particular, enable extended attributes and - # ACLs for all filesystems that support them. - EXT2_FS_XATTR y # Ext2 extended attributes - EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists - EXT2_FS_SECURITY y # Ext2 Security Labels - EXT2_FS_XIP y # Ext2 execute in place support - EXT4_FS_POSIX_ACL y - EXT4_FS_SECURITY y - REISERFS_FS_XATTR y - REISERFS_FS_POSIX_ACL y - REISERFS_FS_SECURITY y - JFS_POSIX_ACL y - JFS_SECURITY y - XFS_QUOTA y - XFS_POSIX_ACL y - XFS_RT y # XFS Realtime subvolume support - OCFS2_DEBUG_MASKLOG n - BTRFS_FS_POSIX_ACL y - UBIFS_FS_XATTR y - UBIFS_FS_ADVANCED_COMPR y - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - NFS_FSCACHE y - CIFS_XATTR y - CIFS_POSIX y - CIFS_FSCACHE y - - # Security related features. - STRICT_DEVMEM y # Filter access to /dev/mem - SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default - - # Misc. options. - 8139TOO_8129 y - 8139TOO_PIO n # PIO is slower - AIC79XX_DEBUG_ENABLE n - AIC7XXX_DEBUG_ENABLE n - AIC94XX_DEBUG n - B43_PCMCIA y - BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support - BLK_DEV_IDEACPI y # IDE ACPI support - BLK_DEV_INTEGRITY y - BSD_PROCESS_ACCT_V3 y - BT_HCIUART_BCSP y - BT_HCIUART_H4 y # UART (H4) protocol support - BT_HCIUART_LL y - BT_L2CAP y - BT_SCO y # audio support - BT_RFCOMM m - BT_RFCOMM_TTY y # RFCOMM TTY support - CRASH_DUMP n - DMAR? n # experimental - DVB_DYNAMIC_MINORS y # we use udev - FHANDLE y # used by systemd - FUSION y # Fusion MPT device support - IDE_GD_ATAPI y # ATAPI floppy support - IRDA_ULTRA y # Ultra (connectionless) protocol - JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels - JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels - JOYSTICK_XPAD_FF y # X-Box gamepad rumble support - JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED - LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support - LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger - LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback - LOGO n # not needed - MEDIA_ATTACH y - MEGARAID_NEWGEN y - MICROCODE_AMD y - MODVERSIONS y - MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension - MTRR_SANITIZER y - NET_FC y # Fibre Channel driver support - PPP_MULTILINK y # PPP multilink support - REGULATOR y # Voltage and Current Regulator Support - SCSI_LOGGING y # SCSI logging facility - SERIAL_8250 y # 8250/16550 and compatible serial support - SLIP_COMPRESSED y # CSLIP compressed headers - SLIP_SMART y - THERMAL_HWMON y # Hardware monitoring support - USB_DEBUG n - USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators - X86_CHECK_BIOS_CORRUPTION y - X86_MCE y - - # Linux Containers - RT_GROUP_SCHED? y - CGROUP_DEVICE? y - CGROUP_MEM_RES_CTLR? y - CGROUP_MEM_RES_CTLR_SWAP? y - DEVPTS_MULTIPLE_INSTANCES? y - - # Enable staging drivers. These are somewhat experimental, but - # they generally don't hurt. - STAGING y - - # PROC_EVENTS requires that the netlink connector is not built - # as a module. This is required by libcgroup's cgrulesengd. - CONNECTOR y - PROC_EVENTS y - - # Tracing - FTRACE y - FUNCTION_TRACER y - FTRACE_SYSCALLS y - SCHED_TRACER y - - # Devtmpfs support. - DEVTMPFS y - - ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""} - ${extraConfig} - ''; -in - -import ./generic.nix ( - - rec { - version = "3.2.49"; - - modDirVersion = version; - - preConfigure = '' - substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' "" - ''; - - src = fetchurl { - url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "06xiwcgk6hbcp6g1dpmxb95dzx94s29vzmh1pz4lsglcj1yfrkry"; - }; - - config = configWithPlatform stdenv.platform; - configCross = configWithPlatform stdenv.cross.platform; - - features.iwlwifi = true; - } - - // removeAttrs args ["extraConfig"] -) + features.iwlwifi = true; +}) diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix index e02f9bd5b7b3..2cb37987ff45 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix @@ -1,271 +1,15 @@ -args @ { stdenv, fetchurl, extraConfig ? "" -, perl, mktemp, module_init_tools -, ... }: +{ stdenv, fetchurl, ... } @ args: -let - configWithPlatform = kernelPlatform : - '' - # Power management and debugging for powertop. - DEBUG_KERNEL y - PM_ADVANCED_DEBUG y - PM_RUNTIME y - TIMER_STATS y - USB_SUSPEND y - BACKTRACE_SELF_TEST n - CPU_NOTIFIER_ERROR_INJECT? n - DEBUG_DEVRES n - DEBUG_NX_TEST n - DEBUG_STACK_USAGE n - DEBUG_STACKOVERFLOW n - RCU_TORTURE_TEST n - SCHEDSTATS n +import ./generic.nix (args // rec { + version = "3.4.55"; - # Support drivers that need external firmware. - STANDALONE n + src = fetchurl { + url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; + sha256 = "1sbb6qa2nb1zwihkdn51q5ac3kn7hrssabn5whx8965hga7yw1dx"; + }; - # Make /proc/config.gz available. - IKCONFIG_PROC y - - # Optimize with -O2, not -Os. - CC_OPTIMIZE_FOR_SIZE n - - # Enable the kernel's built-in memory tester. - MEMTEST y - - # Include the CFQ I/O scheduler in the kernel, rather than as a - # module, so that the initrd gets a good I/O scheduler. - IOSCHED_CFQ y - BLK_CGROUP y # required by CFQ - - # Enable NUMA. - NUMA? y - - # Disable some expensive (?) features. - FTRACE n - KPROBES n - PM_TRACE_RTC n - - # Enable various subsystems. - ACCESSIBILITY y # Accessibility support - AUXDISPLAY y # Auxiliary Display support - DONGLE y # Serial dongle support - HIPPI? y - MTD_COMPLEX_MAPPINGS y # needed for many devices - SCSI_LOWLEVEL y # enable lots of SCSI devices - SCSI_LOWLEVEL_PCMCIA y - SPI y # needed for many devices - SPI_MASTER y - WAN y - - # Networking options. - IP_PNP n - IPV6_PRIVACY y - NETFILTER_ADVANCED y - IP_VS_PROTO_TCP y - IP_VS_PROTO_UDP y - IP_VS_PROTO_ESP y - IP_VS_PROTO_AH y - IP_DCCP_CCID3 n # experimental - CLS_U32_PERF y - CLS_U32_MARK y - - # Wireless networking. - IPW2100_MONITOR y # support promiscuous mode - IPW2200_MONITOR y # support promiscuous mode - HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver - HOSTAP_FIRMWARE_NVRAM y - ATH9K_PCI y # Detect Atheros AR9xxx cards on PCI(e) bus - ATH9K_AHB y # Ditto, AHB bus - B43_PHY_HT y - BCMA_HOST_PCI y - - # Some settings to make sure that fbcondecor works - in particular, - # disable tileblitting and the drivers that need it. - - # Enable various FB devices. - FB y - FB_EFI y - FB_NVIDIA_I2C y # Enable DDC Support - FB_RIVA_I2C y - FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support - FB_ATY_GX y # Mach64 GX support - FB_SAVAGE_I2C y - FB_SAVAGE_ACCEL y - FB_SIS_300 y - FB_SIS_315 y - FB_3DFX_ACCEL y - FB_GEODE y - - # Video configuration - # Enable KMS for devices whose X.org driver supports it. - DRM_I915_KMS y - DRM_RADEON_KMS y - # Hybrid graphics support - VGA_SWITCHEROO y - - # Sound. - SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode - SND_HDA_INPUT_BEEP y # Support digital beep via input layer - SND_USB_CAIAQ_INPUT y - PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible) - - # USB serial devices. - USB_SERIAL_GENERIC y # USB Generic Serial Driver - USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices - USB_SERIAL_KEYSPAN_USA28 y - USB_SERIAL_KEYSPAN_USA28X y - USB_SERIAL_KEYSPAN_USA28XA y - USB_SERIAL_KEYSPAN_USA28XB y - USB_SERIAL_KEYSPAN_USA19 y - USB_SERIAL_KEYSPAN_USA18X y - USB_SERIAL_KEYSPAN_USA19W y - USB_SERIAL_KEYSPAN_USA19QW y - USB_SERIAL_KEYSPAN_USA19QI y - USB_SERIAL_KEYSPAN_USA49W y - USB_SERIAL_KEYSPAN_USA49WLC y - - # Filesystem options - in particular, enable extended attributes and - # ACLs for all filesystems that support them. - EXT2_FS_XATTR y # Ext2 extended attributes - EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists - EXT2_FS_SECURITY y # Ext2 Security Labels - EXT2_FS_XIP y # Ext2 execute in place support - EXT4_FS_POSIX_ACL y - EXT4_FS_SECURITY y - REISERFS_FS_XATTR y - REISERFS_FS_POSIX_ACL y - REISERFS_FS_SECURITY y - JFS_POSIX_ACL y - JFS_SECURITY y - XFS_QUOTA y - XFS_POSIX_ACL y - XFS_RT y # XFS Realtime subvolume support - OCFS2_DEBUG_MASKLOG n - BTRFS_FS_POSIX_ACL y - UBIFS_FS_XATTR y - UBIFS_FS_ADVANCED_COMPR y - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - NFS_FSCACHE y - CIFS_XATTR y - CIFS_POSIX y - CIFS_FSCACHE y - - # Security related features. - STRICT_DEVMEM y # Filter access to /dev/mem - SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default - - # Misc. options. - 8139TOO_8129 y - 8139TOO_PIO n # PIO is slower - AIC79XX_DEBUG_ENABLE n - AIC7XXX_DEBUG_ENABLE n - AIC94XX_DEBUG n - AUDIT_LOGINUID_IMMUTABLE y - B43_PCMCIA y - BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support - BLK_DEV_IDEACPI y # IDE ACPI support - BLK_DEV_INTEGRITY y - BSD_PROCESS_ACCT_V3 y - BT_HCIUART_BCSP y - BT_HCIUART_H4 y # UART (H4) protocol support - BT_HCIUART_LL y - BT_RFCOMM m - BT_RFCOMM_TTY y # RFCOMM TTY support - CRASH_DUMP n - DMAR? n # experimental - DVB_DYNAMIC_MINORS y # we use udev - EFI_STUB y # EFI bootloader in the bzImage itself - FHANDLE y # used by systemd - FUSION y # Fusion MPT device support - IDE_GD_ATAPI y # ATAPI floppy support - IRDA_ULTRA y # Ultra (connectionless) protocol - JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels - JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels - JOYSTICK_XPAD_FF y # X-Box gamepad rumble support - JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED - LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support - LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger - LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback - LOGO n # not needed - MEDIA_ATTACH y - MEGARAID_NEWGEN y - MICROCODE_AMD y - MODVERSIONS y - MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension - MTRR_SANITIZER y - NET_FC y # Fibre Channel driver support - PPP_MULTILINK y # PPP multilink support - REGULATOR y # Voltage and Current Regulator Support - SCSI_LOGGING y # SCSI logging facility - SERIAL_8250 y # 8250/16550 and compatible serial support - SLIP_COMPRESSED y # CSLIP compressed headers - SLIP_SMART y - THERMAL_HWMON y # Hardware monitoring support - USB_DEBUG n - USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators - USB_EHCI_TT_NEWSCHED y # Improved transaction translator scheduling - X86_CHECK_BIOS_CORRUPTION y - X86_MCE y - - # Linux Containers - RT_GROUP_SCHED? y - CGROUP_DEVICE? y - CGROUP_MEM_RES_CTLR? y - CGROUP_MEM_RES_CTLR_SWAP? y - DEVPTS_MULTIPLE_INSTANCES? y - - # Enable staging drivers. These are somewhat experimental, but - # they generally don't hurt. - STAGING y - - # PROC_EVENTS requires that the netlink connector is not built - # as a module. This is required by libcgroup's cgrulesengd. - CONNECTOR y - PROC_EVENTS y - - # Tracing - FTRACE y - FUNCTION_TRACER y - FTRACE_SYSCALLS y - SCHED_TRACER y - - # Devtmpfs support. - DEVTMPFS y - - # Easier debug of NFS issues - SUNRPC_DEBUG y - - ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""} - ${extraConfig} - ''; -in - -import ./generic.nix ( - - rec { - version = "3.4.55"; - testing = false; - - preConfigure = '' - substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' "" - ''; - - src = fetchurl { - url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz"; - sha256 = "1sbb6qa2nb1zwihkdn51q5ac3kn7hrssabn5whx8965hga7yw1dx"; - }; - - config = configWithPlatform stdenv.platform; - configCross = configWithPlatform stdenv.cross.platform; - - features.iwlwifi = true; - features.efiBootStub = true; - features.needsCifsUtils = true; - features.netfilterRPFilter = true; - } - - // removeAttrs args ["extraConfig"] -) + features.iwlwifi = true; + features.efiBootStub = true; + features.needsCifsUtils = true; + features.netfilterRPFilter = true; +}) diff --git a/pkgs/os-specific/linux/kernel/linux-3.8.nix b/pkgs/os-specific/linux/kernel/linux-3.8.nix index 1516f97521de..f455f4ee7f88 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.8.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.8.nix @@ -1,283 +1,16 @@ -args @ { stdenv, fetchurl, extraConfig ? "" -, perl, mktemp, module_init_tools -, ... }: +{ stdenv, fetchurl, ... } @ args: -let - configWithPlatform = kernelPlatform : - '' - # Power management and debugging for powertop. - DEBUG_KERNEL y - PM_ADVANCED_DEBUG y - PM_RUNTIME y - TIMER_STATS y - USB_SUSPEND y - BACKTRACE_SELF_TEST n - CPU_NOTIFIER_ERROR_INJECT? n - DEBUG_DEVRES n - DEBUG_NX_TEST n - DEBUG_STACK_USAGE n - DEBUG_STACKOVERFLOW n - RCU_TORTURE_TEST n - SCHEDSTATS n +import ./generic.nix (args // rec { + version = "3.8.13"; - # Support drivers that need external firmware. - STANDALONE n + src = fetchurl { + url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; + sha256 = "0pznsj89020fjl8dhcyf7r5bh95b27727gs0ri9has4i2z63blbw"; + }; - # Make /proc/config.gz available. - IKCONFIG_PROC y - - # Optimize with -O2, not -Os. - CC_OPTIMIZE_FOR_SIZE n - - # Enable the kernel's built-in memory tester. - MEMTEST y - - # Include the CFQ I/O scheduler in the kernel, rather than as a - # module, so that the initrd gets a good I/O scheduler. - IOSCHED_CFQ y - BLK_CGROUP y # required by CFQ - - # Enable NUMA. - NUMA? y - - # Disable some expensive (?) features. - FTRACE n - KPROBES n - PM_TRACE_RTC n - - # Enable various subsystems. - ACCESSIBILITY y # Accessibility support - AUXDISPLAY y # Auxiliary Display support - DONGLE y # Serial dongle support - HIPPI? y - MTD_COMPLEX_MAPPINGS y # needed for many devices - SCSI_LOWLEVEL y # enable lots of SCSI devices - SCSI_LOWLEVEL_PCMCIA y - SPI y # needed for many devices - SPI_MASTER y - WAN y - - # Networking options. - IP_PNP n - IPV6_PRIVACY y - NETFILTER_ADVANCED y - IP_VS_PROTO_TCP y - IP_VS_PROTO_UDP y - IP_VS_PROTO_ESP y - IP_VS_PROTO_AH y - IP_DCCP_CCID3 n # experimental - CLS_U32_PERF y - CLS_U32_MARK y - - # Wireless networking. - IPW2100_MONITOR y # support promiscuous mode - IPW2200_MONITOR? y # support promiscuous mode - HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver - HOSTAP_FIRMWARE_NVRAM y - ATH9K_PCI y # Detect Atheros AR9xxx cards on PCI(e) bus - ATH9K_AHB y # Ditto, AHB bus - B43_PHY_HT y - BCMA_HOST_PCI y - CFG80211_WEXT y # Without it, ipw2200 drivers don't build - - # Some settings to make sure that fbcondecor works - in particular, - # disable tileblitting and the drivers that need it. - - # Enable various FB devices. - FB y - FB_EFI y - FB_NVIDIA_I2C y # Enable DDC Support - FB_RIVA_I2C y - FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support - FB_ATY_GX y # Mach64 GX support - FB_SAVAGE_I2C y - FB_SAVAGE_ACCEL y - FB_SIS_300 y - FB_SIS_315 y - FB_3DFX_ACCEL y - FB_GEODE y - - # Video configuration - # Enable KMS for devices whose X.org driver supports it. - DRM_I915_KMS y - DRM_RADEON_KMS y - # Hybrid graphics support - VGA_SWITCHEROO y - - # Sound. - SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode - SND_HDA_INPUT_BEEP y # Support digital beep via input layer - SND_USB_CAIAQ_INPUT y - PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible) - - # USB serial devices. - USB_SERIAL_GENERIC y # USB Generic Serial Driver - USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices - USB_SERIAL_KEYSPAN_USA28 y - USB_SERIAL_KEYSPAN_USA28X y - USB_SERIAL_KEYSPAN_USA28XA y - USB_SERIAL_KEYSPAN_USA28XB y - USB_SERIAL_KEYSPAN_USA19 y - USB_SERIAL_KEYSPAN_USA18X y - USB_SERIAL_KEYSPAN_USA19W y - USB_SERIAL_KEYSPAN_USA19QW y - USB_SERIAL_KEYSPAN_USA19QI y - USB_SERIAL_KEYSPAN_USA49W y - USB_SERIAL_KEYSPAN_USA49WLC y - - # Filesystem options - in particular, enable extended attributes and - # ACLs for all filesystems that support them. - EXT2_FS_XATTR y # Ext2 extended attributes - EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists - EXT2_FS_SECURITY y # Ext2 Security Labels - EXT2_FS_XIP y # Ext2 execute in place support - EXT4_FS_POSIX_ACL y - EXT4_FS_SECURITY y - REISERFS_FS_XATTR y - REISERFS_FS_POSIX_ACL y - REISERFS_FS_SECURITY y - JFS_POSIX_ACL y - JFS_SECURITY y - XFS_QUOTA y - XFS_POSIX_ACL y - XFS_RT y # XFS Realtime subvolume support - OCFS2_DEBUG_MASKLOG n - BTRFS_FS_POSIX_ACL y - UBIFS_FS_XATTR? y - UBIFS_FS_ADVANCED_COMPR y - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - NFS_FSCACHE y - CIFS_XATTR y - CIFS_POSIX y - CIFS_FSCACHE y - - # Security related features. - STRICT_DEVMEM y # Filter access to /dev/mem - SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default - - # Misc. options. - 8139TOO_8129 y - 8139TOO_PIO n # PIO is slower - AIC79XX_DEBUG_ENABLE n - AIC7XXX_DEBUG_ENABLE n - AIC94XX_DEBUG n - AUDIT_LOGINUID_IMMUTABLE y - B43_PCMCIA y - BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support - BLK_DEV_IDEACPI y # IDE ACPI support - BLK_DEV_INTEGRITY y - BSD_PROCESS_ACCT_V3 y - BT_HCIUART_BCSP y - BT_HCIUART_H4 y # UART (H4) protocol support - BT_HCIUART_LL y - BT_RFCOMM m - BT_RFCOMM_TTY y # RFCOMM TTY support - CRASH_DUMP n - DMAR? n # experimental - DVB_DYNAMIC_MINORS? y # we use udev - EFI_STUB y # EFI bootloader in the bzImage itself - FHANDLE y # used by systemd - FUSION y # Fusion MPT device support - IDE_GD_ATAPI y # ATAPI floppy support - IRDA_ULTRA y # Ultra (connectionless) protocol - JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels - JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels - JOYSTICK_XPAD_FF y # X-Box gamepad rumble support - JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED - LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support - LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger - LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback - LOGO n # not needed - MEDIA_ATTACH? y - MEGARAID_NEWGEN y - MICROCODE_AMD y - MODVERSIONS y - MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension - MTRR_SANITIZER y - NET_FC y # Fibre Channel driver support - PPP_MULTILINK y # PPP multilink support - REGULATOR y # Voltage and Current Regulator Support - RC_DEVICES y # Enable IR devices - SCSI_LOGGING y # SCSI logging facility - SERIAL_8250 y # 8250/16550 and compatible serial support - SLIP_COMPRESSED y # CSLIP compressed headers - SLIP_SMART y - THERMAL_HWMON y # Hardware monitoring support - USB_DEBUG n - USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators - USB_EHCI_TT_NEWSCHED y # Improved transaction translator scheduling - X86_CHECK_BIOS_CORRUPTION y - X86_MCE y - XEN_DOM0 y - - # Linux Containers - RT_GROUP_SCHED? y - CGROUP_DEVICE? y - MEMCG? y - MEMCG_SWAP? y - DEVPTS_MULTIPLE_INSTANCES? y - - # Enable staging drivers. These are somewhat experimental, but - # they generally don't hurt. - STAGING y - - # PROC_EVENTS requires that the netlink connector is not built - # as a module. This is required by libcgroup's cgrulesengd. - CONNECTOR y - PROC_EVENTS y - - # Tracing - FTRACE y - FUNCTION_TRACER y - FTRACE_SYSCALLS y - SCHED_TRACER y - - # Devtmpfs support. - DEVTMPFS y - - # Media support - MEDIA_SUPPORT y - MEDIA_DIGITAL_TV_SUPPORT y - - MEDIA_CAMERA_SUPPORT? y - MEDIA_RC_SUPPORT? y - MEDIA_USB_SUPPORT y - - # Easier debug of NFS issues - SUNRPC_DEBUG y - - ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""} - ${extraConfig} - ''; -in - -import ./generic.nix ( - - rec { - version = "3.8.13"; - testing = false; - - preConfigure = '' - substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' "" - ''; - - src = fetchurl { - url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz"; - sha256 = "0pznsj89020fjl8dhcyf7r5bh95b27727gs0ri9has4i2z63blbw"; - }; - - config = configWithPlatform stdenv.platform; - configCross = configWithPlatform stdenv.cross.platform; - - features.iwlwifi = true; - features.efiBootStub = true; - features.needsCifsUtils = true; - features.canDisableNetfilterConntrackHelpers = true; - features.netfilterRPFilter = true; - } - - // removeAttrs args ["extraConfig"] -) + features.iwlwifi = true; + features.efiBootStub = true; + features.needsCifsUtils = true; + features.canDisableNetfilterConntrackHelpers = true; + features.netfilterRPFilter = true; +}) diff --git a/pkgs/os-specific/linux/kernel/linux-3.9.nix b/pkgs/os-specific/linux/kernel/linux-3.9.nix index b3909900c66a..51bcf35b3fe8 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.9.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.9.nix @@ -1,286 +1,16 @@ -args @ { stdenv, fetchurl, extraConfig ? "" -, perl, mktemp, module_init_tools, bc -, ... }: +{ stdenv, fetchurl, ... } @ args: -let - configWithPlatform = kernelPlatform : - '' - # Power management and debugging for powertop. - DEBUG_KERNEL y - PM_ADVANCED_DEBUG y - PM_RUNTIME y - TIMER_STATS y - USB_SUSPEND y - BACKTRACE_SELF_TEST n - CPU_NOTIFIER_ERROR_INJECT? n - DEBUG_DEVRES n - DEBUG_NX_TEST n - DEBUG_STACK_USAGE n - DEBUG_STACKOVERFLOW n - RCU_TORTURE_TEST n - SCHEDSTATS n +import ./generic.nix (args // rec { + version = "3.9.11"; - # Support drivers that need external firmware. - STANDALONE n + src = fetchurl { + url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; + sha256 = "0d5j7kg1ifzwipicbi4g26plzbzn1rlvgj1hs4zip6sxj8ifbffl"; + }; - # Make /proc/config.gz available. - IKCONFIG_PROC y - - # Optimize with -O2, not -Os. - CC_OPTIMIZE_FOR_SIZE n - - # Enable the kernel's built-in memory tester. - MEMTEST y - - # Include the CFQ I/O scheduler in the kernel, rather than as a - # module, so that the initrd gets a good I/O scheduler. - IOSCHED_CFQ y - BLK_CGROUP y # required by CFQ - - # Enable NUMA. - NUMA? y - - # Disable some expensive (?) features. - FTRACE n - KPROBES n - PM_TRACE_RTC n - - # Enable various subsystems. - ACCESSIBILITY y # Accessibility support - AUXDISPLAY y # Auxiliary Display support - DONGLE y # Serial dongle support - HIPPI? y - MTD_COMPLEX_MAPPINGS y # needed for many devices - SCSI_LOWLEVEL y # enable lots of SCSI devices - SCSI_LOWLEVEL_PCMCIA y - SPI y # needed for many devices - SPI_MASTER y - WAN y - - # Networking options. - IP_PNP n - IPV6_PRIVACY y - NETFILTER_ADVANCED y - IP_VS_PROTO_TCP y - IP_VS_PROTO_UDP y - IP_VS_PROTO_ESP y - IP_VS_PROTO_AH y - IP_DCCP_CCID3 n # experimental - CLS_U32_PERF y - CLS_U32_MARK y - - # Wireless networking. - IPW2100_MONITOR y # support promiscuous mode - IPW2200_MONITOR? y # support promiscuous mode - HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver - HOSTAP_FIRMWARE_NVRAM y - ATH9K_PCI y # Detect Atheros AR9xxx cards on PCI(e) bus - ATH9K_AHB y # Ditto, AHB bus - B43_PHY_HT y - BCMA_HOST_PCI y - CFG80211_WEXT y # Without it, ipw2200 drivers don't build - - # Some settings to make sure that fbcondecor works - in particular, - # disable tileblitting and the drivers that need it. - - # Enable various FB devices. - FB y - FB_EFI y - FB_NVIDIA_I2C y # Enable DDC Support - FB_RIVA_I2C y - FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support - FB_ATY_GX y # Mach64 GX support - FB_SAVAGE_I2C y - FB_SAVAGE_ACCEL y - FB_SIS_300 y - FB_SIS_315 y - FB_3DFX_ACCEL y - FB_GEODE y - - # Video configuration - # Enable KMS for devices whose X.org driver supports it. - DRM_I915_KMS y - DRM_RADEON_KMS? y - # Hybrid graphics support - VGA_SWITCHEROO y - - # Sound. - SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode - SND_HDA_INPUT_BEEP y # Support digital beep via input layer - SND_USB_CAIAQ_INPUT y - PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible) - - # USB serial devices. - USB_SERIAL_GENERIC y # USB Generic Serial Driver - USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices - USB_SERIAL_KEYSPAN_USA28 y - USB_SERIAL_KEYSPAN_USA28X y - USB_SERIAL_KEYSPAN_USA28XA y - USB_SERIAL_KEYSPAN_USA28XB y - USB_SERIAL_KEYSPAN_USA19 y - USB_SERIAL_KEYSPAN_USA18X y - USB_SERIAL_KEYSPAN_USA19W y - USB_SERIAL_KEYSPAN_USA19QW y - USB_SERIAL_KEYSPAN_USA19QI y - USB_SERIAL_KEYSPAN_USA49W y - USB_SERIAL_KEYSPAN_USA49WLC y - - # Filesystem options - in particular, enable extended attributes and - # ACLs for all filesystems that support them. - EXT2_FS_XATTR y # Ext2 extended attributes - EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists - EXT2_FS_SECURITY y # Ext2 Security Labels - EXT2_FS_XIP y # Ext2 execute in place support - EXT4_FS_POSIX_ACL y - EXT4_FS_SECURITY y - REISERFS_FS_XATTR y - REISERFS_FS_POSIX_ACL y - REISERFS_FS_SECURITY y - JFS_POSIX_ACL y - JFS_SECURITY y - XFS_QUOTA y - XFS_POSIX_ACL y - XFS_RT y # XFS Realtime subvolume support - OCFS2_DEBUG_MASKLOG n - BTRFS_FS_POSIX_ACL y - UBIFS_FS_XATTR? y - UBIFS_FS_ADVANCED_COMPR y - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - NFS_FSCACHE y - CIFS_XATTR y - CIFS_POSIX y - CIFS_FSCACHE y - - # Security related features. - STRICT_DEVMEM y # Filter access to /dev/mem - SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default - - # Misc. options. - 8139TOO_8129 y - 8139TOO_PIO n # PIO is slower - AIC79XX_DEBUG_ENABLE n - AIC7XXX_DEBUG_ENABLE n - AIC94XX_DEBUG n - AUDIT_LOGINUID_IMMUTABLE y - B43_PCMCIA y - BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support - BLK_DEV_IDEACPI y # IDE ACPI support - BLK_DEV_INTEGRITY y - BSD_PROCESS_ACCT_V3 y - BT_HCIUART_BCSP y - BT_HCIUART_H4 y # UART (H4) protocol support - BT_HCIUART_LL y - BT_RFCOMM m - BT_RFCOMM_TTY y # RFCOMM TTY support - CRASH_DUMP n - DMAR? n # experimental - DVB_DYNAMIC_MINORS? y # we use udev - EFI_STUB y # EFI bootloader in the bzImage itself - FHANDLE y # used by systemd - FUSION y # Fusion MPT device support - IDE_GD_ATAPI y # ATAPI floppy support - IRDA_ULTRA y # Ultra (connectionless) protocol - JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels - JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels - JOYSTICK_XPAD_FF y # X-Box gamepad rumble support - JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED - LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support - LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger - LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback - LOGO n # not needed - MEDIA_ATTACH? y - MEGARAID_NEWGEN y - MICROCODE_AMD y - MODVERSIONS y - MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension - MTRR_SANITIZER y - NET_FC y # Fibre Channel driver support - PPP_MULTILINK y # PPP multilink support - REGULATOR y # Voltage and Current Regulator Support - RC_DEVICES y # Enable IR devices - SCSI_LOGGING y # SCSI logging facility - SERIAL_8250 y # 8250/16550 and compatible serial support - SLIP_COMPRESSED y # CSLIP compressed headers - SLIP_SMART y - THERMAL_HWMON y # Hardware monitoring support - USB_DEBUG n - USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators - USB_EHCI_TT_NEWSCHED y # Improved transaction translator scheduling - X86_CHECK_BIOS_CORRUPTION y - X86_MCE y - XEN_DOM0 y - - # Linux Containers - RT_GROUP_SCHED? y - CGROUP_DEVICE? y - MEMCG? y - MEMCG_SWAP? y - DEVPTS_MULTIPLE_INSTANCES? y - - # Enable staging drivers. These are somewhat experimental, but - # they generally don't hurt. - STAGING y - - # PROC_EVENTS requires that the netlink connector is not built - # as a module. This is required by libcgroup's cgrulesengd. - CONNECTOR y - PROC_EVENTS y - - # Tracing - FTRACE y - FUNCTION_TRACER y - FTRACE_SYSCALLS y - SCHED_TRACER y - - # Devtmpfs support. - DEVTMPFS y - - # Media support - MEDIA_CAMERA_SUPPORT? y - MEDIA_RC_SUPPORT? y - MEDIA_USB_SUPPORT y - - # Easier debug of NFS issues - SUNRPC_DEBUG y - - # Enable the 9P cache to speed up NixOS VM tests. - 9P_FSCACHE y - 9P_FS_POSIX_ACL y - - ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""} - ${extraConfig} - ''; -in - -import ./generic.nix ( - - rec { - version = "3.9.10"; - testing = false; - - preConfigure = '' - substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' "" - ''; - - src = fetchurl { - url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz"; - sha256 = "1c187jmdkz6nqfgf4sz9f4da6wzbn2mf99qcjr56nz8sr2zmk2wv"; - }; - - config = configWithPlatform stdenv.platform; - configCross = configWithPlatform stdenv.cross.platform; - - features.iwlwifi = true; - features.efiBootStub = true; - features.needsCifsUtils = true; - features.canDisableNetfilterConntrackHelpers = true; - features.netfilterRPFilter = true; - - extraNativeBuildInputs = [bc]; - } - - // removeAttrs args ["extraConfig"] -) + features.iwlwifi = true; + features.efiBootStub = true; + features.needsCifsUtils = true; + features.canDisableNetfilterConntrackHelpers = true; + features.netfilterRPFilter = true; +}) diff --git a/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix b/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix index cf88544abd5a..319c2ba42b49 100644 --- a/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix +++ b/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix @@ -1,44 +1,17 @@ -args @ { - stdenv, fetchurl, extraConfig ? "" , perl, mktemp, module_init_tools, ... -}: +{ stdenv, fetchurl, ... } @ args: -let - configWithPlatform = kernelPlatform : - '' - ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""} - ${extraConfig} - ''; +let rev = "91a3be5b2b"; in - rev = "91a3be5b2b"; -in +import ./generic.nix (args // rec { + version = "3.6.y-${rev}"; -import ./generic.nix ( + src = fetchurl { + url = "https://api.github.com/repos/raspberrypi/linux/tarball/${rev}"; + name = "linux-raspberrypi-${version}.tar.gz"; + sha256 = "04370b1da7610622372940decdc13ddbba2a58c9da3c3bd3e7df930a399f140d"; + }; - rec { - version = "3.6.y-${rev}"; - testing = false; + features.iwlwifi = true; - preConfigure = '' - substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' "" - ''; - - src = fetchurl { - url = "https://api.github.com/repos/raspberrypi/linux/tarball/${rev}"; - name = "linux-raspberrypi-${version}.tar.gz"; - sha256 = "04370b1da7610622372940decdc13ddbba2a58c9da3c3bd3e7df930a399f140d"; - }; - - config = configWithPlatform stdenv.platform; - configCross = configWithPlatform stdenv.cross.platform; - - features.iwlwifi = true; - #features.efiBootStub = true; - #features.needsCifsUtils = true; - #features.canDisableNetfilterConntrackHelpers = true; - #features.netfilterRPFilter = true; - - extraMeta.platforms = []; - } - - // removeAttrs args ["extraConfig"] -) + extraMeta.platforms = []; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 54f4dbf72abf..8e599a83a118 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6370,7 +6370,7 @@ let kernelPatches = callPackage ../os-specific/linux/kernel/patches.nix { }; linux_3_0 = makeOverridable (import ../os-specific/linux/kernel/linux-3.0.nix) { - inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser; + inherit fetchurl stdenv perl mktemp bc module_init_tools ubootChooser; kernelPatches = [ kernelPatches.sec_perm_2_6_24 # kernelPatches.aufs3_0 @@ -6378,7 +6378,7 @@ let }; linux_3_2 = makeOverridable (import ../os-specific/linux/kernel/linux-3.2.nix) { - inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser; + inherit fetchurl stdenv perl mktemp bc module_init_tools ubootChooser; kernelPatches = [ kernelPatches.sec_perm_2_6_24 # kernelPatches.aufs3_2 @@ -6405,7 +6405,7 @@ let }); linux_3_4 = makeOverridable (import ../os-specific/linux/kernel/linux-3.4.nix) { - inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser; + inherit fetchurl stdenv perl mktemp bc module_init_tools ubootChooser; kernelPatches = [ kernelPatches.sec_perm_2_6_24 # kernelPatches.aufs3_4 @@ -6424,11 +6424,11 @@ let }); linux_3_6_rpi = makeOverridable (import ../os-specific/linux/kernel/linux-rpi-3.6.nix) { - inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser; + inherit fetchurl stdenv perl mktemp bc module_init_tools ubootChooser; }; linux_3_8 = makeOverridable (import ../os-specific/linux/kernel/linux-3.8.nix) { - inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser; + inherit fetchurl stdenv perl mktemp bc module_init_tools ubootChooser; kernelPatches = [ kernelPatches.sec_perm_2_6_24