LevitateOS

Documentation

recqemu

Library utilities for QEMU command construction and test process management.

Section

Overview

recqemu is a Rust library, not a standalone CLI. It is used by test harnesses and runtime wrappers for consistent VM command generation.

NOTE

Library-only: use this from Rust code paths; there is no user-facing recqemu command binary.

Section

Primary API Surface

API Purpose
QemuBuilder Fluent QEMU command construction
find_ovmf/find_ovmf_vars Firmware discovery across distros
create_disk Create qcow2 disks
serial::Console Serial console IO primitives
process::* QEMU process/lock utilities

Section

Rust Example

Command
rust
use recqemu::{create_disk, find_ovmf, QemuBuilder};
use std::path::Path;

create_disk(Path::new("disk.qcow2"), "20G")?;

let ovmf = find_ovmf().expect("OVMF not found");
let mut cmd = QemuBuilder::new()
    .memory("4G")
    .smp(4)
    .cdrom("levitate.iso")
    .disk("disk.qcow2")
    .uefi(ovmf)
    .user_network()
    .build_interactive();

cmd.status()?;

Section

Consumers

  • testing/install-tests (QEMU test sessions and console control)
  • runtime wrappers that need deterministic QEMU command composition

Section

See Also