Commit graph

217 commits

Author SHA1 Message Date
Matthieu Coudron 7aacbdb898 linux: convert hardened-config to a structured one 2019-01-28 09:07:24 +09:00
Matthieu Coudron 3bb7b3f02e linux: ability to merge structured configs
This should make the composability of kernel configurations more straigthforward.

- now distinguish freeform options from tristate ones
- will look for a structured config in kernelPatches too
one can now access the structuredConfig from a kernel via linux_test.configfile.structuredConfig
in order to reinject it into another kernel, no need to rewrite the config from scratch

The following merge strategies are used in case of conflict:
-- freeform items must be equal or they conflict (mergeEqualOption)
-- for tristate (y/m/n) entries, I use the mergeAnswer strategy which takes the best available value, "best" being defined by the user (by default "y" > "m" > "n", e.g. if one entry is both marked "y" and "n", "y" wins)
-- if one item is both marked optional/mandatory, mandatory wins (mergeFalseByDefault)
2019-01-28 09:06:33 +09:00
Vladimír Čunát 3fa77297b5
linux: avoid memory hotplug support on most platforms
It broke i686 build, and it's probably not worth it on others, too.
/cc #54095 e63414078a.
2019-01-19 19:22:02 +01:00
Vladimír Čunát 23eb5e846d
Merge #54095: linux: enable memory hotplug support 2019-01-19 16:26:01 +01:00
Aaron Andersen e63414078a Enable memory hotplug support 2019-01-18 13:17:33 +00:00
Danylo Hlynskyi 23a13b562c
kernel config: add support for CONFIG_SQUASHFS_ZSTD (#52967)
Also, allow override `make-squashfs.nix` compression parameters.
2019-01-17 15:24:44 +02:00
Tim Steinbach 97aba92bcd
linux: 4.20-rc7 -> 5.0-rc1 2019-01-07 07:57:38 -05:00
Tim Steinbach 98ac5710bd
kernel-config: CIFS_POSIX no longer exists 2018-12-21 09:10:17 -05:00
Jörg Thalheim e7a9fc2fca
Merge pull request #49470 from grahamc/enable-mlx5core-by-default
kernel: enable MLX5_CORE_EN when possible
2018-11-30 17:55:45 +00:00
Orivej Desh 08d98b2e38 linux: enable CGROUP_HUGETLB, CGROUP_PERF, CGROUP_RDMA (#50225)
These options were added in:

NAMESPACES 2.6.25
CGROUP_DEVICE 2.6.26
CGROUP_HUGETLB 3.6
CGROUP_PERF 2.6.39
CGROUP_RDMA 4.11
2018-11-13 01:13:00 +00:00
Graham Christensen d65b39a805 kernel: enable MLX5_CORE_EN when possible
Hydra's builders from Packet.net use this option a lot, causing
lots of slow deploys.
2018-10-30 17:29:37 +01:00
John Ericson 2c2f1e37d4 reewide: Purge all uses stdenv.system and top-level system
It is deprecated and will be removed after 18.09.
2018-08-30 17:20:32 -04:00
Vladimír Čunát e6a37e3ce4
linux: build with SCHEDUTIL governor
- it can't be built as a module
- it's not set as the default yet
- for discussion see https://github.com/NixOS/nixpkgs/pull/42330
2018-08-30 11:26:43 +02:00
Tim Steinbach f412e19996
linux: 4.18-rc8 -> 4.19-rc1 2018-08-26 21:50:51 -04:00
Izorkin 32c3cbdadd nftables: enable works in linux kernel 4.17 and 4.18 2018-08-25 23:00:54 +03:00
Tim Steinbach 9371f6ad37
linux: 4.18-rc3 -> 4.18-rc4 2018-07-09 20:11:10 -04:00
Tuomas Tynkkynen ab340f7829 kernel config: Minor text fixes 2018-06-30 16:01:41 +03:00
Tuomas Tynkkynen fc816e5609 kernel config: Fix recent i686 builds 2018-06-30 16:01:41 +03:00
Matthieu Coudron e4fe7b31be linux: fix features system 2018-06-30 16:01:41 +03:00
Matthieu Coudron dcea150a89 kernel: remove conditions based on 3.X kernels
The oldest kernel in nixpkgs being 4.4, we get rid of checks for older
kernels.
2018-06-30 16:01:41 +03:00
Dan Peebles ff9999ad1b linux: translate config to structured config
Instead of using a string to describe kernel config, use a nix
attribute set, then converted to a string.
- allows to override the config, aka convert 'yes' into 'modules' or
vice-versa
- while for now merging different configs is still crude (last spec wins),
at least there should be only one CONFIG_XYZ value compared to the current string
config where the first defined would be used and others ignored.

[initial idea by copumpkin in 2016, a major rebase to 2018 by teto]
2018-06-30 16:01:41 +03:00
Tim Steinbach f85a82a647
linux-testing: 4.17-rc7 -> 4.18-rc1 2018-06-16 20:37:15 -04:00
Robert Hensing fc9ffe790f linux: Enable RT53XX wifi support 2018-06-10 17:55:55 +03:00
gnidorah c9e7b380e5 linux: enable support for iGVT-g VGPU 2018-05-29 19:25:52 +03:00
Jan Malakhovski 5a6d202a43 Merge pull request #40419 from oxij/pkgs/fix-linux-debug
linuxPackages.kernel: config: fix DEBUG_INFO setting
2018-05-16 00:56:12 -05:00
Yorick c7e8ddc066
linux: config: remove prefix on KEY_DH_OPERATIONS 2018-05-15 14:33:29 +02:00
Yorick f8dc3abbb0
linux: add CONFIG_KEY_DH_OPERATIONS 2018-05-14 02:03:42 +02:00
John Ericson ba52ae5048 treewide: isArm -> isAarch32
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.

The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:

```
ISA:             ARMv8   {-A, -R, -M}
                 /    \
Mode:     Aarch32     Aarch64
             |         /   \
Encoding:   A64      A32   T32
```

At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.

The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.

[1]: https://developer.arm.com/products/architecture/a-profile
2018-04-25 15:28:55 -04:00
Tim Steinbach f8665f18fb
linux: 4.16-rc7 -> 4.17-rc1 2018-04-17 20:28:11 -04:00
Frederik Rietdijk 0aa59a08d6 Merge master into staging 2018-04-09 15:12:32 +02:00
Tim Steinbach c1e1690f62
linux: Hide test warnings from 4.16+ kernels 2018-04-08 19:09:11 -04:00
Nikolay Amiantov e31c3f8b9f kernel: enable CGROUP_NET_PRIO
It's required by systemd 238 because of a bug, otherwise systemd aborts.
2018-03-22 22:15:37 +03:00
Tuomas Tynkkynen 822526f09e kernel config: Enable CGROUP_BPF
Avoids the following warning:

File /.../systemd-journald.service:35 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
2018-02-28 01:12:54 +02:00
Tim Steinbach bbbd9de9d7
linux-common: Add CFS_BANDWIDTH
The option is needed to limit CPU usage of processes.
It seems to have no negative impact if left unused.

See https://lwn.net/Articles/428230/
2018-02-16 10:00:08 -05:00
Tuomas Tynkkynen 7a7e8a8004 kernel config: Disable USB_SERIAL_* on 4.16 and above
They got removed:

commit 003948c54e5b5034a9bbb4923336f5aba125eae6
Author: Benjamin Gilbert <benjamin.gilbert@coreos.com>
Date:   Tue Jan 23 18:06:30 2018 -0800

    USB: serial: keyspan: Drop firmware Kconfig options

    The USB_SERIAL_KEYSPAN_* firmware options no longer do anything.
2018-02-16 01:13:30 +02:00
Tuomas Tynkkynen db38e0c7e7 kernel config: Cleanup self-test module disabling
No reason to have complex version-dependent conditionals when the
question mark already handles this just as well.

Also add RUNTIME_TESTING_MENU setting which nicely disables all of this
on >= 4.16.
2018-02-16 01:13:30 +02:00
Herwig Hochleitner 3027b80f1d linuxPackages.kernel: add feature.debug flag for enabling DEBUG_INFO 2018-02-15 09:10:32 +01:00
Herwig Hochleitner 66080ae4d8 programs.criu: add nixos option for installing criu + kernel flags 2018-02-15 09:10:32 +01:00
Matthieu Coudron f620b1b693 kernel: buildLinux replaces import ./generic.nix
- defined buildLinux as generic.nix instead of manual-config.nix. This
makes kernel derivations a tad more similar to your typical derivations.
- moved $buildRoot to within the source folder, this way it doesn't have to be created before the unpackPhase
and make it easier to work on kernel source without running the unpackPhase
2018-02-07 10:07:13 +09:00
Ben Gamari 7a9b6ac39a kernel: Enable cross compiling 2018-01-15 11:55:06 -05:00
Tim Steinbach eb0ecd7eba
linux-copperhead: 4.14.12.a -> 4.14.13.a 2018-01-11 08:30:19 -05:00
Peter Hoeg f674cb5ecc kernel: enable writeback throttling to avoid IO queues filling up 2018-01-06 11:20:48 +08:00
Raymond Gauthier 7cdd12e4e9 kernel config: Enable MEDIA_CONTROLLER
With this disabled, cameras would not get a `/dev/mediaX` entry matching
the `/dev/videoX` which broke any application (e.g: `uvcdynctrl -l`,
`media-ctl -p`) depending on this interface.
2017-11-21 16:33:31 +02:00
makefu 292f60504c linux.kernel: enable build of stk1160 modules 2017-11-08 12:41:54 +02:00
Tuomas Tynkkynen a06d64ea69 kernel config: Explicitly enable device mapper
A no-op change on x86 but enables it on ARM.
2017-10-07 11:05:05 +03:00
Tim Steinbach c8f43edaf5
linux: 4.13-rc7 -> 4.14-rc1 2017-09-17 09:11:04 -04:00
Tuomas Tynkkynen 9a6aa33422 kernel: Disable DEBUG_INFO
Since we don't have a split debug info output yet, don't waste time
writing several gigabytes of debug info that's all going to be stripped
out at the end.

This change only affects Aarch64 (where some joker has enabled it in the
architecture defconfig) and is a no-op on the others.
2017-09-16 15:09:10 +03:00
Jörg Thalheim 44f93731d6 linux_chromiumos_3_18: remove kernel due lack of maintainer/breakage
There is no maintainer for this package, probably not many users.
It requires effort to fix all third-party modules for this old kernel
versions. It might contain unpatched security holes.

For Pixel chromebooks, we have the samus-kernel.
Apart from that https://github.com/GalliumOS/linux might be a good choice.
2017-09-05 14:42:23 +02:00
Tim Steinbach cd85a704a5
linux: 4.13-rc4 -> 4.13-rc6 2017-08-22 03:23:30 -04:00
Tim Steinbach f46f98ad31
Revert 0cf0d7186a
Order common kernel config by functionality
See #27949
2017-08-07 17:34:10 -04:00