summary refs log tree commit diff
diff options
context:
space:
mode:
authorts468 <ts468@users.noreply.github.com>2015-08-01 16:59:40 +0200
committerts468 <ts468@users.noreply.github.com>2015-08-01 16:59:40 +0200
commit2b284a3d1d62a8e0579c131f1420f27797483b54 (patch)
treeb9aaf4c01686fd2dccea21e757f1bc76ee0e4924
parent95ac0f24c6d96326a2352f85f02ac85f001520ea (diff)
parent2ff91293374111a7a07345b912b5b4316d562a44 (diff)
downloadnixlib-2b284a3d1d62a8e0579c131f1420f27797483b54.tar
nixlib-2b284a3d1d62a8e0579c131f1420f27797483b54.tar.gz
nixlib-2b284a3d1d62a8e0579c131f1420f27797483b54.tar.bz2
nixlib-2b284a3d1d62a8e0579c131f1420f27797483b54.tar.lz
nixlib-2b284a3d1d62a8e0579c131f1420f27797483b54.tar.xz
nixlib-2b284a3d1d62a8e0579c131f1420f27797483b54.tar.zst
nixlib-2b284a3d1d62a8e0579c131f1420f27797483b54.zip
Merge pull request #8833 from ts468/upstream.xen
xen: fixes (authored by michalpalka)
-rw-r--r--nixos/modules/virtualisation/xen-dom0.nix10
-rw-r--r--pkgs/applications/virtualization/xen/generic.nix3
2 files changed, 12 insertions, 1 deletions
diff --git a/nixos/modules/virtualisation/xen-dom0.nix b/nixos/modules/virtualisation/xen-dom0.nix
index c750286a3970..a0b2d5363eb2 100644
--- a/nixos/modules/virtualisation/xen-dom0.nix
+++ b/nixos/modules/virtualisation/xen-dom0.nix
@@ -121,6 +121,10 @@ in
         "xenfs"
       ];
 
+    # The xenfs module is needed in system.activationScripts.xen, but
+    # the modprobe command there fails silently. Include xenfs in the
+    # initrd as a work around.
+    boot.initrd.kernelModules = [ "xenfs" ];
 
     # The radeonfb kernel module causes the screen to go black as soon
     # as it's loaded, so don't load it.
@@ -182,6 +186,9 @@ in
         { source = "${pkgs.xen}/etc/xen/scripts";
           target = "xen/scripts";
         }
+        { source = "${pkgs.xen}/etc/default/xendomains";
+          target = "default/xendomains";
+        }
       ];
 
     # Xen provides udev rules.
@@ -199,7 +206,8 @@ in
         rm -f "$XENSTORED_ROOTDIR"/tdb* &>/dev/null
 
         mkdir -p /var/run
-        ${optionalString cfg.trace "mkdir -p /var/log/xen"}
+        mkdir -p /var/log/xen # Running xl requires /var/log/xen and /var/lib/xen,
+        mkdir -p /var/lib/xen # so we create them here unconditionally.
         grep -q control_d /proc/xen/capabilities
         '';
       serviceConfig.ExecStart = ''
diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix
index 2c92a9834740..32e385635250 100644
--- a/pkgs/applications/virtualization/xen/generic.nix
+++ b/pkgs/applications/virtualization/xen/generic.nix
@@ -147,6 +147,9 @@ stdenv.mkDerivation {
         --replace /etc/xen/scripts/hotplugpath.sh $out/etc/xen/scripts/hotplugpath.sh \
         --replace /bin/ls ls
 
+      substituteInPlace tools/hotplug/Linux/xendomains \
+        --replace /bin/ls ls
+
       # Xen's tools and firmares need various git repositories that it
       # usually checks out at time using git.  We can't have that.
       ${flip concatMapStrings xenConfig.toolsGits (x: let src = fetchgit x.git; in ''