Skip to content

Dasharo (UEFI) v0.1.0 for QEMU Q35 - Building Manual

Follow below steps to create the "Dasharo (UEFI) OVMF image for QEMU Q35" from EDK2:



Easiest way to build OVMF for QEMU Q35 is to use coreboot Docker image. As some dependencies maybe missing in given local instance.

Obtain the docker image:

docker pull coreboot/coreboot-sdk:2021-09-23_b0d87f753c

Clone official Dasharo EDK2 repository to your docker instance, with git or downloading the source code from github.

git clone

Start the instance of the docker image under the Dasharo/edk2 repository:

sudo docker run --rm -it -v $PWD:/home/coreboot/coreboot \
    -w /home/coreboot/coreboot coreboot/coreboot-sdk:2021-09-23_b0d87f753c \

Follow below instructions, to prepare your environment for building OVMF image.

  • Setup the environment variables with the following command
make -C BaseTools
  • Update the submodules in order get latest dependencies.
git submodule update --init --checkout
  • Clone the edk2-platforms repository for additional packages
git clone \
    -b 3323ed481d35096fb6a7eae7b49f35eff00f86cf
  • Update the PACKAGES_PATH variable
export EDK2_PLATFORMS_PATH="$WORKSPACE/edk2-platforms"

Building the firmware image

To build the image simply invoke the following command

build -a IA32 -a X64 -t GCC5 -b RELEASE -p OvmfPkg/OvmfPkgX64.dsc

You can also enable additional options, for example CSM with by adding -D CSM_ENABLE:

build -a IA32 -a X64 -t GCC5 -b RELEASE -p OvmfPkg/OvmfPkgX64.dsc -D CSM_ENABLE

Once the build is completed, the OVMF firmware image can be found below given path:


For debug build use:

build -a IA32 -a X64 -t GCC5 -b DEBUG -p OvmfPkg/OvmfPkgX64.dsc

Then the resulting files will be placed in: