cargo-qemu-runner

Crates.iocargo-qemu-runner
lib.rscargo-qemu-runner
version0.1.2
sourcesrc
created_at2023-03-26 17:39:28.446441
updated_at2024-01-27 10:12:53.287371
descriptionA cargo subcommand that allows running Limine kernels using cargo run
homepage
repositoryhttps://github.com/Qwinci/cargo-qemu-runner
max_upload_size
id821418
size14,562
(Qwinci)

documentation

README

Limine Qemu Cargo Runner

Prerequisites

  • xorriso for creating the iso
  • git for downloading limine

Installation

  • Git version: run install.sh or cargo install --path .
  • Release version: cargo install cargo-qemu-runner

Usage

  • Put runner = "cargo qemu-runner" in your .cargo/config.toml's [target] section
  • Specify these keys under [package.metadata.qemu_runner] section in Cargo.toml:
    • limine-branch, the limine binary branch to clone
      • NOTE: Only branches starting from v4.x are supported
    • extra-files, specifies extra files to copy to the resulting image
    • test-success-exit-code, qemu exit code which is considered success
    • test-args, extra arguments which are used along with run-command for tests
    • run-args, extra arguments which are used along with run-command
    • run-command, base command used to run qemu
  • Now you can cargo run your kernel and it will automatically launch it in qemu

Example config

Todo

  • Write a portable xorriso replacement in Rust
  • More configuration options?
  • Make it possible to have cargo-qemu-runner as a dev-dependency instead of requiring installation if possible
Commit count: 2

cargo fmt