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