To build Vyond-Tee, the following tools are required
- Cargo
As Vyond security monitor is written in Rust, Cargo, Rust Package Manager, is required. See Cargo Installation page.
- RISC-V Toolchain
To build the firmware binary, risc-v toolchain is quired. See RISC-V Toolchain Installation Page. If you have setup WorldGuard
development environment, you don't have to set it up.
- QEMU
Vyond-TEE currently run on qemu-system-riscv64
and we will soon release a new version that run on WorldGuard enabled Rocket SoC. See Download QEMU Page.
# using run-vyond
./run-vyond build-sm --clean-build # add --semihosting to enable. Note that rocket doesn't support semihosting.
# using cargo directly
cd $VYOND_ROOT/tee/monitor
cargo build # add --fetures semihosting to enable. Note that rocket doesn't support semihosting.
# using run-vyond
./run-vyond build-fw --clean-build $VYOND_ROOT/prebuilt/Image
# Set CROSS_COMPILE environment variable
export CROSS_COMPILE=$YOUR_TOOLCHAIN/riscv64-unknown-elf-
cd $VYOND_ROOT/tee/sbi
./build.sh $VYOND_ROOT/prebuilt/Image
# using run-vyond
./run-vyond run-fw-on-qemu
# using run.sh directly
cd $VYOND_ROOT/tee
./run.sh -fw <fw_path> -qemu <wg-enabled qemu path>
# flash the fw_payload.bin to sdcard
./run-vyond flash-fw /dev/sdh # replace /dev/sdh with your blockd device file of sdcard