diff options
author | Jasper Ras <jras@hostnet.nl> | 2025-01-19 21:14:51 +0100 |
---|---|---|
committer | Jasper Ras <jras@hostnet.nl> | 2025-01-19 21:14:51 +0100 |
commit | 9642cd7ae24f0ba79ce5647c709b35ae8f06a285 (patch) | |
tree | ae25c3b0db7ae4c23186b294c6d000073f085c2d /3 Resources/Nix/Nix build vm.md | |
parent | 969b96c2531fb986f6c7f21fd544391b439defd7 (diff) |
vault backup: 2025-01-19 21:14:51
Diffstat (limited to '3 Resources/Nix/Nix build vm.md')
-rw-r--r-- | 3 Resources/Nix/Nix build vm.md | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/3 Resources/Nix/Nix build vm.md b/3 Resources/Nix/Nix build vm.md new file mode 100644 index 0000000..24849a2 --- /dev/null +++ b/3 Resources/Nix/Nix build vm.md @@ -0,0 +1,32 @@ +--- +tags: + - nix + - qemu +--- +`nixos-buildvm` dumps a shell script that: + +Creates an empty filesystem image (qcow2) using qemu-img + +A qemu KVM VM is started +``` +exec /nix/store/5v70rrpzv3jwcg7ixa5k9zk0j0lai3nd-qemu-host-cpu-only-9.1.2/bin/qemu-kvm -cpu max \ + -name tarrel \ + -m 1024 \ + -smp 1 \ + -device virtio-rng-pci \ + -net nic,netdev=user.0,model=virtio -netdev user,id=user.0,"$QEMU_NET_OPTS" \ + -virtfs local,path=/nix/store,security_model=none,mount_tag=nix-store \ + -virtfs local,path="${SHARED_DIR:-$TMPDIR/xchg}",security_model=none,mount_tag=shared \ + -virtfs local,path="$TMPDIR"/xchg,security_model=none,mount_tag=xchg \ + -drive cache=writeback,file="$NIX_DISK_IMAGE",id=drive1,if=none,index=1,werror=report -device virtio-blk-pci,bootindex=1,drive=drive1,serial=root \ + -device virtio-keyboard \ + -usb \ + -device usb-tablet,bus=usb-bus.0 \ + -kernel ${NIXPKGS_QEMU_KERNEL_tarrel:-/nix/store/47zad70cn0qi0pkvv21b43qwiis50lis-nixos-system-tarrel-24.11pre-git/kernel} \ + -initrd /nix/store/aqbxrnk7jg7piy7g85npm9xysmrvlihw-initrd-linux-6.6.71/initrd \ + -append "$(cat /nix/store/47zad70cn0qi0pkvv21b43qwiis50lis-nixos-system-tarrel-24.11pre-git/kernel-params) init=/nix/store/47zad70cn0qi0pkvv21b43qwiis50lis-nixos-system-tarrel-24.11pre-git/init regInfo=/nix/store/fii757n9q5f603hmqfdni49lskni93cb-closure-info/registration console=ttyS0,115200n8 console=tty0 $QEMU_KERNEL_PARAMS" \ + $QEMU_OPTS \ + "$@" +``` + +It shared 3 dirs from the host with the guest most notably the nix store. The disk image is used as a [[Wri]]
\ No newline at end of file |