From f94ea04805845d1d98e2a9ff1342c3aad196d3a1 Mon Sep 17 00:00:00 2001 From: aszlig Date: Mon, 26 Sep 2016 01:54:45 +0200 Subject: nixos/activation: Avoid remounting non-existing FS Regression introduced by 79d4636d506094eae3c5c7575a0bef817cba9bda. The mentioned commit moves /run/keys from stage 2 to boot.specialFileSystems, the latter being remounted during system activation. Unfortunately, the specialMount function in the activation script does this unconditionally and thus will fail if it can't be remounted because the mount point simply doesn't exist. We now check the mount point for existance and only remount if it exists but mkdir + mount it if it doesn't. Tested against the "simple" NixOS installer test. Signed-off-by: aszlig --- nixos/modules/system/activation/activation-script.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'nixos/modules/system/activation') diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix index 4c3d30e346c5..fa0ad747454c 100644 --- a/nixos/modules/system/activation/activation-script.nix +++ b/nixos/modules/system/activation/activation-script.nix @@ -167,7 +167,12 @@ in local options="$3" local fsType="$4" - ${pkgs.utillinux}/bin/mount -t "$fsType" -o "remount,$options" "$device" "$mountPoint" + if ${pkgs.utillinux}/bin/mountpoint -q "$mountPoint"; then + local options="remount,$options" + else + mkdir -m 0755 -p "$mountPoint" + fi + ${pkgs.utillinux}/bin/mount -t "$fsType" -o "$options" "$device" "$mountPoint" } source ${config.system.build.earlyMountScript} ''; -- cgit 1.4.1