Skip to content

Instantly share code, notes, and snippets.

@gordonturner
Last active September 21, 2016 12:30
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gordonturner/85dcc321d2099d610e67 to your computer and use it in GitHub Desktop.
Save gordonturner/85dcc321d2099d610e67 to your computer and use it in GitHub Desktop.
KVM OVMF

KVM OVMF

  • 2016-02-20: Ubuntu 15.10 (x86_64) can successfully build OVMF
  • 2016-02-20: The OVMF download from http://www.tianocore.org/ is out of date
  • The Release r15214 (OVMF-X64-r15214.zip) appears to be from 2014-02-11:

http://sourceforge.net/projects/edk2/files/OVMF/

  • Project appears to use SF svn primarily, but with a GitHub mirror:

https://svn.code.sf.net/p/edk2/code/trunk/edk2

https://github.com/tianocore/edk2/tree/master

  • For these instructions, using GitHub mirror.

Install Dependencies

  • Ubuntu 15.10 (x86_64)
  • Install dependencies:
sudo apt-get install build-essential git uuid-dev iasl subversion

Build

  • TODO: Update to change resolution from 800x600

  • Using GitHub to check out and build BaseTools:

mkdir ~/src
cd ~/src
git clone https://github.com/tianocore/edk2
make -C edk2/BaseTools
  • 2016-02-20: commit value 7cf1e91d611c5dbe8bdaefd5a48b61e63ea58263

  • Setup:

cd ~/src/edk2
export EDK_TOOLS_PATH=$HOME/src/edk2/BaseTools
. edksetup.sh
  • Build just OVMF:
OvmfPkg/build.sh -a X64 -t GCC49
  • NOTE: Using X64, no 32 bit support

  • NOTE: Using GCC49, even though current (2016-01-09) GCC installed is 5.x

  • Create /vm/osx-ovmf-bios-svn-build and copy ./Build/OvmfX64/DEBUG_GCC46/FV/OVMF.fd into the directory as bios.bin:

sudo mkdir /vm/osx-ovmf-bios-src-build
sudo cp ./Build/OvmfX64/DEBUG_GCC49/FV/OVMF.fd /vm/osx-ovmf-bios-src-build/bios.bin
  • Reference:

https://github.com/tianocore/edk2/tree/master/OvmfPkg

https://github.com/tianocore/tianocore.github.io/wiki/Using-EDK-II-with-Native-GCC

https://wiki.ubuntu.com/UEFI/EDK2

https://github.com/tianocore/tianocore.github.io/wiki/How%20to%20build%20OVMF

@apiontek
Copy link

apiontek commented Apr 6, 2016

On Ubuntu Xenial (installed from beta 2), I had to add "nasm" to the dependencies:

sudo apt-get install build-essential git uuid-dev iasl subversion nasm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment