- GCC 10.x required for building EDK2(stable/202011)
git clone --recurse-submodules https://github.com/LeftarCode/bubelos
cd externals/edk2
source edksetup.sh
make -C BaseTools
cd -
You may use your own pre-built OVMF image. If not, it's worth building a image with EDK2.
./externals/edk2/OvmfPkg/build.sh -a X64 -t GCC5 -b RELEASE -D PKG_OUTPUT_DIR=$PKG_OUTPUT_DIR
./build.sh
- Spawn UEFI shell:
qemu-system-x86_64 -cpu qemu64 -net none -m 2G -machine q35 -drive if=pflash,format=raw,unit=0,file=./externals/edk2/Build/OvmfX64/RELEASE_GCC5/FV/OVMF_CODE.fd,readonly=on -drive if=pflash,format=raw,unit=1,file=./externals/edk2/Build/OvmfX64/RELEASE_GCC5/FV/OVMF_VARS.fd -drive file=./build/uefi.img,if=ide
- Single OVMF image:
qemu-system-x86_64 -cpu qemu64 -net none -m 4G -machine q35 -bios ./externals/edk2/Build/OvmfX64/RELEASE_GCC5/FV/OVMF.fd -drive file=./build/uefi.img,if=ide
- Migrate to newer EDK2.
- Fix style (debug prints, passing and returning params).
- Add status print to every error message.
- Make more GC in Bootloader.