summary refs log tree commit diff
path: root/pkgs/os-specific/linux/kernel/generic.nix
Commit message (Collapse)AuthorAge
* Merge pull request #110742 from siraben/deprecate-foldBen Siraphob2021-07-27
|\
| * treewide: fold -> foldrBen Siraphob2021-01-26
| |
* | buildLinux: pass buildPackages to linuxManualConfigBernardo Meurer2021-07-17
| | | | | | | | | | | | | | | | | | | | We should be using the _same_ buildPackages when we generate the configuration (which happens in buildLinux) as when we actually build the kernel (which happens in linuxManualConfig). This change enforces that when we callPackage `manual-config.nix` we pass on whatever `buildPackages` that `buildLinux` itself was called with.
* | buildLinux: preserve structuredExtraConfig and extraMakeFlags in passthruBernardo Meurer2021-07-13
| | | | | | | | | | This allows users to override custom kernel packages (e.g. linux_xanmod) that set their own structuredExtraConfig with ease.
* | buildLinux: take and propagate extraMakeFlagsBernardo Meurer2021-07-12
| | | | | | | | | | | | | | This is just for practicity, as it allows users of buildLinux to pass along extra flags they need in the kernel's make invocation. This makes, for example, supporting LLVM _much_ easier, and could enable us in the future to provide clang-built kernels.
* | buildLinux: apply hostPlatform.linux-kernel.makeFlags to generate-config.plBernardo Meurer2021-07-12
| | | | | | | | | | | | | | | | | | | | | | | | This enforces that the configuration generated will obey any/all flags set in the platform/stdenv configuration. This is crucial, for example, if you'd like to build a kernel using clang. Without this patch, anything you set in `stdenv.hostPlatform.linux-kernel.makeFlags` is wholly ignored during config generation, causing (for example) any changes in the desired toolchain (e.g. `LLVM`, `LLVM_IAS`) to not be reflected in the generated config, and for the subsequent build to fail.
* | Merge pull request #113225 from mroi/patch-linuxJörg Thalheim2021-05-11
|\ \ | | | | | | linux: improve cross compilation with clang
| * | linux: improve cross compilation with clangMichael Roitzsch2021-05-10
| |/ | | | | | | | | | | set HOST* variables for host build tools * do not assume the host compiler is gcc * pass all build tools to make
* | Merge branch 'staging-next' into stagingDmitry Kalinkin2021-04-08
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: pkgs/development/python-modules/panel/default.nix pkgs/os-specific/linux/kernel/generic.nix pkgs/servers/home-assistant/default.nix
| * | kernel: Add test for RC kernelsTim Steinbach2021-04-08
| | |
| * | kernel: Add tests to passthru.testsTim Steinbach2021-04-08
| |/
* | linux: remove remnants of grsecurityAlyssa Ross2021-04-06
| | | | | | | | | | | | | | | | | | | | Nixpkgs hasn't supported grsecurity kernels since 2017, so unless anybody is manually enabling the grsecurity feature to make these small kernel tweaks this is dead code. This means we don't actually support any "features" in the kernel common-config any more, but I've left the argument there because it's conceivable we could have some again in future.
* | linux: remove xen_dom0 feature entirelyAlyssa Ross2021-04-05
|/ | | | | | | Xen is now enabled unconditionally on kernels that support it, so the xen_dom0 feature doesn't do anything. The isXen attribute will now produce a deprecation warning and unconditionally return true. Passing in a custom value for isXen is no longer supported.
* lib: Clean up how linux and gcc config is specifiedJohn Ericson2021-01-23
| | | | | | | Second attempt of 8929989614589ee3acd070a6409b2b9700c92d65; see that commit for details. This reverts commit 0bc275e63423456d6deb650e146120c39c1e0723.
* Revert "lib: Clean up how linux and gcc config is specified"Jonathan Ringer2021-01-22
| | | | | | | This is a stdenv-rebuild, and should not be merged into master This reverts commit 8929989614589ee3acd070a6409b2b9700c92d65.
* lib: Clean up how linux and gcc config is specifiedJohn Ericson2021-01-21
| | | | | | | | | | | | | | | | The `platform` field is pointless nesting: it's just stuff that happens to be defined together, and that should be an implementation detail. This instead makes `linux-kernel` and `gcc` top level fields in platform configs. They join `rustc` there [all are optional], which was put there and not in `platform` in anticipation of a change like this. `linux-kernel.arch` in particular also becomes `linuxArch`, to match the other `*Arch`es. The next step after is this to combine the *specific* machines from `lib.systems.platforms` with `lib.systems.examples`, keeping just the "multiplatform" ones for defaulting.
* pkgs/os-specific: stdenv.lib -> libBen Siraphob2021-01-17
|
* linux: add flavor metadataJonathan Ringer2020-10-30
|
* treewide: add warning comment to “boot” packagesMatthew Bauer2020-07-31
| | | | | | | | | | | | | | | This adds a warning to the top of each “boot” package that reads: Note: this package is used for bootstrapping fetchurl, and thus cannot use fetchpatch! All mutable patches (generated by GitHub or cgit) that are needed here should be included directly in Nixpkgs as files. This makes it clear to maintainer that they may need to treat this package a little differently than others. Importantly, we can’t use fetchpatch here due to using <nix/fetchurl.nix>. To avoid having stale hashes, we need to include patches that are subject to changing overtime (for instance, gitweb’s patches contain a version number at the bottom).
* kernel: fix config generationMatthieu Coudron2020-04-01
| | | | | | Addresses https://github.com/NixOS/nixpkgs/issues/71803: Kernel options are not merged as described, especially the "optional" aspects. The error silences legitimate warnings.
* linux: clearer origin for settings configurationMatthieu Coudron2019-09-04
| | | | | adds _file so that nix may have a chance to display what file the conflictings settings come from.
* treewide: name -> pnamevolth2019-08-17
|
* treewide: remove unused variables (#63177)volth2019-06-16
| | | | | | * treewide: remove unused variables * making ofborg happy
* Merge pull request #53826 from delroth/randstruct-custom-seedJoachim F2019-04-16
|\ | | | | nixos: allow customizing the kernel RANDSTRUCT seed
| * kernel: extend the RANDSTRUCT seed with a user-configurable sectionPierre Bourdon2019-01-24
| |
* | linux: (re)take into account extraConfigMatthieu Coudron2019-01-31
| | | | | | | | PR #42838 wrongly started to ignore extraConfig. This fixes that.
* | linux: ability to merge structured configsMatthieu Coudron2019-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* | Merge pull request #53511 from joachifm/kernel-32bit-emu-feature-flagJoachim F2019-01-25
|\ \ | |/ |/| linux: flag to indicate 32bit emulation support
| * linux: add feature flag to indicate support for 32bit emulationJoachim Fasting2019-01-06
| | | | | | | | | | Motivated by the need to warn users trying to build configurations that depend on being able to run 32bit apps on 64bit kernels.
* | kernel/generic.nix: provide required dependencies for GCC plugins buildsPierre Bourdon2019-01-04
|/
* treewide: Remove usage of remaining redundant platform compatability stuffJohn Ericson2018-08-30
| | | | | Want to get this out of here for 18.09, so it can be deprecated thereafter.
* kernel: Remove empty preUnpackTuomas Tynkkynen2018-07-24
|
* [bot] treewide: remove unused 'args@' in lambdasvolth2018-07-20
|
* linux: fix features systemMatthieu Coudron2018-06-30
|
* linux: translate config to structured configDan Peebles2018-06-30
| | | | | | | | | | | | 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]
* kernel: Allow kernel packages to specify a custom default defconfigTuomas Tynkkynen2018-05-31
|
* linux kernel generic: use passAsFile for kernelConfigDominique Martinet2018-04-09
| | | | | Otherwise get the error 'Argument list too long' when running builder with a very long kernelConfig
* buildLinux: allow to override arch/modules/builtinMatthieu Coudron2018-03-08
| | | | - Easy override of autoModules and preferBuiltin and kernelArch parameters (currently living in `hostSystem` set).
* buildLinux: removes unnecessary parametersMatthieu Coudron2018-03-08
| | | | and passes parameters in a single set
* Revert "linux-*: build with gcc7, but allow overriding it"Vladimír Čunát2018-02-17
| | | | | This reverts commit ae040525d8aa01e81ffd1d1c97c908a6e63c819f. gcc7 is the default now.
* kernel: Add deps for building 4.16Tuomas Tynkkynen2018-02-16
|
* linux-*: build with gcc7, but allow overriding itVladimír Čunát2018-02-11
| | | | | I expect we will revert this after general upgrade to gcc7. See https://github.com/NixOS/nixpkgs/issues/34383
* Merge remote-tracking branch 'upstream/master' into HEADTuomas Tynkkynen2018-02-07
|\ | | | | | | | | Conflicts: pkgs/os-specific/linux/kernel/generic.nix
| * kernel: Fix missing config options from platformTuomas Tynkkynen2018-02-06
| | | | | | | | | | | | | | | | | | common-config.nix has: ${kernelPlatform.kernelExtraConfig or ""} and indeed kernelExtraConfig is in hostPlatform.platform, and not in hostPlatform. (Ugh.).
* | kernel: buildLinux replaces import ./generic.nixMatthieu Coudron2018-02-07
|/ | | | | | | - 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
* kernel: fix dependenciesBen Wolsieffer2018-01-15
|
* kernel: remove leftover remnants of old cross compiling systemBen Wolsieffer2018-01-15
|
* kernel: don't force ignoreConfigErrors when cross compiling, only set theBen Wolsieffer2018-01-15
| | | | default
* kernel: Enable cross compilingBen Gamari2018-01-15
|
* treewide: replace `addPassthru`Jan Malakhovski2018-01-14
|