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