Skip to content

Dell OptiPlex 7010/9010 Dasharo - building manual

Please read the overview page first!

Available variants

To build Dasharo compatible with Dell OptiPlex 7010/9010, you need to decide what is your desired configuration. The available options are as follows:

  • Dasharo (coreboot + SeaBIOS)
  • Dasharo (coreboot + edk2)
  • Dasharo (coreboot + SeaBIOS) with Intel TXT support
  • Dasharo (coreboot + edk2) with Intel TXT support

Intel TXT

If your choice is to enable TXT support, be advised that there are proprietary ACM blobs required for the firmware to work properly. They are non-redistributable for the platform in question, which means you will need to obtain/extract them yourself and patch the result binary using cbfstool. The methods are covered later on in the initial deployment guide

If in doubt, it is recommended to proceed with the non-TXT scenario.

Building steps

  1. Clone the coreboot repository:

    git clone https://github.com/dasharo/coreboot.git
    cd coreboot
    

    Replace vX.Y.Z with a valid version, eg. v0.1.0:

    git checkout optiplex_7010_9010_vX.Y.Z
    

    Checkout submodules:

    git submodule update --init --recursive --checkout
    
  2. Start a docker container:

       docker run --rm -it \
          -v $PWD:/home/coreboot/coreboot \
          -w /home/coreboot/coreboot \
          coreboot/coreboot-sdk:2023-11-24_2731fa619b /bin/bash
    
  3. Inside of the container, configure and start the build process:

    make distclean
    
    • To build Dasharo (coreboot+SeaBIOS) v0.1.0:
       cp configs/config.dell_optiplex_9010_sff .config
    
    • To build Dasharo (coreboot+UEFI) v0.1.0:
       cp configs/config.dell_optiplex_9010_sff_uefi .config
    
    • To build Dasharo (coreboot+SeaBIOS) v0.1.0 with TXT support:
       cp configs/config.dell_optiplex_9010_sff_txt .config
    
    • To build Dasharo (coreboot+UEFI) v0.1.0 with TXT support:
       cp configs/config.dell_optiplex_9010_sff_uefi_txt .config
    

    Finally, run:

    make olddefconfig
    make
    

    or simply:

    make distclean && cp configs/CONFIG_NAME .config && make olddefconfig && make
    

This will produce a Dasharo binary placed in build/coreboot.rom, which can be flashed in following ways, depending on your situation: