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だったはず。