EDK2 Ubuntu Build Note

/ Linux

EDK2

Ubuntu 20.04でのQEMU用x64/aarch64ビルド方法

Environment

sudo apt install build-essential git python2 uuid-dev nasm
sudo apt install gcc-aarch64-linux-gnu
export GCC5_AARCH64_PREFIX=aarch64-linux-gnu-

Download

git clone https://github.com/tianocore/edk2.git && cd edk2
git submodule update --init --recursive

Build

source edksetup.sh
build -a AARCH64 -t GCC5 -p ArmVirtPkg/ArmVirtQemu.dsc -q
build -a AARCH64 -t GCC5 -p ArmVirtPkg/ArmVirtKernelQemu.dsc -q
build -a X64 -t GCC5 -p OvmfPkg/OvmgPkgX64.dsc -q

下記のエラーが出る場合

edk2/Build/OvmfX64/RELEASE_GCC5/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/X64/LongJump.iii:44: error: parser: instruction expected
edk2/Build/OvmfX64/RELEASE_GCC5/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/X64/LongJump.iii:49: error: parser: instruction expected

nasmのバージョンが低い。

wget http://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.xz
tar -xf nasm-2.15.05.tar.xz nasm-2.15.05/
cd nasm-2.15.05
./configure --prefix=/usr && make
sudo make install
nasm --version

2.15.05と出ればOK。失敗時のバージョンはaptでインストールされる2.14.02だったはず。

Qemu

References