Mount /dev when creating a VM image from RPMs
Currently, using `runInLinuxVM` fails for CentosOS7 versions >=7.4. The error manifests itself by the VM powering down after failing to initialize the NSS library. The reason for this is that some devices in /dev are required during the built process of the VM. To fix this issue, we mount /dev before calling chroot.
This commit is contained in:
@@ -449,6 +449,8 @@ rec {
|
||||
# Make the Nix store available in /mnt, because that's where the RPMs live.
|
||||
mkdir -p /mnt${storeDir}
|
||||
${util-linux}/bin/mount -o bind ${storeDir} /mnt${storeDir}
|
||||
# Some programs may require devices in /dev to be available (e.g. /dev/random)
|
||||
${util-linux}/bin/mount -o bind /dev /mnt/dev
|
||||
|
||||
# Newer distributions like Fedora 18 require /lib etc. to be
|
||||
# symlinked to /usr.
|
||||
@@ -487,7 +489,7 @@ rec {
|
||||
|
||||
rm /mnt/.debug
|
||||
|
||||
${util-linux}/bin/umount /mnt${storeDir} /mnt/tmp ${lib.optionalString unifiedSystemDir "/mnt/proc"}
|
||||
${util-linux}/bin/umount /mnt${storeDir} /mnt/tmp /mnt/dev ${lib.optionalString unifiedSystemDir "/mnt/proc"}
|
||||
${util-linux}/bin/umount /mnt
|
||||
'';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user