-
Notifications
You must be signed in to change notification settings - Fork 66
Running
LekKit edited this page Oct 7, 2024
·
36 revisions
CLI Example: Launches a dual-core VM with 2 GiB of RAM, 1280x720 display.
Runs OpenSBI + U-Boot firmware, Arch RISC-V guest. Forwards 127.0.0.1:2022
into guest SSH port.
rvvm fw_payload.bin -i archriscv.img -m 2G -smp 2 -res 1280x720 -portfwd tcp/127.0.0.1:2022=22
Extended help:
Usage: rvvm <firmware> [-m 256M] [-k kernel] [-i drive.img] ...
<firmware> Initial M-mode firmware (OpenSBI [+ U-Boot], etc)
-k, -kernel ... Optional S-mode kernel payload (Linux, U-Boot, etc)
-i, -image ... Attach preferred storage image (Currently as NVMe)
-m, -mem 1G Memory amount, default: 256M
-s, -smp 4 Cores count, default: 1
-rv32 Enable 32-bit RISC-V, 64-bit by default
-cmdline ... Override payload kernel command line
-append ... Modify payload kernel command line
-res 1280x720 Set display(s) resolution
-poweroff_key Send HID_KEY_POWER instead of exiting on GUI close
-portfwd 8080=80 Port forwarding (Extended: tcp/127.0.0.1:8080=80)
-nvme ... Explicitly attach storage image as NVMe device
-ata ... Explicitly attach storage image as ATA (IDE) device
-nogui Disable display GUI
-nonet Disable networking
-serial ... Add more serial ports (Via pty/pipe path), or null
-dtb ... Pass custom Device Tree Blob to the machine
-dumpdtb ... Dump auto-generated DTB to file
-v, -verbose Enable verbose logging
-h, -help Show this help message
Testing or development features:
-noisolation Disable seccomp/pledge isolation
-nojit Disable RVJIT (For debug purposes, slow!)
-rvjit_harvard Strict instruction cache flush checks (For guest debug, slow!)
-rvjit_disable_rwx Force W^X JIT heap allocation
-rvjit_force_bmi2 [true/false] Force enable/disable BMI2 x86 extensions
-jitcache 16M Per-core JIT cache size (Scales with guest RAM by default)
-sv48 Enable SV48 MMU pagetable scheme
-sv57 Enable SV57 MMU pagetable scheme