# 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 edk2
edk2に移動しmake -C BaseTools
source edksetup.sh
export 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- apps
cp -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が出力