From 01d078d9702aa032fece5d21ae1670dae538843f Mon Sep 17 00:00:00 2001 From: Linus Heckemann Date: Tue, 10 Jan 2023 14:15:05 +0100 Subject: [PATCH] vmTools.runInLinuxImage: allow setting root filesystem --- pkgs/build-support/vm/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 4ec5531192dc..0bca8e4d30b8 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -72,8 +72,8 @@ rec { for o in $(cat /proc/cmdline); do case $o in - mountDisk=1) - mountDisk=1 + mountDisk=*) + mountDisk=''${mountDisk#mountDisk=} ;; command=*) set -- $(IFS==; echo $o) @@ -103,6 +103,8 @@ rec { if test -z "$mountDisk"; then mount -t tmpfs none /fs + elif [[ -e "$mountDisk" ]]; then + mount "$mountDisk" /fs else mount /dev/${hd} /fs fi @@ -388,7 +390,7 @@ rec { filesystem containing a non-NixOS Linux distribution. */ runInLinuxImage = drv: runInLinuxVM (lib.overrideDerivation drv (attrs: { - mountDisk = true; + mountDisk = attrs.mountDisk or true; /* Mount `image' as the root FS, but use a temporary copy-on-write image since we don't want to (and can't) write to `image'. */