Crates.io | qemu-plugin |
lib.rs | qemu-plugin |
version | 9.0.0-v0 |
source | src |
created_at | 2023-12-19 08:35:40.004637 |
updated_at | 2024-06-03 18:31:29.306422 |
description | High level bindings to the QEMU plugin API |
homepage | https://github.com/novafacing/qemu-rs |
repository | https://github.com/novafacing/qemu-rs |
max_upload_size | |
id | 1074090 |
size | 94,906 |
QEMU for Rust, and Rust for QEMU!
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.
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
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.