Oh wait, it does do a preflight check, but it's cursed
what happens is it checks for xenstored, and xenstored doesn't launch unless it's on Xen
so it checks if xen is installed by whether xenstored is running at the right socket / bus paths
what we should do is actually preflight check xen by attempting to use the XEN_VERSION hypercalls, then check if xenstore is there, so we can tell the user the right error
Quoting internal slack:
@azenla: