Skip to main content

Crate omea_kernel_x86_64

Crate omea_kernel_x86_64 

Source
Expand description

Pre-built x86_64 runtime assets for omea’s KVM backend, packaged as a Rust crate so embedders never fetch binaries out of band.

This is the current x86_64 implementation of the architecture-split asset contract. You normally don’t depend on it directly — depend on the omea-kernel facade, which re-exports the right arch’s crate by target_arch. Cargo only downloads the sub-crate matching the build target, so an x86_64 build pulls only this crate.

Three assets are bundled:

  1. Linux kernel (KERNEL_BYTES) — a minimal-config x86_64 bzImage (Linux 6.12). Everything the microVM needs is built in (MODULES=n): virtio-MMIO (+CMDLINE_DEVICES), virtio-blk, virtio-vsock, squashfs, overlayfs, ext4, 8250 console. No module loading, no host-kernel coupling.
  2. busybox (BUSYBOX_BYTES) — a static x86_64 busybox. The KVM bake stages it into the agent initramfs as the PID-1 init’s toolbox (mount, switch_root, overlay setup).
  3. omea-agent (OMEA_AGENT_BYTES) — the in-VM control agent (static x86_64-musl). Runs as PID 1 inside the container after switch_root, serving exec/control RPCs over vsock.

The KVM backend builds the container rootfs (overlayfs + switch_root) directly in the agent initramfs’s generated init.

Constants§

BUSYBOX_BYTES
Raw bytes of the static x86_64 busybox staged into the agent initramfs. The generated PID-1 init uses it for the overlayfs + switch_root dance that builds the writable container rootfs from the read-only OCI squashfs.
BUSYBOX_LEN
Length of the busybox binary in bytes.
KERNEL_BYTES
Raw bytes of the x86_64 kernel — a minimal-config Linux bzImage.
KERNEL_LEN
Length of the kernel image in bytes — KERNEL_BYTES.len(), const-evaluable.
OMEA_AGENT_BYTES
Raw bytes of the in-VM omea-agent (static x86_64-musl ELF). Runs as PID 1 inside the container post-switch_root, serving docker-style exec and other control RPCs over vsock.
OMEA_AGENT_LEN
Length of the omea-agent binary in bytes.

Functions§

extract_busybox_to
Write the bundled busybox to dest, executable (mode 0o755) on Unix.
extract_busybox_to_with_parents
Like extract_busybox_to but mkdir -p’s the parent dir first.
extract_kernel_to
Write the bundled kernel image to dest. Overwrites any existing file; the parent dir must exist (use extract_kernel_to_with_parents to mkdir).
extract_kernel_to_with_parents
Like extract_kernel_to but mkdir -p’s the parent dir first.
extract_omea_agent_to
Write the bundled omea-agent to dest, executable on Unix.
extract_omea_agent_to_with_parents
Like extract_omea_agent_to but mkdir -p’s the parent first.