summary refs log tree commit diff
path: root/host/rootfs/default.nix
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2022-02-14 14:11:38 +0000
committerAlyssa Ross <hi@alyssa.is>2022-02-14 15:01:45 +0000
commitcc82563120bbd2ff263125a2bd61316ba86c4216 (patch)
tree171ce3a71071676631a43717a56afd3f6d391c41 /host/rootfs/default.nix
parent5098f384d31c97d2e47e85dd553e9c85176fb6e8 (diff)
downloadspectrum-cc82563120bbd2ff263125a2bd61316ba86c4216.tar
spectrum-cc82563120bbd2ff263125a2bd61316ba86c4216.tar.gz
spectrum-cc82563120bbd2ff263125a2bd61316ba86c4216.tar.bz2
spectrum-cc82563120bbd2ff263125a2bd61316ba86c4216.tar.lz
spectrum-cc82563120bbd2ff263125a2bd61316ba86c4216.tar.xz
spectrum-cc82563120bbd2ff263125a2bd61316ba86c4216.tar.zst
spectrum-cc82563120bbd2ff263125a2bd61316ba86c4216.zip
host/rootfs: upload core files over VSOCK to host
This is very useful when debugging a crashing program, because the
core file can be loaded into gdb on the host system, which will
hopefully already be set up with the source code of the program,
debugging symbols, etc.

The core dump handler is installed unconditionally such that it'll be
present even if Spectrum isn't running in a VM, or doesn't have a
virtio-vsock device, because there's not much that could usefully be
done with a core file in those situations anyway at the moment.
Eventually we'd probably want to e.g. load it into a VM by default,
when Spectrum is more self-hosting.
Diffstat (limited to 'host/rootfs/default.nix')
-rw-r--r--host/rootfs/default.nix4
1 files changed, 2 insertions, 2 deletions
diff --git a/host/rootfs/default.nix b/host/rootfs/default.nix
index e5abfe2..2bf4fde 100644
--- a/host/rootfs/default.nix
+++ b/host/rootfs/default.nix
@@ -5,7 +5,7 @@
 
 { lib, stdenv, runCommand, writeReferencesToFile, s6-rc, tar2ext4
 , busybox, cloud-hypervisor, curl, execline, jq, mdevd, mktuntap, s6
-, s6-linux-utils, s6-portable-utils, screen, util-linuxMinimal, xorg
+, s6-linux-utils, s6-portable-utils, screen, socat, util-linuxMinimal, xorg
 }:
 
 let
@@ -22,7 +22,7 @@ let
   packages = [
     cloud-hypervisor curl execline jq mdevd mktuntap s6 s6-linux-utils
     s6-portable-utils s6-rc screen start-vm
-    pkgs.pkgsMusl.cryptsetup
+    pkgs.pkgsMusl.cryptsetup socat
     (busybox.override {
       extraConfig = ''
         CONFIG_FINDFS n