mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-29 10:23:29 +00:00
Simplified much more the expressions for cross building and multiplatform.
I introduce the new nixpkgs parameter "platform", defaulting to "pc", which was before defined as an attribute of nixpkgs. I made the crossSystem nixpkgs attribute set parameter contain its own 'platform'. This allows cross-building a kernel for a given crossSystem.platform in a non-PC platform. The actual native platform can be taken from stdenv.platform, and this way we also avoid the constant passing of 'platform' to packages for platform-dependant builds (kernel, initrd, ...). I will update nixos accordingly to these changes, for non-PC platforms to work. I think we are gaining on flexibility and clearness. I could cross build succesfully an ultrasparc kernel and a mipsel kernel on PC. But since this change, I should be able to do this also in non-PC. Before this change, there was no possibility of distinguishing the "target platform" or the "native build platform" when cross building, being the single "platform" attribute always interpreted as target platform. The platform is a quite relevant attribute set, as it determines the linuxHeaders used (in the case, by now the only one supported, of linux targets). The platform attributes are quite linux centric still. Let's hope for more generality to come. svn path=/nixpkgs/trunk/; revision=20273
This commit is contained in:
parent
fca769846a
commit
11aa65c28a
@ -12,15 +12,19 @@
|
|||||||
# `contents = {object = ...; symlink = /init;}' is a typical
|
# `contents = {object = ...; symlink = /init;}' is a typical
|
||||||
# argument.
|
# argument.
|
||||||
|
|
||||||
{stdenv, perl, cpio, contents, platform}:
|
{stdenv, perl, cpio, contents, ubootChooser}:
|
||||||
|
|
||||||
|
let
|
||||||
|
inputsFun = ubootName : [perl cpio]
|
||||||
|
++ stdenv.lib.optional (ubootName != null) [ ubootChooser ubootName ];
|
||||||
|
makeUInitrdFun = ubootName : (ubootName != null);
|
||||||
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "initrd";
|
name = "initrd";
|
||||||
builder = ./make-initrd.sh;
|
builder = ./make-initrd.sh;
|
||||||
buildInputs = [perl cpio]
|
buildNativeInputs = inputsFun stdenv.platform.uboot;
|
||||||
++ stdenv.lib.optional (platform.uboot != null) [ platform.uboot ];
|
|
||||||
|
|
||||||
makeUInitrd = if (platform.uboot != null) then true else false;
|
makeUInitrd = makeUInitrdFun stdenv.platform.uboot;
|
||||||
|
|
||||||
# !!! should use XML.
|
# !!! should use XML.
|
||||||
objects = map (x: x.object) contents;
|
objects = map (x: x.object) contents;
|
||||||
@ -31,4 +35,9 @@ stdenv.mkDerivation {
|
|||||||
exportReferencesGraph =
|
exportReferencesGraph =
|
||||||
map (x: [("closure-" + baseNameOf x.symlink) x.object]) contents;
|
map (x: [("closure-" + baseNameOf x.symlink) x.object]) contents;
|
||||||
pathsFromGraph = ./paths-from-graph.pl;
|
pathsFromGraph = ./paths-from-graph.pl;
|
||||||
|
|
||||||
|
crossAttrs = {
|
||||||
|
buildNativeInputs = inputsFun stdenv.cross.platform.uboot;
|
||||||
|
makeUInitrd = makeUInitrdFun stdenv.cross.platform.uboot;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,201 @@
|
|||||||
args @ { stdenv, fetchurl, platform, userModeLinux ? false, extraConfig ? ""
|
args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? ""
|
||||||
, ... }:
|
, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
configWithPlatform = kernelPlatform :
|
||||||
|
''
|
||||||
|
# Don't include any debug features.
|
||||||
|
DEBUG_KERNEL 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
|
||||||
|
|
||||||
|
# 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
|
||||||
|
IWLWIFI_LEDS? y
|
||||||
|
IWLWIFI_SPECTRUM_MEASUREMENT y
|
||||||
|
IWL3945_SPECTRUM_MEASUREMENT y
|
||||||
|
IWL4965 y # Intel Wireless WiFi 4965AGN
|
||||||
|
IWL5000 y # Intel Wireless WiFi 5000AGN
|
||||||
|
HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
|
||||||
|
HOSTAP_FIRMWARE_NVRAM 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
|
||||||
|
# The intel drivers already require KMS
|
||||||
|
DRM_I915_KMS 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
|
||||||
|
OCFS2_FS_POSIX_ACL y
|
||||||
|
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_BSG n
|
||||||
|
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
|
||||||
|
CPU_FREQ_DEBUG n
|
||||||
|
CRASH_DUMP n
|
||||||
|
DMAR? n # experimental
|
||||||
|
DVB_DYNAMIC_MINORS y # we use udev
|
||||||
|
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
|
||||||
|
KALLSYMS_EXTRA_PASS n
|
||||||
|
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
|
||||||
|
PCI_LEGACY y
|
||||||
|
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
|
||||||
|
|
||||||
|
${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
|
||||||
|
${extraConfig}
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
|
||||||
import ./generic.nix (
|
import ./generic.nix (
|
||||||
|
|
||||||
rec {
|
rec {
|
||||||
@ -11,200 +206,16 @@ import ./generic.nix (
|
|||||||
sha256 = "1g6hs7j5kmifb3phbnckdmrnxd0cpqrijnnbry86z26npsh9my7l";
|
sha256 = "1g6hs7j5kmifb3phbnckdmrnxd0cpqrijnnbry86z26npsh9my7l";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
config = configWithPlatform stdenv.platform;
|
||||||
|
|
||||||
|
platform = stdenv.platform;
|
||||||
|
|
||||||
|
crossAttrs = {
|
||||||
|
config = configWithPlatform stdenv.cross.platform;
|
||||||
|
platform = stdenv.cross.platform;
|
||||||
|
};
|
||||||
|
|
||||||
features.iwlwifi = true;
|
features.iwlwifi = true;
|
||||||
|
|
||||||
config =
|
|
||||||
''
|
|
||||||
# Don't include any debug features.
|
|
||||||
DEBUG_KERNEL 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
|
|
||||||
|
|
||||||
# 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
|
|
||||||
IWLWIFI_LEDS? y
|
|
||||||
IWLWIFI_SPECTRUM_MEASUREMENT y
|
|
||||||
IWL3945_SPECTRUM_MEASUREMENT y
|
|
||||||
IWL4965 y # Intel Wireless WiFi 4965AGN
|
|
||||||
IWL5000 y # Intel Wireless WiFi 5000AGN
|
|
||||||
HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
|
|
||||||
HOSTAP_FIRMWARE_NVRAM 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
|
|
||||||
# The intel drivers already require KMS
|
|
||||||
DRM_I915_KMS 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
|
|
||||||
OCFS2_FS_POSIX_ACL y
|
|
||||||
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_BSG n
|
|
||||||
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
|
|
||||||
CPU_FREQ_DEBUG n
|
|
||||||
CRASH_DUMP n
|
|
||||||
DMAR? n # experimental
|
|
||||||
DVB_DYNAMIC_MINORS y # we use udev
|
|
||||||
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
|
|
||||||
KALLSYMS_EXTRA_PASS n
|
|
||||||
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
|
|
||||||
PCI_LEGACY y
|
|
||||||
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
|
|
||||||
|
|
||||||
${if platform ? kernelExtraConfig then platform.kernelExtraConfig else ""}
|
|
||||||
${extraConfig}
|
|
||||||
'';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// removeAttrs args ["extraConfig"]
|
// removeAttrs args ["extraConfig"]
|
||||||
|
@ -1,6 +1,199 @@
|
|||||||
args @ { stdenv, fetchurl, platform, userModeLinux ? false, extraConfig ? ""
|
args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? ""
|
||||||
, ... }:
|
, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
configWithPlatform = kernelPlatform :
|
||||||
|
''
|
||||||
|
# Don't include any debug features.
|
||||||
|
DEBUG_KERNEL 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
|
||||||
|
|
||||||
|
# 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
|
||||||
|
IWLWIFI_SPECTRUM_MEASUREMENT y
|
||||||
|
IWL3945_SPECTRUM_MEASUREMENT y
|
||||||
|
IWL4965 y # Intel Wireless WiFi 4965AGN
|
||||||
|
IWL5000 y # Intel Wireless WiFi 5000AGN
|
||||||
|
HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
|
||||||
|
HOSTAP_FIRMWARE_NVRAM 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
|
||||||
|
# The intel drivers already require KMS
|
||||||
|
DRM_I915_KMS 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_BSG n
|
||||||
|
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
|
||||||
|
CPU_FREQ_DEBUG n
|
||||||
|
CRASH_DUMP n
|
||||||
|
DMAR? n # experimental
|
||||||
|
DVB_DYNAMIC_MINORS y # we use udev
|
||||||
|
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
|
||||||
|
KALLSYMS_EXTRA_PASS n
|
||||||
|
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
|
||||||
|
PCI_LEGACY y
|
||||||
|
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
|
||||||
|
|
||||||
|
${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
|
||||||
|
${extraConfig}
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
|
||||||
import ./generic.nix (
|
import ./generic.nix (
|
||||||
|
|
||||||
rec {
|
rec {
|
||||||
@ -11,198 +204,16 @@ import ./generic.nix (
|
|||||||
sha256 = "1inmam21w13nyf5imgdb5palhiap41zcxf9k32i4ck1w7gg3gqk3";
|
sha256 = "1inmam21w13nyf5imgdb5palhiap41zcxf9k32i4ck1w7gg3gqk3";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
config = configWithPlatform stdenv.platform;
|
||||||
|
|
||||||
|
platform = stdenv.platform;
|
||||||
|
|
||||||
|
crossAttrs = {
|
||||||
|
config = configWithPlatform stdenv.cross.platform;
|
||||||
|
platform = stdenv.cross.platform;
|
||||||
|
};
|
||||||
|
|
||||||
features.iwlwifi = true;
|
features.iwlwifi = true;
|
||||||
|
|
||||||
config =
|
|
||||||
''
|
|
||||||
# Don't include any debug features.
|
|
||||||
DEBUG_KERNEL 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
|
|
||||||
|
|
||||||
# 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
|
|
||||||
IWLWIFI_SPECTRUM_MEASUREMENT y
|
|
||||||
IWL3945_SPECTRUM_MEASUREMENT y
|
|
||||||
IWL4965 y # Intel Wireless WiFi 4965AGN
|
|
||||||
IWL5000 y # Intel Wireless WiFi 5000AGN
|
|
||||||
HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
|
|
||||||
HOSTAP_FIRMWARE_NVRAM 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
|
|
||||||
# The intel drivers already require KMS
|
|
||||||
DRM_I915_KMS 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_BSG n
|
|
||||||
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
|
|
||||||
CPU_FREQ_DEBUG n
|
|
||||||
CRASH_DUMP n
|
|
||||||
DMAR? n # experimental
|
|
||||||
DVB_DYNAMIC_MINORS y # we use udev
|
|
||||||
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
|
|
||||||
KALLSYMS_EXTRA_PASS n
|
|
||||||
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
|
|
||||||
PCI_LEGACY y
|
|
||||||
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
|
|
||||||
|
|
||||||
${if platform ? kernelExtraConfig then platform.kernelExtraConfig else ""}
|
|
||||||
${extraConfig}
|
|
||||||
'';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// removeAttrs args ["extraConfig"]
|
// removeAttrs args ["extraConfig"]
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
config ? null
|
config ? null
|
||||||
|
|
||||||
, crossSystem ? null
|
, crossSystem ? null
|
||||||
|
, platform ? (import ./platforms.nix).pc
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
|
||||||
@ -180,7 +181,7 @@ let
|
|||||||
allPackages = args: import ./all-packages.nix ({ inherit config; } // args);
|
allPackages = args: import ./all-packages.nix ({ inherit config; } // args);
|
||||||
};
|
};
|
||||||
|
|
||||||
defaultStdenv = allStdenvs.stdenv;
|
defaultStdenv = allStdenvs.stdenv // { inherit platform; };
|
||||||
|
|
||||||
stdenvCross = makeStdenvCross defaultStdenv crossSystem (binutilsCross crossSystem)
|
stdenvCross = makeStdenvCross defaultStdenv crossSystem (binutilsCross crossSystem)
|
||||||
(gccCrossStageFinal crossSystem);
|
(gccCrossStageFinal crossSystem);
|
||||||
@ -291,7 +292,7 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
makeInitrd = {contents}: import ../build-support/kernel/make-initrd.nix {
|
makeInitrd = {contents}: import ../build-support/kernel/make-initrd.nix {
|
||||||
inherit stdenv perl cpio contents platform;
|
inherit stdenv perl cpio contents ubootChooser;
|
||||||
};
|
};
|
||||||
|
|
||||||
makeWrapper = makeSetupHook ../build-support/make-wrapper/make-wrapper.sh;
|
makeWrapper = makeSetupHook ../build-support/make-wrapper/make-wrapper.sh;
|
||||||
@ -326,11 +327,7 @@ let
|
|||||||
inherit pkgs lib;
|
inherit pkgs lib;
|
||||||
};
|
};
|
||||||
|
|
||||||
platforms = import ./platforms.nix {
|
platforms = import ./platforms.nix;
|
||||||
inherit system pkgs;
|
|
||||||
};
|
|
||||||
|
|
||||||
platform = platforms.pc;
|
|
||||||
|
|
||||||
### TOOLS
|
### TOOLS
|
||||||
|
|
||||||
@ -5845,7 +5842,8 @@ let
|
|||||||
linuxHeaders = linuxHeaders_2_6_28;
|
linuxHeaders = linuxHeaders_2_6_28;
|
||||||
|
|
||||||
linuxHeadersCross = cross : forceBuildDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix {
|
linuxHeadersCross = cross : forceBuildDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix {
|
||||||
inherit stdenv fetchurl cross perl platform;
|
inherit stdenv fetchurl cross perl;
|
||||||
|
platform = cross.platform;
|
||||||
});
|
});
|
||||||
|
|
||||||
linuxHeaders_2_6_18 = import ../os-specific/linux/kernel-headers/2.6.18.5.nix {
|
linuxHeaders_2_6_18 = import ../os-specific/linux/kernel-headers/2.6.18.5.nix {
|
||||||
@ -5903,12 +5901,11 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
linux_2_6_32 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.32.nix) {
|
linux_2_6_32 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.32.nix) {
|
||||||
inherit fetchurl stdenv perl mktemp module_init_tools;
|
inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
|
||||||
kernelPatches =
|
kernelPatches =
|
||||||
[ kernelPatches.fbcondecor_2_6_31
|
[ kernelPatches.fbcondecor_2_6_31
|
||||||
kernelPatches.sec_perm_2_6_24
|
kernelPatches.sec_perm_2_6_24
|
||||||
];
|
];
|
||||||
inherit platform;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
linux_2_6_32_zen4 = makeOverridable (import ../os-specific/linux/zen-kernel/2.6.32-zen4.nix) {
|
linux_2_6_32_zen4 = makeOverridable (import ../os-specific/linux/zen-kernel/2.6.32-zen4.nix) {
|
||||||
@ -5928,12 +5925,11 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
linux_2_6_33 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.33.nix) {
|
linux_2_6_33 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.33.nix) {
|
||||||
inherit fetchurl stdenv perl mktemp module_init_tools;
|
inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
|
||||||
kernelPatches =
|
kernelPatches =
|
||||||
[ kernelPatches.fbcondecor_2_6_33
|
[ kernelPatches.fbcondecor_2_6_33
|
||||||
kernelPatches.sec_perm_2_6_24
|
kernelPatches.sec_perm_2_6_24
|
||||||
];
|
];
|
||||||
inherit platform;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Linux kernel modules are inherently tied to a specific kernel. So
|
/* Linux kernel modules are inherently tied to a specific kernel. So
|
||||||
@ -6347,7 +6343,11 @@ let
|
|||||||
inherit (xlibs) libX11 xproto;
|
inherit (xlibs) libX11 xproto;
|
||||||
};*/
|
};*/
|
||||||
|
|
||||||
uboot = makeOverridable (import ../misc/uboot) {
|
ubootChooser = name : if (name == "upstream") then ubootUpstream
|
||||||
|
else if (name == "sheevaplug") then ubootSheevaplug
|
||||||
|
else throw "Unknown uboot";
|
||||||
|
|
||||||
|
ubootUpstream = makeOverridable (import ../misc/uboot) {
|
||||||
inherit fetchurl stdenv unzip platform;
|
inherit fetchurl stdenv unzip platform;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
{ system, pkgs}:
|
|
||||||
with pkgs;
|
|
||||||
rec {
|
rec {
|
||||||
pc = assert system == "i686-linux" || system == "x86_64-linux"; {
|
pc = {
|
||||||
name = "pc";
|
name = "pc";
|
||||||
uboot = null;
|
uboot = null;
|
||||||
kernelBaseConfig = "defconfig";
|
kernelBaseConfig = "defconfig";
|
||||||
@ -60,7 +58,7 @@ rec {
|
|||||||
IP_PNP y
|
IP_PNP y
|
||||||
'';
|
'';
|
||||||
kernelTarget = "uImage";
|
kernelTarget = "uImage";
|
||||||
uboot = ubootSheevaplug;
|
uboot = "sheevaplug";
|
||||||
# Only for uboot = uboot :
|
# Only for uboot = uboot :
|
||||||
ubootConfig = "sheevaplug_config";
|
ubootConfig = "sheevaplug_config";
|
||||||
};
|
};
|
||||||
@ -133,7 +131,7 @@ rec {
|
|||||||
integratorCPuboot = integratorCP // {
|
integratorCPuboot = integratorCP // {
|
||||||
name = "integratorCPuboot";
|
name = "integratorCPuboot";
|
||||||
kernelTarget = "uImage";
|
kernelTarget = "uImage";
|
||||||
uboot = uboot;
|
uboot = "upstream";
|
||||||
ubootConfig = "integratorcp_config";
|
ubootConfig = "integratorcp_config";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user