Loading pkgs/build-support/vm/default.nix +10 −6 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ , img ? pkgs.stdenv.hostPlatform.linux-kernel.target , storeDir ? builtins.storeDir , rootModules ? [ "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "9p" "9pnet_virtio" "crc32c_generic" ] [ "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "virtiofs" "crc32c_generic" ] }: let Loading Loading @@ -123,7 +123,7 @@ rec { echo "mounting Nix store..." mkdir -p /fs${storeDir} mount -t 9p store /fs${storeDir} -o trans=virtio,version=9p2000.L,cache=loose,msize=131072 mount -t virtiofs store /fs${storeDir} mkdir -p /fs/tmp /fs/run /fs/var mount -t tmpfs -o "mode=1777" none /fs/tmp Loading @@ -132,7 +132,7 @@ rec { echo "mounting host's temporary directory..." mkdir -p /fs/tmp/xchg mount -t 9p xchg /fs/tmp/xchg -o trans=virtio,version=9p2000.L,msize=131072 mount -t virtiofs xchg /fs/tmp/xchg mkdir -p /fs/proc mount -t proc none /fs/proc Loading Loading @@ -222,8 +222,10 @@ rec { ${if (customQemu != null) then customQemu else (qemu-common.qemuBinary qemu)} \ -nographic -no-reboot \ -device virtio-rng-pci \ -virtfs local,path=${storeDir},security_model=none,mount_tag=store \ -virtfs local,path=xchg,security_model=none,mount_tag=xchg \ -chardev socket,id=store,path=virtio-store.sock \ -device vhost-user-fs-pci,chardev=store,tag=store \ -chardev socket,id=xchg,path=virtio-xchg.sock \ -device vhost-user-fs-pci,chardev=xchg,tag=xchg \ ''${diskImage:+-drive file=$diskImage,if=virtio,cache=unsafe,werror=report} \ -kernel ${kernel}/${img} \ -initrd ${initrd}/initrd \ Loading Loading @@ -259,6 +261,8 @@ rec { cat > ./run-vm <<EOF #! ${bash}/bin/sh ''${diskImage:+diskImage=$diskImage} ${pkgs.virtiofsd}/bin/virtiofsd --xattr --socket-path virtio-store.sock --sandbox none --shared-dir "${storeDir}" & ${pkgs.virtiofsd}/bin/virtiofsd --xattr --socket-path virtio-xchg.sock --sandbox none --shared-dir xchg & ${qemuCommand} EOF Loading Loading @@ -339,7 +343,7 @@ rec { args = ["-e" (vmRunCommand qemuCommandLinux)]; origArgs = args; origBuilder = builder; QEMU_OPTS = "${QEMU_OPTS} -m ${toString memSize}"; QEMU_OPTS = "${QEMU_OPTS} -m ${toString memSize} -object memory-backend-memfd,id=mem,size=${toString memSize}M,share=on -machine memory-backend=mem"; passAsFile = []; # HACK fix - see https://github.com/NixOS/nixpkgs/issues/16742 }); Loading Loading
pkgs/build-support/vm/default.nix +10 −6 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ , img ? pkgs.stdenv.hostPlatform.linux-kernel.target , storeDir ? builtins.storeDir , rootModules ? [ "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "9p" "9pnet_virtio" "crc32c_generic" ] [ "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "virtiofs" "crc32c_generic" ] }: let Loading Loading @@ -123,7 +123,7 @@ rec { echo "mounting Nix store..." mkdir -p /fs${storeDir} mount -t 9p store /fs${storeDir} -o trans=virtio,version=9p2000.L,cache=loose,msize=131072 mount -t virtiofs store /fs${storeDir} mkdir -p /fs/tmp /fs/run /fs/var mount -t tmpfs -o "mode=1777" none /fs/tmp Loading @@ -132,7 +132,7 @@ rec { echo "mounting host's temporary directory..." mkdir -p /fs/tmp/xchg mount -t 9p xchg /fs/tmp/xchg -o trans=virtio,version=9p2000.L,msize=131072 mount -t virtiofs xchg /fs/tmp/xchg mkdir -p /fs/proc mount -t proc none /fs/proc Loading Loading @@ -222,8 +222,10 @@ rec { ${if (customQemu != null) then customQemu else (qemu-common.qemuBinary qemu)} \ -nographic -no-reboot \ -device virtio-rng-pci \ -virtfs local,path=${storeDir},security_model=none,mount_tag=store \ -virtfs local,path=xchg,security_model=none,mount_tag=xchg \ -chardev socket,id=store,path=virtio-store.sock \ -device vhost-user-fs-pci,chardev=store,tag=store \ -chardev socket,id=xchg,path=virtio-xchg.sock \ -device vhost-user-fs-pci,chardev=xchg,tag=xchg \ ''${diskImage:+-drive file=$diskImage,if=virtio,cache=unsafe,werror=report} \ -kernel ${kernel}/${img} \ -initrd ${initrd}/initrd \ Loading Loading @@ -259,6 +261,8 @@ rec { cat > ./run-vm <<EOF #! ${bash}/bin/sh ''${diskImage:+diskImage=$diskImage} ${pkgs.virtiofsd}/bin/virtiofsd --xattr --socket-path virtio-store.sock --sandbox none --shared-dir "${storeDir}" & ${pkgs.virtiofsd}/bin/virtiofsd --xattr --socket-path virtio-xchg.sock --sandbox none --shared-dir xchg & ${qemuCommand} EOF Loading Loading @@ -339,7 +343,7 @@ rec { args = ["-e" (vmRunCommand qemuCommandLinux)]; origArgs = args; origBuilder = builder; QEMU_OPTS = "${QEMU_OPTS} -m ${toString memSize}"; QEMU_OPTS = "${QEMU_OPTS} -m ${toString memSize} -object memory-backend-memfd,id=mem,size=${toString memSize}M,share=on -machine memory-backend=mem"; passAsFile = []; # HACK fix - see https://github.com/NixOS/nixpkgs/issues/16742 }); Loading