Skip to content

redox-os/redoxer

Repository files navigation

redoxer

The tool used to build/run Rust programs (and C/C++ programs with zero dependencies) inside of a Redox VM, the Redox GitLab CI use a Docker image with redoxer pre-installed.

A pre-built Docker image can be found on Docker Hub

Options

redoxer <bench | build | check | doc | install | run | rustc | test>
    Run as cargo passed by `redoxer env cargo`
    Additionally set `redoxer exec` as test runner

redoxer env <command> [arguments]...
    Run as command with env configured to run with the toolchain
    The toolchain will be initialized by `redoxer toolchain`

redoxer exec [-f|--folder folder] [-g|--gui] [-h|--help] [-o|--output file] [--] <command> [arguments]...
    Run a command inside QEMU, using a redox image
    The redox image will be initialized if not exist
    Environment flags:
        REDOXER_QEMU_BINARY   Override qemu binary
        REDOXER_QEMU_ARGS     Override qemu args
        REDOXER_USE_FUSE      [true|false] Override use fuse (default is automatically detected)

redoxer pkg [install|remove|update] pkg-1 pkg-2 ...
    Install additional native packages for Cargo
    Environment flags:
        REDOXER_SYSROOT     Where to install sysroot (default is target/$TARGET/sysroot on Cargo projects)
        REDOXER_PKG_SOURCE  Override source of packages (default is https://static.redox-os.org/pkg)

redoxer toolchain [--update] [--url PATH]
    Install or manage toolchain
    Environment flags:
        REDOXER_TOOLCHAIN   Override toolchain path

Commands

  • Install the tool
cargo install redoxer
  • Install the Redox toolchain
redoxer toolchain
  • Update the Redox toolchain using prebuilt toolchain from existing Redox OS Repo
make prefix/x86_64-unknown-redox/relibc-install.tar.gz
redoxer toolchain --update --url .
  • Build the Rust program or library with Redoxer
redoxer build
  • Build the Rust program or library with additional native packages
redoxer pkg install xz
redoxer build
  • Run the Rust program on Redox
redoxer run
  • Test the Rust program or library with Redoxer
redoxer test
  • Run arbitrary executable (echo hello) with Redoxer
redoxer exec echo hello