BIOS/UEFI技术

参考

Tianocore

编译

Ubuntu20.04

编译错误解决

  • X64/LongJump.iii:49: error: parser: instruction expected
    解决:
wget http://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2
tar xfj nasm-2.15.05.tar.bz2
cd nasm-2.15.05/
./autogen.sh
./configure --prefix=/usr/local/ 
make
sudo make install
  • x11/extensions/XShm.h: No such file or directory 问题解决
    解决:
sudo apt-get install x11proto-xext-dev
sudo apt-get install libxext-dev
  • X11/Xlib.h:没有该文件或目录
    解决:
sudo apt -get install libx11-dev
  • 编译生成可以通过qemu启动的镜像
git submodule update --init

make -C BaseTools

OvmfPkg/build.sh -a X64

OvmfPkg/build.sh -a X64 qemu

日志:

$ ./OvmfPkg/build.sh -a X64 qemu
Building from: /home/pengdl/work/Qemu/x86/uefi/edk2
using prebuilt tools
Running: qemu-system-x86_64 -drive if=pflash,format=raw,file=/home/pengdl/work/Qemu/x86/uefi/edk2/Build/OvmfX64/DEBUG_GCC5/QEMU/bios.bin -nic none
VNC server running on 127.0.0.1:5900

可以使用vncviewer登录:

sudo apt install xvnc4viewer
xvncviewer :0

可以看到如下界面:
image

posted @ 2022-08-24 09:50  dolinux  阅读(196)  评论(0编辑  收藏  举报