diff --git a/node-installer/node-installer.go b/node-installer/node-installer.go index 31ec888125..8c2e0c0943 100644 --- a/node-installer/node-installer.go +++ b/node-installer/node-installer.go @@ -70,7 +70,7 @@ func run(ctx context.Context, fetcher assetFetcher, platform platforms.Platform, if err := os.MkdirAll(binDir, os.ModePerm); err != nil { return fmt.Errorf("creating runtime bin directory: %w", err) } - if err := os.MkdirAll(filepath.Join(hostMount, runtimeBase, "share"), os.ModePerm); err != nil { + if err := os.MkdirAll(filepath.Join(hostMount, runtimeBase, "share/qemu"), os.ModePerm); err != nil { return fmt.Errorf("creating runtime share directory: %w", err) } if err := os.MkdirAll(filepath.Join(hostMount, runtimeBase, "etc"), os.ModePerm); err != nil { diff --git a/packages/by-name/kata/contrast-node-installer-image/package.nix b/packages/by-name/kata/contrast-node-installer-image/package.nix index 9cdeea5919..7af9ccdf50 100644 --- a/packages/by-name/kata/contrast-node-installer-image/package.nix +++ b/packages/by-name/kata/contrast-node-installer-image/package.nix @@ -62,6 +62,18 @@ let url = "file:///opt/edgeless/bin/kata-runtime"; path = "/opt/edgeless/${runtime-handler}/bin/kata-runtime"; } + { + url = "file:///opt/edgeless/share/qemu/kvmvapic.bin"; + path = "/opt/edgeless/${runtime-handler}/share/qemu/kvmvapic.bin"; + } + { + url = "file:///opt/edgeless/share/qemu/linuxboot_dma.bin"; + path = "/opt/edgeless/${runtime-handler}/share/qemu/linuxboot_dma.bin"; + } + { + url = "file:///opt/edgeless/share/qemu/efi-virtio.rom"; + path = "/opt/edgeless/${runtime-handler}/share/qemu/efi-virtio.rom"; + } ]; runtimeHandlerName = runtime-handler; inherit (kata.runtime-class-files) debugRuntime; @@ -99,6 +111,18 @@ let source = kata.runtime-class-files.qemu-bin; destination = "/opt/edgeless/bin/qemu-system-x86_64"; } + { + source = "${kata.runtime-class-files.qemu-share}/kvmvapic.bin"; + destination = "/opt/edgeless/share/qemu/kvmvapic.bin"; + } + { + source = "${kata.runtime-class-files.qemu-share}/linuxboot_dma.bin"; + destination = "/opt/edgeless/share/qemu/linuxboot_dma.bin"; + } + { + source = "${kata.runtime-class-files.qemu-share}/efi-virtio.rom"; + destination = "/opt/edgeless/share/qemu/efi-virtio.rom"; + } ]; }; diff --git a/packages/by-name/kata/runtime-class-files/package.nix b/packages/by-name/kata/runtime-class-files/package.nix index 4c49c1a44a..bb38683be1 100644 --- a/packages/by-name/kata/runtime-class-files/package.nix +++ b/packages/by-name/kata/runtime-class-files/package.nix @@ -14,6 +14,7 @@ let kernel = "${kata.kata-kernel-uvm}/bzImage"; qemu-bin = "${qemu-static}/bin/qemu-system-x86_64"; + qemu-share = "${qemu-static}/share/qemu"; ovmf = "${sev-ovmf}/FV/OVMF.fd"; @@ -40,6 +41,7 @@ stdenvNoCC.mkDerivation { kernel image qemu-bin + qemu-share containerd-shim-contrast-cc-v2 ovmf kata-runtime