qemu-plugin

Crates.ioqemu-plugin
lib.rsqemu-plugin
version9.0.0-v0
sourcesrc
created_at2023-12-19 08:35:40.004637
updated_at2024-06-03 18:31:29.306422
descriptionHigh level bindings to the QEMU plugin API
homepagehttps://github.com/novafacing/qemu-rs
repositoryhttps://github.com/novafacing/qemu-rs
max_upload_size
id1074090
size94,906
Rowan Hart (novafacing)

documentation

README

QEMU-RS

QEMU for Rust, and Rust for QEMU!

Crates

This repository provides several QEMU-related crates:

The crates work together to enable building QEMU utilities in Rust and running QEMU from Rust code in a machine-specified way.

Try it Out

To see what the crate can do, trace the execution (including syscalls, memory accesses, and instructions) of a program like:

cargo run -r --bin tracer -- -a /bin/ls -- -lah

Installing QEMU

This repository also provides a crate (qemu) which builds QEMU from source and installs Rust wrappers for QEMU as binaries.

You can install QEMU with (add any additional features you need, e.g. plugins):

cargo install qemu@9.0.0-v0  --features=binaries

On some systems, particularly BTRFS systems, /tmp may not be large enough for the temporary build directory (QEMU is quite large to build). In this case, create a directory on your root filesystem (e.g. $HOME/.cargo/tmp) and set CARGO_TARGET_DIR=$HOME/.cargo/tmp when running the install command.

Commit count: 34

cargo fmt