From 331e02499a5f31eafd2c713551862da6a11ad90e Mon Sep 17 00:00:00 2001 From: danbugs Date: Tue, 12 May 2026 22:18:05 +0000 Subject: [PATCH 1/5] cpiovfs snapshot support: initrd re-map on restore Signed-off-by: danbugs --- examples/python-agent-driver/kraft.yaml | 11 ++++--- host/examples/test_cpiovfs.rs | 41 +++++++++++++++++++++++++ host/src/bin/pyhl.rs | 6 +++- host/src/lib.rs | 33 +++++++++++++++++--- host/src/pyhl.rs | 5 ++- 5 files changed, 86 insertions(+), 10 deletions(-) create mode 100644 host/examples/test_cpiovfs.rs diff --git a/examples/python-agent-driver/kraft.yaml b/examples/python-agent-driver/kraft.yaml index a0181e7..4e4cc2e 100644 --- a/examples/python-agent-driver/kraft.yaml +++ b/examples/python-agent-driver/kraft.yaml @@ -11,17 +11,20 @@ unikraft: CONFIG_LIBUKINTCTLR_HYPERLIGHT: 'y' CONFIG_HYPERLIGHT_MAX_GUEST_LOG_LEVEL: 4 - CONFIG_LIBUKPRINT_KLVL_CRIT: 'y' + CONFIG_LIBUKPRINT_KLVL_INFO: 'y' CONFIG_LIBUKPRINT_PRINT_TIME: 'n' - CONFIG_LIBUKPRINT_PRINT_SRCNAME: 'n' + CONFIG_LIBUKPRINT_PRINT_SRCNAME: 'y' CONFIG_LIBUKBOOT_BANNER_NONE: 'y' CONFIG_OPTIMIZE_SIZE: 'y' CONFIG_OPTIMIZE_PIE: 'y' CONFIG_LIBVFSCORE: 'y' CONFIG_LIBVFSCORE_AUTOMOUNT_CI: 'y' - CONFIG_LIBVFSCORE_AUTOMOUNT_CI_INITRD: 'y' - CONFIG_LIBRAMFS: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI_CUSTOM: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_MP: '/' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_DRIVER: 'cpiovfs' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_UKOPTS_IFINITRD0: 'y' + CONFIG_LIBCPIOVFS: 'y' CONFIG_LIBUKCPIO: 'y' CONFIG_LIBDEVFS: 'y' diff --git a/host/examples/test_cpiovfs.rs b/host/examples/test_cpiovfs.rs new file mode 100644 index 0000000..3d93cdd --- /dev/null +++ b/host/examples/test_cpiovfs.rs @@ -0,0 +1,41 @@ +use hyperlight_unikraft::Sandbox; + +fn main() -> anyhow::Result<()> { + let kernel = std::env::args() + .nth(1) + .expect("usage: test_cpiovfs "); + let initrd = std::env::args() + .nth(2) + .expect("usage: test_cpiovfs "); + + eprintln!("=== Test: build + init + snapshot + restore + call ==="); + { + let mut sbox = Sandbox::builder(&kernel) + .initrd_file(&initrd) + .heap_size(3 * 512 * 1024 * 1024) + .build()?; + eprintln!(" build OK"); + sbox.restore()?; + let _: () = sbox.call_named("init", ())?; + eprintln!(" init OK"); + sbox.snapshot_now()?; + eprintln!(" snapshot OK"); + + let snap_path = "/tmp/cpiovfs_snapshot.hls"; + sbox.save_snapshot(snap_path)?; + let snap_size = std::fs::metadata(snap_path)?.len(); + eprintln!( + " snapshot size: {} MiB ({} bytes)", + snap_size / 1024 / 1024, + snap_size + ); + + sbox.restore()?; + eprintln!(" restore OK"); + let _: () = sbox.call_named("run", "print('test ok')".to_string())?; + eprintln!(" call OK"); + } + + eprintln!("=== All tests passed ==="); + Ok(()) +} diff --git a/host/src/bin/pyhl.rs b/host/src/bin/pyhl.rs index 6df59d0..2014df8 100644 --- a/host/src/bin/pyhl.rs +++ b/host/src/bin/pyhl.rs @@ -464,8 +464,12 @@ fn cmd_run(args: RunArgs) -> Result<()> { .map(|m| parse_mount(m)) .collect::>()?; + let initrd = home.join(INITRD_FILE); + let t_load = Instant::now(); - let mut sandbox = if run_preopens.is_empty() { + let mut sandbox = if initrd.is_file() { + Sandbox::from_snapshot_file_with_initrd(&snapshot, &run_preopens, &initrd)? + } else if run_preopens.is_empty() { Sandbox::from_snapshot_file(&snapshot)? } else { Sandbox::from_snapshot_file_with(&snapshot, &run_preopens)? diff --git a/host/src/lib.rs b/host/src/lib.rs index 0759ada..b3bdf1b 100644 --- a/host/src/lib.rs +++ b/host/src/lib.rs @@ -1424,7 +1424,7 @@ impl Sandbox { /// a 2.5 GB snapshot — enough to double the whole `pyhl run` wall /// time on simple scripts. pub fn from_snapshot_file>(path: P) -> Result { - Self::from_snapshot_file_with(path, &[]) + Self::from_snapshot_file_full(path, &[], None) } /// Load a previously-persisted snapshot and register a @@ -1439,6 +1439,26 @@ impl Sandbox { /// fixed at setup time because it lives in the snapshot's memory /// image. pub fn from_snapshot_file_with>(path: P, preopens: &[Preopen]) -> Result { + Self::from_snapshot_file_full(path, preopens, None) + } + + /// Load a snapshot with an initrd file re-mapped at the standard + /// guest VA (0xC000_0000). Required when the snapshot was taken + /// from a cpiovfs-backed guest whose VFS nodes point into the + /// initrd region. + pub fn from_snapshot_file_with_initrd, I: AsRef>( + path: P, + preopens: &[Preopen], + initrd: I, + ) -> Result { + Self::from_snapshot_file_full(path, preopens, Some(initrd.as_ref().to_path_buf())) + } + + fn from_snapshot_file_full>( + path: P, + preopens: &[Preopen], + initrd: Option, + ) -> Result { let loaded = Snapshot::from_file_unchecked(path.as_ref())?; let arc = Arc::new(loaded); @@ -1453,13 +1473,18 @@ impl Sandbox { tools_ref.dispatch(&payload) })?; - let inner = MultiUseSandbox::from_snapshot(arc.clone(), host_funcs, None)?; + let mut inner = MultiUseSandbox::from_snapshot(arc.clone(), host_funcs, None)?; + + const INITRD_MAP_BASE: u64 = 0xC000_0000; + if let Some(ref initrd_path) = initrd { + inner.map_file_cow(initrd_path, INITRD_MAP_BASE, Some("initrd"))?; + } Ok(Self { inner, snapshot: Some(arc), - file_mapping_path: None, - file_mapping_base: 0, + file_mapping_path: initrd, + file_mapping_base: INITRD_MAP_BASE, exit_code, }) } diff --git a/host/src/pyhl.rs b/host/src/pyhl.rs index df52d88..0d7d18b 100644 --- a/host/src/pyhl.rs +++ b/host/src/pyhl.rs @@ -223,7 +223,10 @@ impl Runtime { snap.display() ); } - let sandbox = if mounts.is_empty() { + let initrd = home.join(INITRD_FILE); + let sandbox = if initrd.is_file() { + Sandbox::from_snapshot_file_with_initrd(&snap, mounts, &initrd)? + } else if mounts.is_empty() { Sandbox::from_snapshot_file(&snap)? } else { Sandbox::from_snapshot_file_with(&snap, mounts)? From c914455e5a94faadf37315707fffcf46f6f818e9 Mon Sep 17 00:00:00 2001 From: danbugs Date: Tue, 12 May 2026 22:22:42 +0000 Subject: [PATCH 2/5] fix(kraft.yaml): point unikraft to danbugs/unikraft cpiovfs-fix and app-elfloader to danbugs fork Signed-off-by: danbugs --- examples/python-agent-driver/kraft.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/python-agent-driver/kraft.yaml b/examples/python-agent-driver/kraft.yaml index 4e4cc2e..f003ab7 100644 --- a/examples/python-agent-driver/kraft.yaml +++ b/examples/python-agent-driver/kraft.yaml @@ -2,8 +2,8 @@ specification: '0.6' name: python-agent-driver-hyperlight unikraft: - source: https://github.com/unikraft/unikraft.git - version: plat-hyperlight + source: https://github.com/danbugs/unikraft.git + version: cpiovfs-fix kconfig: CONFIG_PLAT_HYPERLIGHT: 'y' CONFIG_PAGING: 'n' @@ -74,7 +74,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/unikraft/app-elfloader.git + source: https://github.com/danbugs/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git From 9920c5a36f3d7d5e5ae638ee8014ebbef45c105b Mon Sep 17 00:00:00 2001 From: danbugs Date: Wed, 13 May 2026 00:04:10 +0000 Subject: [PATCH 3/5] switch all examples from ramfs to cpiovfs Point unikraft source to danbugs/unikraft cpiovfs-fix branch which includes the vnop_write_t signature fix and IST re-entry prevention. Update CI fallback clone logic to parse source URLs from kraft.yaml instead of hardcoding unikraft/ org. Signed-off-by: danbugs --- .github/workflows/benchmarks.yml | 9 ++++++--- .github/workflows/publish-examples.yml | 9 ++++++--- .github/workflows/test-examples.yml | 27 +++++++++++++++++--------- examples/dotnet-nativeaot/kraft.yaml | 13 ++++++++----- examples/go/kraft.yaml | 13 ++++++++----- examples/helloworld-c/kraft.yaml | 13 ++++++++----- examples/hostfs-posix-c/kraft.yaml | 13 ++++++++----- examples/hostfs-posix-py/kraft.yaml | 13 ++++++++----- examples/multifn-c/kraft.yaml | 13 ++++++++----- examples/powershell/kraft.yaml | 6 +++--- examples/python-agent/kraft.yaml | 13 ++++++++----- examples/python-tools/kraft.yaml | 13 ++++++++----- examples/python/kraft.yaml | 13 ++++++++----- examples/rust/kraft.yaml | 13 ++++++++----- examples/shell/kraft.yaml | 16 ++++++++------- 15 files changed, 122 insertions(+), 75 deletions(-) diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index 8445297..982c515 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -81,11 +81,14 @@ jobs: kraft-hyperlight --no-prompt build --plat hyperlight --arch x86_64 || true if [ ! -d ".unikraft/unikraft" ] || [ -z "$(ls -A .unikraft/unikraft 2>/dev/null)" ]; then echo "::warning::kraft didn't clone unikraft sources; cloning manually" - UK_BRANCH=$(grep -E '^ version:' kraft.yaml | head -1 | awk '{print $2}') + UK_SOURCE=$(awk '/^unikraft:/{f=1} f && /source:/{print $2; exit}' kraft.yaml) + UK_BRANCH=$(awk '/^unikraft:/{f=1} f && /version:/{print $2; exit}' kraft.yaml) + ELF_SOURCE=$(awk '/app-elfloader:/{f=1} f && /source:/{print $2; exit}' kraft.yaml) + ELF_BRANCH=$(awk '/app-elfloader:/{f=1} f && /version:/{print $2; exit}' kraft.yaml) mkdir -p .unikraft/apps .unikraft/libs rm -rf .unikraft/unikraft .unikraft/apps/elfloader .unikraft/libs/libelf .unikraft/build - git clone --branch $UK_BRANCH --depth 1 https://github.com/unikraft/unikraft.git .unikraft/unikraft - git clone --branch $UK_BRANCH --depth 1 https://github.com/unikraft/app-elfloader.git .unikraft/apps/elfloader + git clone --branch "$UK_BRANCH" --depth 1 "$UK_SOURCE" .unikraft/unikraft + git clone --branch "$ELF_BRANCH" --depth 1 "$ELF_SOURCE" .unikraft/apps/elfloader git clone --branch staging --depth 1 https://github.com/unikraft/lib-libelf.git .unikraft/libs/libelf kraft-hyperlight --no-prompt build --plat hyperlight --arch x86_64 fi diff --git a/.github/workflows/publish-examples.yml b/.github/workflows/publish-examples.yml index ca5091d..183652b 100644 --- a/.github/workflows/publish-examples.yml +++ b/.github/workflows/publish-examples.yml @@ -121,11 +121,14 @@ jobs: kraft-hyperlight --no-prompt build --plat hyperlight --arch x86_64 || true # Fallback: manual source clone + build if [ ! -f ".unikraft/build/${{ matrix.example.kernel }}" ]; then - UK_BRANCH=$(grep 'version:' kraft.yaml | head -1 | awk '{print $2}') + UK_SOURCE=$(awk '/^unikraft:/{f=1} f && /source:/{print $2; exit}' kraft.yaml) + UK_BRANCH=$(awk '/^unikraft:/{f=1} f && /version:/{print $2; exit}' kraft.yaml) + ELF_SOURCE=$(awk '/app-elfloader:/{f=1} f && /source:/{print $2; exit}' kraft.yaml) + ELF_BRANCH=$(awk '/app-elfloader:/{f=1} f && /version:/{print $2; exit}' kraft.yaml) mkdir -p .unikraft/apps .unikraft/libs rm -rf .unikraft/unikraft .unikraft/apps/elfloader - git clone --branch $UK_BRANCH --depth 1 https://github.com/unikraft/unikraft.git .unikraft/unikraft - git clone --branch $UK_BRANCH --depth 1 https://github.com/unikraft/app-elfloader.git .unikraft/apps/elfloader + git clone --branch "$UK_BRANCH" --depth 1 "$UK_SOURCE" .unikraft/unikraft + git clone --branch "$ELF_BRANCH" --depth 1 "$ELF_SOURCE" .unikraft/apps/elfloader git clone --branch staging --depth 1 https://github.com/unikraft/lib-libelf.git .unikraft/libs/libelf rm -rf .unikraft/build kraft-hyperlight --no-prompt build --plat hyperlight --arch x86_64 diff --git a/.github/workflows/test-examples.yml b/.github/workflows/test-examples.yml index 6be68af..0066959 100644 --- a/.github/workflows/test-examples.yml +++ b/.github/workflows/test-examples.yml @@ -118,11 +118,14 @@ jobs: # Manually clone the components and rebuild with --no-fetch/--no-update. if [ ! -d ".unikraft/unikraft" ] || [ -z "$(ls -A .unikraft/unikraft 2>/dev/null)" ]; then echo "::warning::kraft didn't clone unikraft sources; cloning manually" - UK_BRANCH=$(grep -E '^ version:' kraft.yaml | head -1 | awk '{print $2}') + UK_SOURCE=$(awk '/^unikraft:/{f=1} f && /source:/{print $2; exit}' kraft.yaml) + UK_BRANCH=$(awk '/^unikraft:/{f=1} f && /version:/{print $2; exit}' kraft.yaml) + ELF_SOURCE=$(awk '/app-elfloader:/{f=1} f && /source:/{print $2; exit}' kraft.yaml) + ELF_BRANCH=$(awk '/app-elfloader:/{f=1} f && /version:/{print $2; exit}' kraft.yaml) mkdir -p .unikraft/apps .unikraft/libs rm -rf .unikraft/unikraft .unikraft/apps/elfloader .unikraft/libs/libelf .unikraft/build - git clone --branch $UK_BRANCH --depth 1 https://github.com/unikraft/unikraft.git .unikraft/unikraft - git clone --branch $UK_BRANCH --depth 1 https://github.com/unikraft/app-elfloader.git .unikraft/apps/elfloader + git clone --branch "$UK_BRANCH" --depth 1 "$UK_SOURCE" .unikraft/unikraft + git clone --branch "$ELF_BRANCH" --depth 1 "$ELF_SOURCE" .unikraft/apps/elfloader git clone --branch staging --depth 1 https://github.com/unikraft/lib-libelf.git .unikraft/libs/libelf kraft-hyperlight --no-prompt build --plat hyperlight --arch x86_64 fi @@ -299,11 +302,14 @@ jobs: kraft-hyperlight --no-prompt build --plat hyperlight --arch x86_64 || true if [ ! -d ".unikraft/unikraft" ] || [ -z "$(ls -A .unikraft/unikraft 2>/dev/null)" ]; then echo "::warning::kraft didn't clone unikraft sources; cloning manually" - UK_BRANCH=$(grep -E '^ version:' kraft.yaml | head -1 | awk '{print $2}') + UK_SOURCE=$(awk '/^unikraft:/{f=1} f && /source:/{print $2; exit}' kraft.yaml) + UK_BRANCH=$(awk '/^unikraft:/{f=1} f && /version:/{print $2; exit}' kraft.yaml) + ELF_SOURCE=$(awk '/app-elfloader:/{f=1} f && /source:/{print $2; exit}' kraft.yaml) + ELF_BRANCH=$(awk '/app-elfloader:/{f=1} f && /version:/{print $2; exit}' kraft.yaml) mkdir -p .unikraft/apps .unikraft/libs rm -rf .unikraft/unikraft .unikraft/apps/elfloader .unikraft/libs/libelf .unikraft/build - git clone --branch $UK_BRANCH --depth 1 https://github.com/unikraft/unikraft.git .unikraft/unikraft - git clone --branch $UK_BRANCH --depth 1 https://github.com/unikraft/app-elfloader.git .unikraft/apps/elfloader + git clone --branch "$UK_BRANCH" --depth 1 "$UK_SOURCE" .unikraft/unikraft + git clone --branch "$ELF_BRANCH" --depth 1 "$ELF_SOURCE" .unikraft/apps/elfloader git clone --branch staging --depth 1 https://github.com/unikraft/lib-libelf.git .unikraft/libs/libelf kraft-hyperlight --no-prompt build --plat hyperlight --arch x86_64 fi @@ -440,11 +446,14 @@ jobs: just rootfs kraft-hyperlight --no-prompt build --plat hyperlight --arch x86_64 || true if [ ! -d ".unikraft/unikraft" ] || [ -z "$(ls -A .unikraft/unikraft 2>/dev/null)" ]; then - UK_BRANCH=$(grep -E '^ version:' kraft.yaml | head -1 | awk '{print $2}') + UK_SOURCE=$(awk '/^unikraft:/{f=1} f && /source:/{print $2; exit}' kraft.yaml) + UK_BRANCH=$(awk '/^unikraft:/{f=1} f && /version:/{print $2; exit}' kraft.yaml) + ELF_SOURCE=$(awk '/app-elfloader:/{f=1} f && /source:/{print $2; exit}' kraft.yaml) + ELF_BRANCH=$(awk '/app-elfloader:/{f=1} f && /version:/{print $2; exit}' kraft.yaml) mkdir -p .unikraft/apps .unikraft/libs rm -rf .unikraft/unikraft .unikraft/apps/elfloader .unikraft/libs/libelf .unikraft/build - git clone --branch $UK_BRANCH --depth 1 https://github.com/unikraft/unikraft.git .unikraft/unikraft - git clone --branch $UK_BRANCH --depth 1 https://github.com/unikraft/app-elfloader.git .unikraft/apps/elfloader + git clone --branch "$UK_BRANCH" --depth 1 "$UK_SOURCE" .unikraft/unikraft + git clone --branch "$ELF_BRANCH" --depth 1 "$ELF_SOURCE" .unikraft/apps/elfloader git clone --branch staging --depth 1 https://github.com/unikraft/lib-libelf.git .unikraft/libs/libelf kraft-hyperlight --no-prompt build --plat hyperlight --arch x86_64 fi diff --git a/examples/dotnet-nativeaot/kraft.yaml b/examples/dotnet-nativeaot/kraft.yaml index 69030cc..fba74e6 100644 --- a/examples/dotnet-nativeaot/kraft.yaml +++ b/examples/dotnet-nativeaot/kraft.yaml @@ -2,8 +2,8 @@ specification: '0.6' name: dotnet-nativeaot-hyperlight unikraft: - source: https://github.com/unikraft/unikraft.git - version: plat-hyperlight + source: https://github.com/danbugs/unikraft.git + version: cpiovfs-fix kconfig: CONFIG_PLAT_HYPERLIGHT: 'y' CONFIG_PAGING: 'n' @@ -18,8 +18,11 @@ unikraft: CONFIG_OPTIMIZE_PIE: 'y' CONFIG_LIBVFSCORE: 'y' CONFIG_LIBVFSCORE_AUTOMOUNT_CI: 'y' - CONFIG_LIBVFSCORE_AUTOMOUNT_CI_INITRD: 'y' - CONFIG_LIBRAMFS: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI_CUSTOM: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_MP: '/' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_DRIVER: 'cpiovfs' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_UKOPTS_IFINITRD0: 'y' + CONFIG_LIBCPIOVFS: 'y' CONFIG_LIBUKCPIO: 'y' CONFIG_APPELFLOADER: 'y' CONFIG_APPELFLOADER_VFSEXEC: 'y' @@ -53,7 +56,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/unikraft/app-elfloader.git + source: https://github.com/danbugs/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/go/kraft.yaml b/examples/go/kraft.yaml index 7537197..1f54104 100644 --- a/examples/go/kraft.yaml +++ b/examples/go/kraft.yaml @@ -3,8 +3,8 @@ specification: '0.6' name: go-hyperlight unikraft: - source: https://github.com/unikraft/unikraft.git - version: plat-hyperlight + source: https://github.com/danbugs/unikraft.git + version: cpiovfs-fix kconfig: # Platform CONFIG_PLAT_HYPERLIGHT: 'y' @@ -26,8 +26,11 @@ unikraft: # VFS and initrd support CONFIG_LIBVFSCORE: 'y' CONFIG_LIBVFSCORE_AUTOMOUNT_CI: 'y' - CONFIG_LIBVFSCORE_AUTOMOUNT_CI_INITRD: 'y' - CONFIG_LIBRAMFS: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI_CUSTOM: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_MP: '/' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_DRIVER: 'cpiovfs' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_UKOPTS_IFINITRD0: 'y' + CONFIG_LIBCPIOVFS: 'y' CONFIG_LIBUKCPIO: 'y' # ELF loader - Go binary location @@ -61,7 +64,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/unikraft/app-elfloader.git + source: https://github.com/danbugs/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/helloworld-c/kraft.yaml b/examples/helloworld-c/kraft.yaml index f149bac..8ee379d 100644 --- a/examples/helloworld-c/kraft.yaml +++ b/examples/helloworld-c/kraft.yaml @@ -2,8 +2,8 @@ specification: '0.6' name: helloworld-hyperlight unikraft: - source: https://github.com/unikraft/unikraft.git - version: plat-hyperlight + source: https://github.com/danbugs/unikraft.git + version: cpiovfs-fix kconfig: CONFIG_PLAT_HYPERLIGHT: 'y' CONFIG_PAGING: 'n' @@ -20,8 +20,11 @@ unikraft: CONFIG_OPTIMIZE_PIE: 'y' CONFIG_LIBVFSCORE: 'y' CONFIG_LIBVFSCORE_AUTOMOUNT_CI: 'y' - CONFIG_LIBVFSCORE_AUTOMOUNT_CI_INITRD: 'y' - CONFIG_LIBRAMFS: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI_CUSTOM: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_MP: '/' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_DRIVER: 'cpiovfs' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_UKOPTS_IFINITRD0: 'y' + CONFIG_LIBCPIOVFS: 'y' CONFIG_LIBUKCPIO: 'y' CONFIG_APPELFLOADER: 'y' CONFIG_APPELFLOADER_VFSEXEC: 'y' @@ -52,7 +55,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/unikraft/app-elfloader.git + source: https://github.com/danbugs/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/hostfs-posix-c/kraft.yaml b/examples/hostfs-posix-c/kraft.yaml index e824d64..a618739 100644 --- a/examples/hostfs-posix-c/kraft.yaml +++ b/examples/hostfs-posix-c/kraft.yaml @@ -2,8 +2,8 @@ specification: '0.6' name: hostfs-posix-c-hyperlight unikraft: - source: https://github.com/unikraft/unikraft.git - version: plat-hyperlight + source: https://github.com/danbugs/unikraft.git + version: cpiovfs-fix kconfig: # Platform CONFIG_PLAT_HYPERLIGHT: 'y' @@ -25,8 +25,11 @@ unikraft: # VFS + initrd as ramfs (for /bin/hello and the ELF loader) CONFIG_LIBVFSCORE: 'y' CONFIG_LIBVFSCORE_AUTOMOUNT_CI: 'y' - CONFIG_LIBVFSCORE_AUTOMOUNT_CI_INITRD: 'y' - CONFIG_LIBRAMFS: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI_CUSTOM: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_MP: '/' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_DRIVER: 'cpiovfs' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_UKOPTS_IFINITRD0: 'y' + CONFIG_LIBCPIOVFS: 'y' CONFIG_LIBUKCPIO: 'y' # devfs + /dev/hcall (needed for HYPERLIGHT_HCALL symbol; @@ -68,7 +71,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/unikraft/app-elfloader.git + source: https://github.com/danbugs/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/hostfs-posix-py/kraft.yaml b/examples/hostfs-posix-py/kraft.yaml index cc5c251..1ac5e84 100644 --- a/examples/hostfs-posix-py/kraft.yaml +++ b/examples/hostfs-posix-py/kraft.yaml @@ -2,8 +2,8 @@ specification: '0.6' name: hostfs-posix-py-hyperlight unikraft: - source: https://github.com/unikraft/unikraft.git - version: plat-hyperlight + source: https://github.com/danbugs/unikraft.git + version: cpiovfs-fix kconfig: # Platform CONFIG_PLAT_HYPERLIGHT: 'y' @@ -25,8 +25,11 @@ unikraft: # VFS + initrd as ramfs (for /usr/local/bin/python3 and the ELF loader) CONFIG_LIBVFSCORE: 'y' CONFIG_LIBVFSCORE_AUTOMOUNT_CI: 'y' - CONFIG_LIBVFSCORE_AUTOMOUNT_CI_INITRD: 'y' - CONFIG_LIBRAMFS: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI_CUSTOM: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_MP: '/' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_DRIVER: 'cpiovfs' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_UKOPTS_IFINITRD0: 'y' + CONFIG_LIBCPIOVFS: 'y' CONFIG_LIBUKCPIO: 'y' # devfs + /dev/hcall (needed for HYPERLIGHT_HCALL symbol; @@ -73,7 +76,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/unikraft/app-elfloader.git + source: https://github.com/danbugs/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/multifn-c/kraft.yaml b/examples/multifn-c/kraft.yaml index c8dc628..a9dd775 100644 --- a/examples/multifn-c/kraft.yaml +++ b/examples/multifn-c/kraft.yaml @@ -2,8 +2,8 @@ specification: '0.6' name: multifn-c-hyperlight unikraft: - source: https://github.com/unikraft/unikraft.git - version: plat-hyperlight + source: https://github.com/danbugs/unikraft.git + version: cpiovfs-fix kconfig: CONFIG_PLAT_HYPERLIGHT: 'y' CONFIG_PAGING: 'n' @@ -19,8 +19,11 @@ unikraft: CONFIG_OPTIMIZE_PIE: 'y' CONFIG_LIBVFSCORE: 'y' CONFIG_LIBVFSCORE_AUTOMOUNT_CI: 'y' - CONFIG_LIBVFSCORE_AUTOMOUNT_CI_INITRD: 'y' - CONFIG_LIBRAMFS: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI_CUSTOM: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_MP: '/' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_DRIVER: 'cpiovfs' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_UKOPTS_IFINITRD0: 'y' + CONFIG_LIBCPIOVFS: 'y' CONFIG_LIBUKCPIO: 'y' CONFIG_APPELFLOADER: 'y' CONFIG_APPELFLOADER_VFSEXEC: 'y' @@ -46,7 +49,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/unikraft/app-elfloader.git + source: https://github.com/danbugs/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/powershell/kraft.yaml b/examples/powershell/kraft.yaml index a0ed3bc..8b9fe3a 100644 --- a/examples/powershell/kraft.yaml +++ b/examples/powershell/kraft.yaml @@ -2,8 +2,8 @@ specification: '0.6' name: powershell-hyperlight unikraft: - source: https://github.com/unikraft/unikraft.git - version: plat-hyperlight + source: https://github.com/danbugs/unikraft.git + version: cpiovfs-fix kconfig: # Platform CONFIG_PLAT_HYPERLIGHT: 'y' @@ -89,7 +89,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/unikraft/app-elfloader.git + source: https://github.com/danbugs/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/python-agent/kraft.yaml b/examples/python-agent/kraft.yaml index 51d16b7..7765250 100644 --- a/examples/python-agent/kraft.yaml +++ b/examples/python-agent/kraft.yaml @@ -2,8 +2,8 @@ specification: '0.6' name: python-agent-hyperlight unikraft: - source: https://github.com/unikraft/unikraft.git - version: plat-hyperlight + source: https://github.com/danbugs/unikraft.git + version: cpiovfs-fix kconfig: # Platform CONFIG_PLAT_HYPERLIGHT: 'y' @@ -25,8 +25,11 @@ unikraft: # VFS + initrd as ramfs (for /usr/local/bin/python3 and the ELF loader) CONFIG_LIBVFSCORE: 'y' CONFIG_LIBVFSCORE_AUTOMOUNT_CI: 'y' - CONFIG_LIBVFSCORE_AUTOMOUNT_CI_INITRD: 'y' - CONFIG_LIBRAMFS: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI_CUSTOM: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_MP: '/' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_DRIVER: 'cpiovfs' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_UKOPTS_IFINITRD0: 'y' + CONFIG_LIBCPIOVFS: 'y' CONFIG_LIBUKCPIO: 'y' # devfs + /dev/hcall (needed for HYPERLIGHT_HCALL symbol; @@ -85,7 +88,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/unikraft/app-elfloader.git + source: https://github.com/danbugs/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/python-tools/kraft.yaml b/examples/python-tools/kraft.yaml index 5b13fb4..de562e7 100644 --- a/examples/python-tools/kraft.yaml +++ b/examples/python-tools/kraft.yaml @@ -3,8 +3,8 @@ specification: '0.6' name: python-tools-hyperlight unikraft: - source: https://github.com/unikraft/unikraft.git - version: plat-hyperlight + source: https://github.com/danbugs/unikraft.git + version: cpiovfs-fix kconfig: # Platform CONFIG_PLAT_HYPERLIGHT: 'y' @@ -26,8 +26,11 @@ unikraft: # VFS and initrd support CONFIG_LIBVFSCORE: 'y' CONFIG_LIBVFSCORE_AUTOMOUNT_CI: 'y' - CONFIG_LIBVFSCORE_AUTOMOUNT_CI_INITRD: 'y' - CONFIG_LIBRAMFS: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI_CUSTOM: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_MP: '/' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_DRIVER: 'cpiovfs' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_UKOPTS_IFINITRD0: 'y' + CONFIG_LIBCPIOVFS: 'y' CONFIG_LIBUKCPIO: 'y' # devfs and host call device (/dev/hcall) @@ -63,7 +66,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/unikraft/app-elfloader.git + source: https://github.com/danbugs/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/python/kraft.yaml b/examples/python/kraft.yaml index 96a8e47..4bc3b22 100644 --- a/examples/python/kraft.yaml +++ b/examples/python/kraft.yaml @@ -3,8 +3,8 @@ specification: '0.6' name: python-hyperlight unikraft: - source: https://github.com/unikraft/unikraft.git - version: plat-hyperlight + source: https://github.com/danbugs/unikraft.git + version: cpiovfs-fix kconfig: # Platform CONFIG_PLAT_HYPERLIGHT: 'y' @@ -29,8 +29,11 @@ unikraft: # VFS and initrd support CONFIG_LIBVFSCORE: 'y' CONFIG_LIBVFSCORE_AUTOMOUNT_CI: 'y' - CONFIG_LIBVFSCORE_AUTOMOUNT_CI_INITRD: 'y' - CONFIG_LIBRAMFS: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI_CUSTOM: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_MP: '/' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_DRIVER: 'cpiovfs' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_UKOPTS_IFINITRD0: 'y' + CONFIG_LIBCPIOVFS: 'y' CONFIG_LIBUKCPIO: 'y' # ELF loader - execute Python binary, script passed via cmdline @@ -64,7 +67,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/unikraft/app-elfloader.git + source: https://github.com/danbugs/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/rust/kraft.yaml b/examples/rust/kraft.yaml index 5467c24..f21c4ae 100644 --- a/examples/rust/kraft.yaml +++ b/examples/rust/kraft.yaml @@ -3,8 +3,8 @@ specification: '0.6' name: rust-hyperlight unikraft: - source: https://github.com/unikraft/unikraft.git - version: plat-hyperlight + source: https://github.com/danbugs/unikraft.git + version: cpiovfs-fix kconfig: # Platform CONFIG_PLAT_HYPERLIGHT: 'y' @@ -26,8 +26,11 @@ unikraft: # VFS and initrd support CONFIG_LIBVFSCORE: 'y' CONFIG_LIBVFSCORE_AUTOMOUNT_CI: 'y' - CONFIG_LIBVFSCORE_AUTOMOUNT_CI_INITRD: 'y' - CONFIG_LIBRAMFS: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI_CUSTOM: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_MP: '/' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_DRIVER: 'cpiovfs' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_UKOPTS_IFINITRD0: 'y' + CONFIG_LIBCPIOVFS: 'y' CONFIG_LIBUKCPIO: 'y' # ELF loader - Rust binary location @@ -59,7 +62,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/unikraft/app-elfloader.git + source: https://github.com/danbugs/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/shell/kraft.yaml b/examples/shell/kraft.yaml index f94c782..2ccef96 100644 --- a/examples/shell/kraft.yaml +++ b/examples/shell/kraft.yaml @@ -3,8 +3,8 @@ specification: '0.6' name: shell-hyperlight unikraft: - source: https://github.com/unikraft/unikraft.git - version: plat-hyperlight + source: https://github.com/danbugs/unikraft.git + version: cpiovfs-fix kconfig: # Platform CONFIG_PLAT_HYPERLIGHT: 'y' @@ -23,12 +23,14 @@ unikraft: CONFIG_OPTIMIZE_SIZE: 'y' CONFIG_OPTIMIZE_PIE: 'y' - # VFS and initrd support - use ramfs with CPIO extraction - # (ramfs handles symlinks reliably, which BusyBox needs for applet symlinks) + # VFS and initrd support - cpiovfs for zero-copy mount from CPIO CONFIG_LIBVFSCORE: 'y' CONFIG_LIBVFSCORE_AUTOMOUNT_CI: 'y' - CONFIG_LIBVFSCORE_AUTOMOUNT_CI_INITRD: 'y' - CONFIG_LIBRAMFS: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI_CUSTOM: 'y' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_MP: '/' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_DRIVER: 'cpiovfs' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_UKOPTS_IFINITRD0: 'y' + CONFIG_LIBCPIOVFS: 'y' CONFIG_LIBUKCPIO: 'y' # ELF loader - execute /bin/sh, script/command passed via cmdline @@ -63,7 +65,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/unikraft/app-elfloader.git + source: https://github.com/danbugs/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git From c2cc581ff8ab80892827073ff52a79e582939e46 Mon Sep 17 00:00:00 2001 From: danbugs Date: Wed, 13 May 2026 00:20:35 +0000 Subject: [PATCH 4/5] powershell: remove ramfs mounts for /tmp and /root cpiovfs write fix (ephemeral nodes) handles writes natively now, so the separate ramfs workaround mounts are no longer needed. Signed-off-by: danbugs --- examples/powershell/kraft.yaml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/examples/powershell/kraft.yaml b/examples/powershell/kraft.yaml index 8b9fe3a..a4a9741 100644 --- a/examples/powershell/kraft.yaml +++ b/examples/powershell/kraft.yaml @@ -22,18 +22,15 @@ unikraft: CONFIG_OPTIMIZE_SIZE: 'y' CONFIG_OPTIMIZE_PIE: 'y' - # VFS and initrd support - cpiovfs for zero-copy mount, ramfs for /tmp + # VFS and initrd support - cpiovfs for zero-copy mount CONFIG_LIBVFSCORE: 'y' CONFIG_LIBVFSCORE_AUTOMOUNT_CI: 'y' CONFIG_LIBVFSCORE_AUTOMOUNT_CI_CUSTOM: 'y' - CONFIG_LIBCPIOVFS: 'y' - CONFIG_LIBRAMFS: 'y' CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_MP: '/' CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_DRIVER: 'cpiovfs' - CONFIG_LIBVFSCORE_AUTOMOUNT_CI1_MP: '/tmp' - CONFIG_LIBVFSCORE_AUTOMOUNT_CI1_DRIVER: 'ramfs' - CONFIG_LIBVFSCORE_AUTOMOUNT_CI2_MP: '/root' - CONFIG_LIBVFSCORE_AUTOMOUNT_CI2_DRIVER: 'ramfs' + CONFIG_LIBVFSCORE_AUTOMOUNT_CI0_UKOPTS_IFINITRD0: 'y' + CONFIG_LIBCPIOVFS: 'y' + CONFIG_LIBUKCPIO: 'y' # ELF loader - execute PowerShell binary CONFIG_APPELFLOADER: 'y' From aac45710af4bacb5c289433e0697445fe375b7a5 Mon Sep 17 00:00:00 2001 From: danbugs Date: Wed, 13 May 2026 15:46:06 +0000 Subject: [PATCH 5/5] kraft.yaml: switch from danbugs/unikraft cpiovfs-fix to upstream plat-hyperlight Signed-off-by: danbugs --- examples/dotnet-nativeaot/kraft.yaml | 6 +++--- examples/go/kraft.yaml | 6 +++--- examples/helloworld-c/kraft.yaml | 6 +++--- examples/hostfs-posix-c/kraft.yaml | 6 +++--- examples/hostfs-posix-py/kraft.yaml | 6 +++--- examples/multifn-c/kraft.yaml | 6 +++--- examples/powershell/kraft.yaml | 6 +++--- examples/python-agent-driver/kraft.yaml | 6 +++--- examples/python-agent/kraft.yaml | 6 +++--- examples/python-tools/kraft.yaml | 6 +++--- examples/python/kraft.yaml | 6 +++--- examples/rust/kraft.yaml | 6 +++--- examples/shell/kraft.yaml | 6 +++--- 13 files changed, 39 insertions(+), 39 deletions(-) diff --git a/examples/dotnet-nativeaot/kraft.yaml b/examples/dotnet-nativeaot/kraft.yaml index fba74e6..f5c2b2d 100644 --- a/examples/dotnet-nativeaot/kraft.yaml +++ b/examples/dotnet-nativeaot/kraft.yaml @@ -2,8 +2,8 @@ specification: '0.6' name: dotnet-nativeaot-hyperlight unikraft: - source: https://github.com/danbugs/unikraft.git - version: cpiovfs-fix + source: https://github.com/unikraft/unikraft.git + version: plat-hyperlight kconfig: CONFIG_PLAT_HYPERLIGHT: 'y' CONFIG_PAGING: 'n' @@ -56,7 +56,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/danbugs/app-elfloader.git + source: https://github.com/unikraft/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/go/kraft.yaml b/examples/go/kraft.yaml index 1f54104..547d6d7 100644 --- a/examples/go/kraft.yaml +++ b/examples/go/kraft.yaml @@ -3,8 +3,8 @@ specification: '0.6' name: go-hyperlight unikraft: - source: https://github.com/danbugs/unikraft.git - version: cpiovfs-fix + source: https://github.com/unikraft/unikraft.git + version: plat-hyperlight kconfig: # Platform CONFIG_PLAT_HYPERLIGHT: 'y' @@ -64,7 +64,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/danbugs/app-elfloader.git + source: https://github.com/unikraft/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/helloworld-c/kraft.yaml b/examples/helloworld-c/kraft.yaml index 8ee379d..36e45f2 100644 --- a/examples/helloworld-c/kraft.yaml +++ b/examples/helloworld-c/kraft.yaml @@ -2,8 +2,8 @@ specification: '0.6' name: helloworld-hyperlight unikraft: - source: https://github.com/danbugs/unikraft.git - version: cpiovfs-fix + source: https://github.com/unikraft/unikraft.git + version: plat-hyperlight kconfig: CONFIG_PLAT_HYPERLIGHT: 'y' CONFIG_PAGING: 'n' @@ -55,7 +55,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/danbugs/app-elfloader.git + source: https://github.com/unikraft/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/hostfs-posix-c/kraft.yaml b/examples/hostfs-posix-c/kraft.yaml index a618739..d2f937f 100644 --- a/examples/hostfs-posix-c/kraft.yaml +++ b/examples/hostfs-posix-c/kraft.yaml @@ -2,8 +2,8 @@ specification: '0.6' name: hostfs-posix-c-hyperlight unikraft: - source: https://github.com/danbugs/unikraft.git - version: cpiovfs-fix + source: https://github.com/unikraft/unikraft.git + version: plat-hyperlight kconfig: # Platform CONFIG_PLAT_HYPERLIGHT: 'y' @@ -71,7 +71,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/danbugs/app-elfloader.git + source: https://github.com/unikraft/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/hostfs-posix-py/kraft.yaml b/examples/hostfs-posix-py/kraft.yaml index 1ac5e84..ec17d14 100644 --- a/examples/hostfs-posix-py/kraft.yaml +++ b/examples/hostfs-posix-py/kraft.yaml @@ -2,8 +2,8 @@ specification: '0.6' name: hostfs-posix-py-hyperlight unikraft: - source: https://github.com/danbugs/unikraft.git - version: cpiovfs-fix + source: https://github.com/unikraft/unikraft.git + version: plat-hyperlight kconfig: # Platform CONFIG_PLAT_HYPERLIGHT: 'y' @@ -76,7 +76,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/danbugs/app-elfloader.git + source: https://github.com/unikraft/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/multifn-c/kraft.yaml b/examples/multifn-c/kraft.yaml index a9dd775..cc98096 100644 --- a/examples/multifn-c/kraft.yaml +++ b/examples/multifn-c/kraft.yaml @@ -2,8 +2,8 @@ specification: '0.6' name: multifn-c-hyperlight unikraft: - source: https://github.com/danbugs/unikraft.git - version: cpiovfs-fix + source: https://github.com/unikraft/unikraft.git + version: plat-hyperlight kconfig: CONFIG_PLAT_HYPERLIGHT: 'y' CONFIG_PAGING: 'n' @@ -49,7 +49,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/danbugs/app-elfloader.git + source: https://github.com/unikraft/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/powershell/kraft.yaml b/examples/powershell/kraft.yaml index a4a9741..8d3bcc9 100644 --- a/examples/powershell/kraft.yaml +++ b/examples/powershell/kraft.yaml @@ -2,8 +2,8 @@ specification: '0.6' name: powershell-hyperlight unikraft: - source: https://github.com/danbugs/unikraft.git - version: cpiovfs-fix + source: https://github.com/unikraft/unikraft.git + version: plat-hyperlight kconfig: # Platform CONFIG_PLAT_HYPERLIGHT: 'y' @@ -86,7 +86,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/danbugs/app-elfloader.git + source: https://github.com/unikraft/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/python-agent-driver/kraft.yaml b/examples/python-agent-driver/kraft.yaml index f003ab7..4e4cc2e 100644 --- a/examples/python-agent-driver/kraft.yaml +++ b/examples/python-agent-driver/kraft.yaml @@ -2,8 +2,8 @@ specification: '0.6' name: python-agent-driver-hyperlight unikraft: - source: https://github.com/danbugs/unikraft.git - version: cpiovfs-fix + source: https://github.com/unikraft/unikraft.git + version: plat-hyperlight kconfig: CONFIG_PLAT_HYPERLIGHT: 'y' CONFIG_PAGING: 'n' @@ -74,7 +74,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/danbugs/app-elfloader.git + source: https://github.com/unikraft/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/python-agent/kraft.yaml b/examples/python-agent/kraft.yaml index 7765250..d627dc3 100644 --- a/examples/python-agent/kraft.yaml +++ b/examples/python-agent/kraft.yaml @@ -2,8 +2,8 @@ specification: '0.6' name: python-agent-hyperlight unikraft: - source: https://github.com/danbugs/unikraft.git - version: cpiovfs-fix + source: https://github.com/unikraft/unikraft.git + version: plat-hyperlight kconfig: # Platform CONFIG_PLAT_HYPERLIGHT: 'y' @@ -88,7 +88,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/danbugs/app-elfloader.git + source: https://github.com/unikraft/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/python-tools/kraft.yaml b/examples/python-tools/kraft.yaml index de562e7..53de59f 100644 --- a/examples/python-tools/kraft.yaml +++ b/examples/python-tools/kraft.yaml @@ -3,8 +3,8 @@ specification: '0.6' name: python-tools-hyperlight unikraft: - source: https://github.com/danbugs/unikraft.git - version: cpiovfs-fix + source: https://github.com/unikraft/unikraft.git + version: plat-hyperlight kconfig: # Platform CONFIG_PLAT_HYPERLIGHT: 'y' @@ -66,7 +66,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/danbugs/app-elfloader.git + source: https://github.com/unikraft/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/python/kraft.yaml b/examples/python/kraft.yaml index 4bc3b22..dba5357 100644 --- a/examples/python/kraft.yaml +++ b/examples/python/kraft.yaml @@ -3,8 +3,8 @@ specification: '0.6' name: python-hyperlight unikraft: - source: https://github.com/danbugs/unikraft.git - version: cpiovfs-fix + source: https://github.com/unikraft/unikraft.git + version: plat-hyperlight kconfig: # Platform CONFIG_PLAT_HYPERLIGHT: 'y' @@ -67,7 +67,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/danbugs/app-elfloader.git + source: https://github.com/unikraft/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/rust/kraft.yaml b/examples/rust/kraft.yaml index f21c4ae..962a7e9 100644 --- a/examples/rust/kraft.yaml +++ b/examples/rust/kraft.yaml @@ -3,8 +3,8 @@ specification: '0.6' name: rust-hyperlight unikraft: - source: https://github.com/danbugs/unikraft.git - version: cpiovfs-fix + source: https://github.com/unikraft/unikraft.git + version: plat-hyperlight kconfig: # Platform CONFIG_PLAT_HYPERLIGHT: 'y' @@ -62,7 +62,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/danbugs/app-elfloader.git + source: https://github.com/unikraft/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git diff --git a/examples/shell/kraft.yaml b/examples/shell/kraft.yaml index 2ccef96..242745b 100644 --- a/examples/shell/kraft.yaml +++ b/examples/shell/kraft.yaml @@ -3,8 +3,8 @@ specification: '0.6' name: shell-hyperlight unikraft: - source: https://github.com/danbugs/unikraft.git - version: cpiovfs-fix + source: https://github.com/unikraft/unikraft.git + version: plat-hyperlight kconfig: # Platform CONFIG_PLAT_HYPERLIGHT: 'y' @@ -65,7 +65,7 @@ unikraft: libraries: app-elfloader: - source: https://github.com/danbugs/app-elfloader.git + source: https://github.com/unikraft/app-elfloader.git version: plat-hyperlight libelf: source: https://github.com/unikraft/lib-libelf.git