#project #uefi #create #vika

bin+lib cargo-vika

cargo tool to ease creating UEFI projects

2 releases

0.0.1 May 31, 2024
0.0.0 Nov 5, 2021

#52 in #uefi

GPL-3.0 license

20KB
377 lines

⚠️ WARNING!!! ⚠️

This crate is no longer supported and is here only because I cannot fully pull it out of crates.io(yanking doesn't count)

Cargo-vika

Special tool to ease UEFI development

WARNING!!! Only x86_64 and AArch64 support for now!

Cargo-vika is a cargo command that can be obtained by executing "cargo install cargo-vika".

Can be used like this: "cargo vika [COMMAND] [ARGS]"

It supports few commands:

run qemu:

builds & runs application in QEMU

Args:

  • --ovmf <DIR> <-- specify directory where OVMF files are located(default current dir and then system paths)
  • --exitp <PORT> <-- specify port that will be used as QEMU exit port(default 0xF4)
  • --cores <CORES> <-- specify number of cores to emulate(default 4)
  • --mem <MEM> <-- specify amount of RAM to emulate(default 256M)
  • --vga <VGA> <-- specify QEMU which VGA to use("-" to use QEMU's default, default std)
  • --dev <DEVICE> <-- can be specified multiple times; specify QEMU extra device to use
  • --features <FEATURES> <-- app features to enable, e.g. to enable features foo, bar & baz, pass --features foo,bar,baz
  • --debug <-- tell QEMU to wait until GDB will connect(check this too)
  • --debug-port <PORT> <-- use together with --debug, specify GDB and QEMU which TCP port to use to connect by
  • --pass-output <-- everything that will be printed to QEMU using UEFI.stdout() will be printed to console too

new <NAME>

creates new package with template inside, just like "cargo new"

build

builds application

Args:

  • --features <FEATURES> <-- same as run.features

P.S. I really don't mind if you send to my email(check Cargo.toml.authors) your own variant of this README, 'cause I'm not a good designer :)

Dependencies

~2.4–10MB
~98K SLoC