Merge pull request #8833 from ts468/upstream.xen

xen: fixes (authored by michalpalka)

ts468 2b284a3d 95ac0f24

Changed files
+12 -1
nixos
modules
virtualisation
pkgs
applications
virtualization
+9 -1
nixos/modules/virtualisation/xen-dom0.nix
···
"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.
···
{ source = "${pkgs.xen}/etc/xen/scripts";
target = "xen/scripts";
}
+
{ source = "${pkgs.xen}/etc/default/xendomains";
+
target = "default/xendomains";
+
}
];
# Xen provides udev rules.
···
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 = ''
+3
pkgs/applications/virtualization/xen/generic.nix
···
--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 ''