diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-10-09 11:40:35 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2022-11-13 23:58:53 +0000 |
commit | d30f0248583e523eddb716aa931489b11a44e3f6 (patch) | |
tree | 39417941eb3d7c5366a0768c4692c83547a2af2a /release/combined/run-vm.nix | |
parent | 7266451ab6136d75142e6e45e2bc8c6843bbc994 (diff) | |
download | spectrum-d30f0248583e523eddb716aa931489b11a44e3f6.tar spectrum-d30f0248583e523eddb716aa931489b11a44e3f6.tar.gz spectrum-d30f0248583e523eddb716aa931489b11a44e3f6.tar.bz2 spectrum-d30f0248583e523eddb716aa931489b11a44e3f6.tar.lz spectrum-d30f0248583e523eddb716aa931489b11a44e3f6.tar.xz spectrum-d30f0248583e523eddb716aa931489b11a44e3f6.tar.zst spectrum-d30f0248583e523eddb716aa931489b11a44e3f6.zip |
release: rename from "img"
I think this is more descriptive, and "img" is a name better used for VM images. Signed-off-by: Alyssa Ross <hi@alyssa.is> Message-Id: <20221009114036.463071-6-hi@alyssa.is>
Diffstat (limited to 'release/combined/run-vm.nix')
-rw-r--r-- | release/combined/run-vm.nix | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/release/combined/run-vm.nix b/release/combined/run-vm.nix new file mode 100644 index 0000000..047bc3f --- /dev/null +++ b/release/combined/run-vm.nix @@ -0,0 +1,25 @@ +# SPDX-License-Identifier: MIT +# SPDX-FileCopyrightText: 2021 Alyssa Ross <hi@alyssa.is> + +{ config ? import ../../nix/eval-config.nix {} }: with config.pkgs; + +let + image = import ./. { inherit config; }; +in + +writeShellScript "run-spectrum-installer-vm.sh" '' + export PATH=${lib.makeBinPath [ coreutils qemu_kvm ]} + img="$(mktemp spectrum-installer-target.XXXXXXXXXX.img)" + truncate -s 10G "$img" + exec 3<>"$img" + rm -f "$img" + exec qemu-kvm -cpu host -m 4G -machine q35,kernel-irqchip=split -snapshot \ + -display gtk,gl=on \ + -device intel-iommu,intremap=on \ + -device virtio-vga-gl \ + -device qemu-xhci \ + -device usb-storage,drive=drive1,removable=true \ + -drive file=${qemu_kvm}/share/qemu/edk2-${stdenv.hostPlatform.qemuArch}-code.fd,format=raw,if=pflash,readonly=true \ + -drive file=${image},id=drive1,format=raw,if=none,readonly=true \ + -drive file=/proc/self/fd/3,format=raw,if=virtio +'' |