about summary refs log tree commit diff
path: root/pkgs/build-support/kernel
AgeCommit message (Collapse)AuthorFilesLines
2020-08-27makeModulesClosuse: read modules from corrent kernel versionArthur Gautier1-1/+1
Before this commit, the firmware information would be loaded from the currently running kernel, not from the kernel to be loaded. This commit ensures the correct kernel version and modules are read.
2020-08-27makeModulesClosure: fixup firmware extractionArthur Gautier1-1/+11
After a recent upgrade of modinfo, its output is now incorrect for builtin modules. This commit filters out the output until a fix is made available upstream
2020-07-16makeModulesClosure: handle builtin modules betterCrystalGamma1-24/+43
The previous code discarded entire dependency trees if the first entry in the dependency list compiled by `modprobe --show-depends` is a builtin and otherwise handled its output in a rather hackish way.
2019-12-07modules-shrunk: preserve module priorities from buildMarkus S. Wamser1-0/+8
depmod looks for files modules.order and modules.builtin which are generated at kernel build time but were previously not passed to the modules-shrunk derivation
2019-10-11makeInitrd: Use stdenvNoCCEelco Dolstra1-10/+9
2019-05-29build-support/make-initrd: Don't derive derivation name from file nameArian van Putten1-2/+12
not all valid file names are valid derivation names. This can cause troubles when, for example, trying to place systemd template unit files, which contain an '@' in their name, in an initrd. Fixes #53987
2019-04-13make-initrd: allow specifying nameLinus Heckemann1-2/+5
Also moves the argument defaults out of all-packages.nix and into make-initrd itself.
2018-08-30treewide: Remove usage of remaining redundant platform compatability stuffJohn Ericson1-2/+1
Want to get this out of here for 18.09, so it can be deprecated thereafter.
2018-04-12kernel: Fix running kernels *with* modulesaszlig1-1/+1
Pull request #38470 added support for running/building kernels without modules. This got merged in 38e04bbf29fe3b6af26b3505a42ce5871aeac17d but unfortunately while this works perfectly on kernels without modules it also makes sure that *every* kernel gets no modules. So all of our VM tests fail since that merge with something like this: machine# loading module loop... machine# modprobe: FATAL: Module loop not found in directory /lib/modules/4.14.33 machine# loading module vfat... machine# modprobe: FATAL: Module vfat not found in directory /lib/modules/4.14.33 machine# loading module nls_cp437... machine# modprobe: FATAL: Module nls_cp437 not found in directory /lib/modules/4.14.33 machine# loading module nls_iso8859-1... machine# modprobe: FATAL: Module nls_iso8859-1 not found in directory /lib/modules/4.14.33 machine# loading module fuse... machine# modprobe: FATAL: Module fuse not found in directory /lib/modules/4.14.33 machine# loading module dm_mod... machine# modprobe: FATAL: Module dm_mod not found in directory /lib/modules/4.14.33 I shortly tested this against the "misc" VM test and the test is working again. In the long term (and I currently don't have time for this) it would be better to also have a VM test which tests a kernel without modules. Signed-off-by: aszlig <aszlig@nix.build> Cc: @roberth, @7c6f434c
2018-04-05linux module handling: support kernels without modulesRobert Hensing1-0/+14
2018-03-10Merge branch 'master' into stagingJan Malakhovski2-0/+4
Resolved the following conflicts (by carefully applying patches from the both branches since the fork point): pkgs/development/libraries/epoxy/default.nix pkgs/development/libraries/gtk+/3.x.nix pkgs/development/python-modules/asgiref/default.nix pkgs/development/python-modules/daphne/default.nix pkgs/os-specific/linux/systemd/default.nix
2018-03-05makeInitrd: explain why we don't use closureInfoVladimír Čunát1-0/+2
/cc #36268.
2018-03-05Revert "makeInitrd: Use closureInfo"Eelco Dolstra2-4/+11
This reverts commit 776a5e6ebfacc6831527bc6c3c1a58ef2087c819. Fixes #36268.
2018-02-28makeModulesClosure: Fix cross-compilationShea Levy1-1/+1
2018-02-23makeInitrd: Use closureInfoEelco Dolstra3-11/+6
2018-02-16makeModulesClosure: support firmwareNikolay Amiantov2-2/+11
Link it in stage 1.
2017-11-05platforms.nix: Clean up more 'uboot' legacyTuomas Tynkkynen1-8/+5
For a while now, the only thing the 'uboot' attribute does is to tell whether to add ubootTools to kernel/initrd builds. That can be determined with platform.kernelTarget == "uImage" just as well.
2017-11-05kernel, initrd: Remove legacy ubootChooserTuomas Tynkkynen1-2/+2
2017-10-25pathsFromGraph: Remove obsolete printManifest featureEelco Dolstra1-22/+1
2017-06-28make-initrd: Don't use stdenv.crossJohn Ericson1-7/+5
2016-12-20make-initrd: create reproducible initrdsJoachim Fasting3-22/+5
To achieve reproducible results, `cpio` archive members are added in sorted order and inodes renumbered. The `cpio-clean.pl` script is made obsolete by setting mtimes via `touch` & using `cpio --reproducible`. Suggested by @dezgeg in https://github.com/NixOS/nixpkgs/pull/21273#issuecomment-268116605. Note that using `--reproducible` means that initial ramdisk creation now requires at least `cpio` version 2.12 (released in 2015).
2016-10-20modules-closure: Use stdenvNoCCTuomas Tynkkynen1-2/+2
2016-08-14makeModulesClosure: don't set pipefail as it's already set in $stdenv/setupNikolay Amiantov1-2/+0
2016-02-01makeModulesClosure: Small cleanupEelco Dolstra2-4/+2
2015-12-28make-initrd: store all files with root as ownerNikolay Amiantov1-1/+1
2015-03-25makeInitrd: Support prepending other initrdsWilliam A. Kennington III2-3/+6
2014-06-28Document paths-from-graph.pl somewhat.Alexander Kjeldaas1-0/+18
2014-04-12Fix initrd breaking by recent repeatable-builds changesMathijs Kwik1-3/+0
See the comments at https://github.com/NixOS/nixpkgs/commit/f67015cae49400eba539b9ec8b9920643581c77c for more information. Please note: this makes initrd unrepeatable again, but most people will prefer that above an unbootable system.
2014-04-05Make initrd and the kernel builds repeatable.Alexander Kjeldaas3-3/+24
2013-08-07makeModulesClosure: Use kmod instead of module-init-toolsEelco Dolstra2-10/+6
2013-02-21Merge branch 'master' into stdenv-updatesShea Levy2-2/+3
Conflicts: pkgs/applications/networking/browsers/chromium/default.nix pkgs/top-level/all-packages.nix Merge conflicts seemed trivial, but a look from viric and aszlig would be nice.
2013-02-19makeInitrd: Make the compressor configurableShea Levy2-2/+3
2012-12-28Rename buildNativeInputs -> nativeBuildInputsEelco Dolstra1-2/+2
Likewise for propagatedBuildNativeInputs, etc. "buildNativeInputs" sounds like an imperative rather than a noun phrase.
2012-05-21* Be less verbose generating initrds.Eelco Dolstra1-1/+1
svn path=/nixpkgs/trunk/; revision=34199
2012-01-18* "ensureDir" -> "mkdir -p". "ensureDir" is a rather pointlessEelco Dolstra2-2/+2
function, so obsolete it. svn path=/nixpkgs/branches/stdenv-updates/; revision=31644
2011-11-02synchronize with trunkPeter Simons1-1/+1
svn path=/nixpkgs/branches/stdenv-updates/; revision=30186
2011-10-28s|/nix/store|$NIX_STORE|Shea Levy1-1/+1
svn path=/nixpkgs/trunk/; revision=30094
2011-10-06Synchronized stdenv-updates branch with trunk.Peter Simons1-1/+4
There were conflicting patches of pkgs/os-specific/linux/module-init-tools. Apparently, the expression was updated independently in both branches. I've resolved the conflict by preferring the patches from stdenv-updates, because those patches appeared to be more sophisticated, i.e. they build the manual, etc. svn path=/nixpkgs/branches/stdenv-updates/; revision=29680
2011-10-02D'ohShea Levy1-1/+1
svn path=/nixpkgs/trunk/; revision=29562
2011-10-02modprobe --show-depends now spits out 'builtin' if a requested module is, ↵Shea Levy1-1/+4
well, built-in svn path=/nixpkgs/trunk/; revision=29560
2011-08-24Merge from trunk up through r28790Shea Levy1-0/+1
svn path=/nixpkgs/branches/stdenv-updates/; revision=28792
2011-08-16module-init-tools: 3.4 -> 3.16David Guibert1-0/+1
svn path=/nixpkgs/branches/stdenv-updates/; revision=28621
2011-02-16* nixSqlite expects another integer (denoting the size of the NAR) inEelco Dolstra1-0/+1
`nix-store --load-db'. svn path=/nixpkgs/trunk/; revision=25988
2010-02-27Fixing the correct handling of uboot in the initrd and the kernel derivations.Lluís Batlle i Rossell1-1/+1
(nixos on sheevaplug) svn path=/nixpkgs/trunk/; revision=20275
2010-02-27Simplified much more the expressions for cross building and multiplatform.Lluís Batlle i Rossell1-4/+13
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
2009-11-08Making the 'makeInitrd' expression use "platform"Lluís Batlle i Rossell1-5/+3
svn path=/nixpkgs/branches/stdenv-updates/; revision=18292
2009-11-08Porting changes from stdenv-updates into this branch. backups/stdenv-updates2@18273Lluís Batlle i Rossell3-3/+13
This comes from: svn diff ^/nixpkgs/trunk/@18255 ^/nixpkgs/branches/stdenv-updates/ > diff patch -p0 < diff and then adding into svn all files new from the patch. trunk@18255 comes from the last time I updated stdenv-updates from trunk. svn path=/nixpkgs/stdenv-updates2/; revision=18272
2009-09-01* addCoverageInstrumentation: factor out the code that keeps the buildEelco Dolstra2-1/+8
tree under $out into a separate stdenv adapter named keepBuildTree. * makeModulesClosure: support building an initrd for a kernel that has been compiled with coverage instrumentation. svn path=/nixpkgs/trunk/; revision=16916
2009-04-29* Doh! Since r15200, modules-closure.sh generated an empty set ofEelco Dolstra2-9/+7
modules for the initial ramdisk if there were no additional kernel module packages (such as the NVIDIA driver or AUFS), leading to a kernel panic in the initrd. This was because in that case modprobe would print paths referring to the kernel path rather than the module aggregation path, and then `sed "s^$kernel^$out^"' would silently fail. Fixed. * Also, use depmod here rather than doing sed hackery on modules.dep. * Also, `allowMissing' was broken (missing "$" before the variable name). svn path=/nixpkgs/trunk/; revision=15394
2008-03-24Allow to skip non-existent modules. For custom kernels.Michael Raskin2-2/+3
svn path=/nixpkgs/trunk/; revision=11273