* Use a klibc-based udev. Hopefully this fixes the problems
encountered on x86-64 when udev is compiled against dietlibc. svn path=/nixos/trunk/; revision=12555
This commit is contained in:
parent
2e9dc1ea47
commit
a33d2f3adc
@ -13,6 +13,11 @@ rec {
|
||||
bootStdenv = pkgs.useDietLibC pkgs.stdenv;
|
||||
};
|
||||
|
||||
pkgsKlibc = import "${nixpkgsPath}/pkgs/top-level/all-packages.nix" {
|
||||
system = pkgs.stdenv.system;
|
||||
bootStdenv = pkgs.useKlibc pkgs.stdenv kernelPackages.klibc;
|
||||
};
|
||||
|
||||
pkgsStatic = import "${nixpkgsPath}/pkgs/top-level/all-packages.nix" {
|
||||
system = pkgs.stdenv.system;
|
||||
bootStdenv = pkgs.makeStaticBinaries pkgs.stdenv;
|
||||
@ -40,10 +45,10 @@ rec {
|
||||
extraUtils = pkgs.runCommand "extra-utils"
|
||||
{ buildInputs = [pkgs.nukeReferences];
|
||||
inherit (pkgsStatic) utillinux;
|
||||
inherit (pkgsDiet) udev;
|
||||
e2fsprogs = pkgs.e2fsprogsDiet;
|
||||
devicemapper = if config.boot.initrd.lvm then pkgs.devicemapperStatic else null;
|
||||
lvm2 = if config.boot.initrd.lvm then pkgs.lvm2Static else null;
|
||||
inherit (pkgsKlibc) udev;
|
||||
e2fsprogs = pkgsDiet.e2fsprogs;
|
||||
devicemapper = if config.boot.initrd.lvm then pkgsStatic.devicemapper else null;
|
||||
lvm2 = if config.boot.initrd.lvm then pkgsStatic.lvm2 else null;
|
||||
allowedReferences = []; # prevent accidents like glibc being included in the initrd
|
||||
}
|
||||
''
|
||||
@ -92,6 +97,9 @@ rec {
|
||||
rootLabel = if config.boot.autoDetectRootDevice then config.boot.rootLabel else "";
|
||||
|
||||
path = [
|
||||
# `extraUtils' comes first because it overrides the `mount'
|
||||
# command provided by klibc (which isn't capable of
|
||||
# auto-detecting FS types).
|
||||
extraUtils
|
||||
kernelPackages.klibcShrunk
|
||||
];
|
||||
|
@ -4,6 +4,7 @@
|
||||
}:
|
||||
|
||||
rec {
|
||||
|
||||
configComponents = [
|
||||
configuration
|
||||
(import ./options.nix)
|
||||
@ -118,6 +119,7 @@ rec {
|
||||
extraEtc = pkgs.lib.concatLists (map (job: job.extraEtc) upstartJobs.jobs);
|
||||
};
|
||||
|
||||
|
||||
# Font aggregation
|
||||
fontDir = import ./fontdir.nix {
|
||||
inherit config pkgs;
|
||||
@ -125,6 +127,7 @@ rec {
|
||||
inherit (pkgs.xorg) mkfontdir mkfontscale fontalias;
|
||||
};
|
||||
|
||||
|
||||
# The wrapper setuid programs (since we can't have setuid programs
|
||||
# in the Nix store).
|
||||
wrapperDir = "/var/setuid-wrappers";
|
||||
@ -227,6 +230,7 @@ rec {
|
||||
# a reboot.
|
||||
++ nssModules;
|
||||
|
||||
|
||||
# We don't want to put all of `startPath' and `path' in $PATH, since
|
||||
# then we get an embarrassingly long $PATH. So use the user
|
||||
# environment builder to make a directory with symlinks to those
|
||||
@ -358,4 +362,5 @@ rec {
|
||||
configurationName = config.boot.configurationName;
|
||||
}) config.environment.checkConfigurationOptions
|
||||
optionDeclarations config;
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user