# AARCH64(ARM64)
# クロスコンパイラ環境を整える
- Docker fileを作る
|
|
-
docker build -t xv6-uefi .してdocker images -
mkdir buildでディレクトリを作って -
docker run --rm -it --name xv6 -v $PWD/build:/tmp/build xv6-uefi bash -
docker内で
cd edk2edk2に移動しmake -C BaseToolssource edksetup.shexport GCC5_ARM_PREFIX=arm-linux-gnueabihf-build -a ARM -t GCC5 -p ArmVirtPkg/ArmVirtQemu.dsc- これで
QEMU_EFI.fdを作成
# gnu-efiをbuild
- gnu-efiをダウンロード(ver3.0.12)
https://sourceforge.net/projects/gnu-efi/files/?source=navbar - cd gnu-efi-3.0.12
make CROSS_COMPILE=arm-linux-gnueabihf-- appsをbuild
make CROSS_COMPILE=arm-linux-gnueabihf- appscp -r arm /tmp/build
# 起動
- dockerから抜けて
cd buildで移動して- QEMUで起動
qemu-system-arm -m 128 -M virt -bios ./QEMU_EFI.fd -serial stdio -hda fat:rw:arm/apps- qemuのshellで
fs0:でデバイスに移動して t.efiでHelloWorldが出力