Make /dev/kvm optional

The daemon now creates /dev deterministically (thanks!).  However, it
expects /dev/kvm to be present.

The patch below restricts that requirement (1) to Linux-based systems,
and (2) to systems where /dev/kvm already exists.

I’m not sure about the way to handle (2).  We could special-case
/dev/kvm and create it (instead of bind-mounting it) in the chroot, so
it’s always available; however, it wouldn’t help much since most likely,
if /dev/kvm missing, then KVM support is missing.
This commit is contained in:
Ludovic Courtès 2014-03-21 13:54:53 +01:00 committed by Eelco Dolstra
parent 3fc056927c
commit 24cb65efc3

View file

@ -2020,7 +2020,10 @@ void DerivationGoal::initChild()
createDirs(chrootRootDir + "/dev/pts"); createDirs(chrootRootDir + "/dev/pts");
Strings ss; Strings ss;
ss.push_back("/dev/full"); ss.push_back("/dev/full");
#ifdef __linux__
if (pathExists("/dev/kvm"))
ss.push_back("/dev/kvm"); ss.push_back("/dev/kvm");
#endif
ss.push_back("/dev/null"); ss.push_back("/dev/null");
ss.push_back("/dev/random"); ss.push_back("/dev/random");
ss.push_back("/dev/tty"); ss.push_back("/dev/tty");