diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index f591bdf..37c527b 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -33,10 +33,10 @@ with stdenv.lib;
BACKTRACE_SELF_TEST n
CPU_NOTIFIER_ERROR_INJECT? n
DEBUG_DEVRES n
- DEBUG_NX_TEST n
+ # DEBUG_NX_TEST n
DEBUG_STACK_USAGE n
${optionalString (!(features.grsecurity or false)) ''
- DEBUG_STACKOVERFLOW n
+ # DEBUG_STACKOVERFLOW n
''}
RCU_TORTURE_TEST n
SCHEDSTATS n
@@ -45,7 +45,7 @@ with stdenv.lib;
# Bump the maximum number of CPUs to support systems like EC2 x1.*
# instances and Xeon Phi.
${optionalString (stdenv.system == "x86_64-linux") ''
- NR_CPUS 384
+ #NR_CPUS 384
''}
# Unix domain sockets.
@@ -55,19 +55,19 @@ with stdenv.lib;
${optionalString (versionOlder version "3.19") ''
PM_RUNTIME y
''}
- PM_ADVANCED_DEBUG y
+ # PM_ADVANCED_DEBUG y
${optionalString (versionAtLeast version "3.11") ''
- X86_INTEL_LPSS y
+ # X86_INTEL_LPSS y
''}
${optionalString (versionAtLeast version "3.10") ''
- X86_INTEL_PSTATE y
+ # X86_INTEL_PSTATE y
''}
- INTEL_IDLE y
- CPU_FREQ_DEFAULT_GOV_PERFORMANCE y
+ # INTEL_IDLE y
+ # CPU_FREQ_DEFAULT_GOV_PERFORMANCE y
${optionalString (versionOlder version "3.10") ''
USB_SUSPEND y
''}
- PM_WAKELOCKS y
+ # PM_WAKELOCKS y
# Support drivers that need external firmware.
STANDALONE n
@@ -77,10 +77,10 @@ with stdenv.lib;
IKCONFIG_PROC y
# Optimize with -O2, not -Os.
- CC_OPTIMIZE_FOR_SIZE n
+ # CC_OPTIMIZE_FOR_SIZE n
# Enable the kernel's built-in memory tester.
- MEMTEST y
+ # 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.
@@ -91,19 +91,19 @@ with stdenv.lib;
NUMA? y
# Disable some expensive (?) features.
- PM_TRACE_RTC 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
+ # HIPPI y
+ # MTD_COMPLEX_MAPPINGS y # needed for many devices
SCSI_LOWLEVEL y # enable lots of SCSI devices
- SCSI_LOWLEVEL_PCMCIA y
- SCSI_SAS_ATA y # added to enable detection of hard drive
- SPI y # needed for many devices
- SPI_MASTER y
+ # SCSI_LOWLEVEL_PCMCIA y
+ # SCSI_SAS_ATA y # added to enable detection of hard drive
+ # SPI y # needed for many devices
+ # SPI_MASTER y
WAN y
# Networking options.
@@ -111,13 +111,13 @@ with stdenv.lib;
${optionalString (versionOlder version "3.13") ''
IPV6_PRIVACY y
''}
- NETFILTER_ADVANCED y
- IP_ROUTE_VERBOSE y
- IP_MROUTE_MULTIPLE_TABLES y
- IP_VS_PROTO_TCP y
- IP_VS_PROTO_UDP y
- IP_VS_PROTO_ESP y
- IP_VS_PROTO_AH y
+ # NETFILTER_ADVANCED y
+ # IP_ROUTE_VERBOSE y
+ # IP_MROUTE_MULTIPLE_TABLES 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
IPV6_ROUTER_PREF y
IPV6_ROUTE_INFO y
@@ -127,14 +127,14 @@ with stdenv.lib;
IPV6_MROUTE y
IPV6_MROUTE_MULTIPLE_TABLES y
IPV6_PIMSM_V2 y
- CLS_U32_PERF y
- CLS_U32_MARK y
+ # CLS_U32_PERF y
+ # CLS_U32_MARK y
${optionalString (stdenv.system == "x86_64-linux") ''
- BPF_JIT y
+ # BPF_JIT y
''}
${optionalString (versionAtLeast version "4.4") ''
- NET_CLS_BPF m
- NET_ACT_BPF m
+ # NET_CLS_BPF m
+ # NET_ACT_BPF m
''}
L2TP_V3 y
L2TP_IP m
@@ -153,20 +153,20 @@ with stdenv.lib;
BCMA_HOST_PCI? y
# 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_VESA y
- FRAMEBUFFER_CONSOLE y
- FRAMEBUFFER_CONSOLE_ROTATION y
+ # 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_VESA y
+ # FRAMEBUFFER_CONSOLE y
+ # FRAMEBUFFER_CONSOLE_ROTATION y
${optionalString (stdenv.system == "i686-linux") ''
FB_GEODE y
''}
@@ -177,32 +177,32 @@ with stdenv.lib;
DRM_I915_KMS y
''}
# Allow specifying custom EDID on the kernel command line
- DRM_LOAD_EDID_FIRMWARE y
- VGA_SWITCHEROO y # Hybrid graphics support
- DRM_GMA600 y
- DRM_GMA3600 y
+ # DRM_LOAD_EDID_FIRMWARE y
+ # VGA_SWITCHEROO y # Hybrid graphics support
+ # DRM_GMA600 y
+ # DRM_GMA3600 y
# Sound.
- SND_DYNAMIC_MINORS y
- 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)
+ # SND_DYNAMIC_MINORS y
+ # 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
+ # 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.
@@ -236,7 +236,7 @@ with stdenv.lib;
NFSD_V3_ACL y
NFSD_V4 y
${optionalString (versionAtLeast version "3.11") ''
- NFSD_V4_SECURITY_LABEL y
+ # NFSD_V4_SECURITY_LABEL y
''}
NFS_FSCACHE y
NFS_SWAP y
@@ -244,7 +244,7 @@ with stdenv.lib;
${optionalString (versionAtLeast version "3.11") ''
NFS_V4_1 y # NFSv4.1 client support
NFS_V4_2 y
- NFS_V4_SECURITY_LABEL y
+ # NFS_V4_SECURITY_LABEL y
''}
CIFS_XATTR y
CIFS_POSIX y
@@ -272,8 +272,8 @@ with stdenv.lib;
# Security related features.
RANDOMIZE_BASE? y
- STRICT_DEVMEM y # Filter access to /dev/mem
- SECURITY_SELINUX_BOOTPARAM_VALUE 0 # Disable SELinux by default
+ # STRICT_DEVMEM y # Filter access to /dev/mem
+ # SECURITY_SELINUX_BOOTPARAM_VALUE 0 # Disable SELinux by default
DEVKMEM n # Disable /dev/kmem
${if versionOlder version "3.14" then ''
CC_STACKPROTECTOR? y # Detect buffer overflows on the stack
@@ -285,13 +285,13 @@ with stdenv.lib;
''}
# AppArmor support
- SECURITY_APPARMOR y
- DEFAULT_SECURITY_APPARMOR y
+ # SECURITY_APPARMOR y
+ # DEFAULT_SECURITY_APPARMOR y
# Microcode loading support
- MICROCODE y
- MICROCODE_INTEL y
- MICROCODE_AMD y
+ # MICROCODE y
+ # MICROCODE_INTEL y
+ # MICROCODE_AMD y
${optionalString (versionAtLeast version "3.11" && versionOlder version "4.4") ''
MICROCODE_EARLY y
MICROCODE_INTEL_EARLY y
@@ -299,11 +299,11 @@ with stdenv.lib;
''}
# Misc. options.
- 8139TOO_8129 y
- 8139TOO_PIO n # PIO is slower
- AIC79XX_DEBUG_ENABLE n
- AIC7XXX_DEBUG_ENABLE n
- AIC94XX_DEBUG n
+ # 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" && versionOlder version "3.13") ''
AUDIT_LOGINUID_IMMUTABLE y
''}
@@ -319,11 +319,11 @@ with stdenv.lib;
CLEANCACHE? y
CRASH_DUMP? n
DVB_DYNAMIC_MINORS? y # we use udev
- EFI_STUB y # EFI bootloader in the bzImage itself
+ # EFI_STUB y # EFI bootloader in the bzImage itself
FHANDLE y # used by systemd
FRONTSWAP y
- FUSION y # Fusion MPT device support
- IDE n # deprecated IDE support
+ # FUSION y # Fusion MPT device support
+ # IDE n # deprecated IDE support
${optionalString (versionAtLeast version "4.3") ''
IDLE_PAGE_TRACKING y
''}
@@ -334,50 +334,50 @@ with stdenv.lib;
JOYSTICK_XPAD_LEDS? y # LED Support for Xbox360 controller 'BigX' LED
KEXEC_FILE? y
KEXEC_JUMP? y
- LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support
- LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback
- LOGO n # not needed
- MEDIA_ATTACH y
- MEGARAID_NEWGEN y
+ # LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support
+ # LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback
+ # LOGO n # not needed
+ # MEDIA_ATTACH y
+ # MEGARAID_NEWGEN y
${optionalString (versionAtLeast version "3.15") ''
- MLX4_EN_VXLAN y
+ # MLX4_EN_VXLAN y
''}
MODVERSIONS y
- MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension
- MTRR_SANITIZER y
- NET_FC y # Fibre Channel driver support
+ # MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension
+ # MTRR_SANITIZER y
+ # NET_FC y # Fibre Channel driver support
${optionalString (versionAtLeast version "3.11") ''
- PINCTRL_BAYTRAIL y # GPIO on Intel Bay Trail, for some Chromebook internal eMMC disks
+ # PINCTRL_BAYTRAIL y # GPIO on Intel Bay Trail, for some Chromebook internal eMMC disks
''}
- MMC_BLOCK_MINORS 32 # 8 is default. Modern gpt tables on eMMC may go far beyond 8.
+ # MMC_BLOCK_MINORS 32 # 8 is default. Modern gpt tables on eMMC may go far beyond 8.
PPP_MULTILINK y # PPP multilink support
PPP_FILTER y
REGULATOR y # Voltage and Current Regulator Support
RC_DEVICES? y # Enable IR devices
- RT2800USB_RT55XX y
+ # RT2800USB_RT55XX y
SCHED_AUTOGROUP y
SCSI_LOGGING y # SCSI logging facility
- SERIAL_8250 y # 8250/16550 and compatible serial support
+ # SERIAL_8250 y # 8250/16550 and compatible serial support
SLIP_COMPRESSED y # CSLIP compressed headers
SLIP_SMART y
- HWMON y
- THERMAL_HWMON y # Hardware monitoring support
+ # HWMON y
+ # THERMAL_HWMON y # Hardware monitoring support
${optionalString (versionAtLeast version "3.15") ''
UEVENT_HELPER n
''}
${optionalString (versionOlder version "3.15") ''
USB_DEBUG? n
''}
- USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
- USB_EHCI_TT_NEWSCHED y # Improved transaction translator scheduling
+ # USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
+ # USB_EHCI_TT_NEWSCHED y # Improved transaction translator scheduling
${optionalString (versionAtLeast version "4.3") ''
USERFAULTFD y
''}
- X86_CHECK_BIOS_CORRUPTION y
- X86_MCE y
+ # X86_CHECK_BIOS_CORRUPTION y
+ # X86_MCE y
# PCI-Expresscard hotplug support
- ${optionalString (versionAtLeast version "3.12") "HOTPLUG_PCI_PCIE y"}
+ # ${optionalString (versionAtLeast version "3.12") "HOTPLUG_PCI_PCIE y"}
# Linux containers.
NAMESPACES? y # Required by 'unshare' used by 'nixos-install'
@@ -402,19 +402,19 @@ with stdenv.lib;
PROC_EVENTS y
# Tracing.
- FTRACE y
- KPROBES y
- FUNCTION_TRACER y
- FTRACE_SYSCALLS y
- SCHED_TRACER y
- STACK_TRACER y
- UPROBE_EVENT y
+ # FTRACE y
+ # KPROBES y
+ # FUNCTION_TRACER y
+ # FTRACE_SYSCALLS y
+ # SCHED_TRACER y
+ # STACK_TRACER y
+ # UPROBE_EVENT y
${optionalString (versionAtLeast version "4.4") ''
BPF_SYSCALL y
- BPF_EVENTS y
+ # BPF_EVENTS y
''}
- FUNCTION_PROFILER y
- RING_BUFFER_BENCHMARK n
+ # FUNCTION_PROFILER y
+ # RING_BUFFER_BENCHMARK n
# Devtmpfs support.
DEVTMPFS y
@@ -424,21 +424,21 @@ with stdenv.lib;
# Virtualisation.
PARAVIRT? y
- HYPERVISOR_GUEST y
+ # HYPERVISOR_GUEST y
PARAVIRT_SPINLOCKS? y
- KVM_APIC_ARCHITECTURE y
- KVM_ASYNC_PF y
+ # KVM_APIC_ARCHITECTURE y
+ # KVM_ASYNC_PF y
${optionalString (versionAtLeast version "4.0") ''
KVM_COMPAT? y
''}
KVM_DEVICE_ASSIGNMENT? y
${optionalString (versionAtLeast version "4.0") ''
- KVM_GENERIC_DIRTYLOG_READ_PROTECT y
+ # KVM_GENERIC_DIRTYLOG_READ_PROTECT y
''}
- KVM_GUEST y
- KVM_MMIO y
+ # KVM_GUEST y
+ # KVM_MMIO y
${optionalString (versionAtLeast version "3.13") ''
- KVM_VFIO y
+ # KVM_VFIO y
''}
XEN? y
XEN_DOM0? y
@@ -467,17 +467,17 @@ with stdenv.lib;
HIGHMEM64G? y # We need 64 GB (PAE) support for Xen guest support.
''}
${optionalString (stdenv.is64bit) ''
- VFIO_PCI_VGA y
+ # VFIO_PCI_VGA y
''}
VIRT_DRIVERS y
# Media support.
- MEDIA_DIGITAL_TV_SUPPORT y
- MEDIA_CAMERA_SUPPORT y
- MEDIA_RC_SUPPORT y
- MEDIA_USB_SUPPORT y
+ # MEDIA_DIGITAL_TV_SUPPORT y
+ # MEDIA_CAMERA_SUPPORT y
+ # MEDIA_RC_SUPPORT y
+ # MEDIA_USB_SUPPORT y
${optionalString (!(features.chromiumos or false)) ''
- MEDIA_PCI_SUPPORT y
+ # MEDIA_PCI_SUPPORT y
''}
# Our initrd init uses shebang scripts, so can't be modular.
@@ -506,8 +506,8 @@ with stdenv.lib;
# Support x2APIC (which requires IRQ remapping).
${optionalString (stdenv.system == "x86_64-linux") ''
- X86_X2APIC y
- IRQ_REMAP y
+ # X86_X2APIC y
+ # IRQ_REMAP y
''}
# Disable the firmware helper fallback, udev doesn't implement it any more
@@ -573,6 +573,21 @@ with stdenv.lib;
USB_GADGET n
''}
''}
+ REGULATOR_TPS62360 n
+ REGULATOR_MAX8952 n
+ LIBNVDIMM n
+ MMA9551 n
+ AT803X_PHY n
+ FPGA_MGR_ZYNQ_FPGA n
+ REGULATOR_LP872X n
+ SX9500 n
+ NFC_NXP_NCI_I2C n
+ NFC_FDP_I2C n
+ NFC_MRVL_UART n
+ NFC_ST_NCI_I2C n
+ PPS_CLIENT_GPIO n
+ HP03 n
+ AD5593R n
${kernelPlatform.kernelExtraConfig or ""}
${extraConfig}
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 8da8f20..01882fe 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -122,6 +122,15 @@ let
installTargets = [ (if platform.kernelTarget == "uImage" then "uinstall" else
if platform.kernelTarget == "zImage" then "zinstall" else
"install") ];
+ installPhase = ''
+ mkdir $out
+ pwd
+ ls -lh ..
+ cp -vi ../build/vmlinux $out/
+ make $makeFlags modules_install INSTALL_MOD_PATH=$out
+ set -x
+ runHook postInstall
+ '';
postInstall = ''
mkdir -p $dev
@@ -161,6 +170,7 @@ let
chmod +w -R ../source
arch=`cd $dev/lib/modules/${modDirVersion}/build/arch; ls`
+ arch=um
# Remove unusued arches
mv arch/$arch .
@@ -223,7 +233,7 @@ stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKe
(ubootChooser stdenv.platform.uboot);
makeFlags = commonMakeFlags ++ [
- "ARCH=${stdenv.platform.kernelArch}"
+ "ARCH=${builtins.trace stdenv.platform.kernelArch stdenv.platform.kernelArch}"
];
karch = stdenv.platform.kernelArch;
diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix
index 3c94501..8cf7165 100644
--- a/pkgs/top-level/platforms.nix
+++ b/pkgs/top-level/platforms.nix
@@ -6,10 +6,10 @@ rec {
kernelBaseConfig = "defconfig";
# Build whatever possible as a module, if not stated in the extra config.
kernelAutoModules = true;
- kernelTarget = "bzImage";
+ kernelTarget = "vmlinux";
};
- pc64 = pcBase // { kernelArch = "x86_64"; };
+ pc64 = pcBase // { kernelArch = "um"; };
pc32 = pcBase // { kernelArch = "i386"; };
function enforceArch() {
echo checking target arches
for x in $out/lib/*.so; do
echo checking $x
readelf -A $x | grep "@target@"
done
}
postInstallHooks+=(enforceArch)
enforce-arch.nix
{ stdenv, makeSetupHook }:
let
target = if builtins.trace "system is ${stdenv.system}" stdenv.system == "armv6l-linux" then "Tag_CPU_arch: v6" else
(if stdenv.system == "armv7l-linux" then "Tag_CPU_arch: v7" else "");
in
makeSetupHook { substitutions = { inherit target; NIX_DEBUG="1"; }; } ./enforce-arch.sh