diff options
author | Franz Pletz <fpletz@fnordicwalking.de> | 2016-05-18 17:10:02 +0200 |
---|---|---|
committer | Franz Pletz <fpletz@fnordicwalking.de> | 2016-05-18 17:10:02 +0200 |
commit | f8d481754cf842ca6e6ac1427ce0f571f5a44108 (patch) | |
tree | 70e702285987429aed275e0d5e2dc15c050e1f8c /nixos/modules/system | |
parent | 9fbc20e2f89bc045efac7ade41949a2c2d571dec (diff) | |
parent | 3cd63ade1614d4c581735ffb0cebe181bf87dfc8 (diff) | |
download | nixlib-f8d481754cf842ca6e6ac1427ce0f571f5a44108.tar nixlib-f8d481754cf842ca6e6ac1427ce0f571f5a44108.tar.gz nixlib-f8d481754cf842ca6e6ac1427ce0f571f5a44108.tar.bz2 nixlib-f8d481754cf842ca6e6ac1427ce0f571f5a44108.tar.lz nixlib-f8d481754cf842ca6e6ac1427ce0f571f5a44108.tar.xz nixlib-f8d481754cf842ca6e6ac1427ce0f571f5a44108.tar.zst nixlib-f8d481754cf842ca6e6ac1427ce0f571f5a44108.zip |
Merge remote-tracking branch 'origin/master' into hardened-stdenv
Diffstat (limited to 'nixos/modules/system')
-rw-r--r-- | nixos/modules/system/activation/activation-script.nix | 3 | ||||
-rw-r--r-- | nixos/modules/system/boot/initrd-ssh.nix | 2 | ||||
-rw-r--r-- | nixos/modules/system/boot/loader/grub/grub.nix | 2 | ||||
-rw-r--r-- | nixos/modules/system/boot/stage-1-init.sh | 14 | ||||
-rw-r--r-- | nixos/modules/system/boot/systemd-unit-options.nix | 2 | ||||
-rw-r--r-- | nixos/modules/system/boot/systemd.nix | 2 |
6 files changed, 18 insertions, 7 deletions
diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix index 9d61d64f7553..4489e34831da 100644 --- a/nixos/modules/system/activation/activation-script.nix +++ b/nixos/modules/system/activation/activation-script.nix @@ -12,8 +12,7 @@ let ''; }); - path = map # outputs TODO? - (pkg: (pkg.bin or (pkg.out or pkg))) + path = map getBin [ pkgs.coreutils pkgs.gnugrep pkgs.findutils pkgs.glibc # needed for getent pkgs.shadow diff --git a/nixos/modules/system/boot/initrd-ssh.nix b/nixos/modules/system/boot/initrd-ssh.nix index 4cdc81541955..a881459bed18 100644 --- a/nixos/modules/system/boot/initrd-ssh.nix +++ b/nixos/modules/system/boot/initrd-ssh.nix @@ -88,7 +88,7 @@ in boot.initrd.extraUtilsCommands = '' copy_bin_and_libs ${pkgs.dropbear}/bin/dropbear - cp -pv ${pkgs.glibc}/lib/libnss_files.so.* $out/lib + cp -pv ${pkgs.glibc.out}/lib/libnss_files.so.* $out/lib ''; boot.initrd.extraUtilsCommandsTest = '' diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index b0bd4ef96953..815852f2ab21 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -58,7 +58,7 @@ let path = (makeBinPath ([ pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.findutils pkgs.diffutils pkgs.btrfs-progs pkgs.utillinux ] ++ (if cfg.efiSupport && (cfg.version == 2) then [pkgs.efibootmgr ] else []) - )) + ":" + (makeSearchPathOutputs "sbin" ["bin"] [ + )) + ":" + (makeSearchPathOutput "bin" "sbin" [ pkgs.mdadm pkgs.utillinux ]); }); diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh index 1f8779abf0c3..9bffcd31b9b4 100644 --- a/nixos/modules/system/boot/stage-1-init.sh +++ b/nixos/modules/system/boot/stage-1-init.sh @@ -439,8 +439,18 @@ eval "exec $logOutFd>&- $logErrFd>&-" # Kill any remaining processes, just to be sure we're not taking any # with us into stage 2. But keep storage daemons like unionfs-fuse. -pkill -9 -v -f '@' - +# +# Storage daemons are distinguished by an @ in front of their command line: +# https://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons/ +local pidsToKill="$(pgrep -v -f '^@')" +for pid in $pidsToKill; do + # Make sure we don't kill kernel processes, see #15226 and: + # http://stackoverflow.com/questions/12213445/identifying-kernel-threads + readlink "/proc/$pid/exe" &> /dev/null || continue + # Try to avoid killing ourselves. + [ $pid -eq $$ ] && continue + kill -9 "$pid" +done if test -n "$debug1mounts"; then fail; fi diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix index c8c9cda913c0..f2a22e4ada8a 100644 --- a/nixos/modules/system/boot/systemd-unit-options.nix +++ b/nixos/modules/system/boot/systemd-unit-options.nix @@ -193,7 +193,7 @@ in rec { path = mkOption { default = []; - apply = ps: "${makeBinPath ps}:${makeSearchPathOutputs "sbin" ["bin"] ps}"; + apply = ps: "${makeBinPath ps}:${makeSearchPathOutput "bin" "sbin" ps}"; description = '' Packages added to the service's <envar>PATH</envar> environment variable. Both the <filename>bin</filename> diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 3f497566ff11..e7f892945315 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -689,6 +689,8 @@ in "systemd/system-generators" = { source = generators; }; }); + services.dbus.enable = true; + system.activationScripts.systemd = stringAfter [ "groups" ] '' mkdir -m 0755 -p /var/lib/udev |