...
Create a directory that would hold source code of the components.
- EDK2: https://github.com/yli147tianocore/edk2-staging/tree/dev-standalonemm-rpmicommits/RiscV64StandaloneMm
- OpenSBI: https://github.com/Penglai-Enclave/opensbi/tree/dev-standalonemm-rpmi
- QMEU: https://github.com/yli147/qemu/commits/dev-standalonemm-rpmi
...
Compile UEFI and StandaloneMM
```
cd $WORKDIR
git clone https://github.com/yli147tianocore/edk2-staging.git -b dev-standalonemm-rpmiRiscV64StandaloneMm
cd edk2
git submodule update --init --recursive --depth=1
. edksetup.sh
make -C BaseTools
export GCC5_RISCV64_PREFIX=/usr/bin/riscv64-linux-gnu-
build -a RISCV64 -t GCC5 -p OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc -b DEBUG -DSECURE_BOOT_ENABLE=TRUE
build -a RISCV64 -t GCC5 -p OvmfPkg/RiscVVirt/RiscVVirtQemuStandaloneMm.dsc -b DEBUG -D FW_BASE_ADDRESS=0x80C00000
cp Build/RiscVVirtQemu/DEBUG_GCC5/FV/RISCV_VIRT_CODE.fd $WORKDIR
cp Build/RiscVVirtQemu/DEBUG_GCC5/FV/RISCV_VIRT_VARS.fd $WORKDIR
cp Build/RiscVVirtQemuStandaloneMm/DEBUG_GCC5/FV/STANDALONE_MM.fd $WORKDIR
```
...