名词相关
EDK2: Intel发起的UEFI开发环境
OVMF: 基于EDK2的开源虚拟机UEFI固件
seaBios: 基于传统BIOS的开源虚拟机固件
tianocore:EDK2 的社区
相关网站
tiancore: http://www.tianocore.org/edk2/
EDK2源码: https://github.com/tianocore/edk2
seaBios源码: git://git.seabios.org/seabios.git
相关参考
https://www.seabios.org/Build_overview
https://fossies.org/linux/qemu/roms/seabios/src/Kconfig
https://access.redhat.com/sites/default/files/attachments/ovmf-whtepaper-031815.pdf
默认的virtual-manager没有安装及打开虚拟机的UEFI支持,其解决方式有二:
一、安装发行版提供的OVMF套件
二、自编译并启用该启动固件
编译依赖 nasm bison flex uuid-dev
编译该固件,则只需要下载EDK2源码,手动修改Conf/target.txt
target.txt主要说明:
ACTIVE_PLATFORM = Nt32Pkg/Nt32Pkg.dsc(目标平台描述)
TARGET = RELEASE (RELEASE or DEBUG)
TARGET_ARCH = Ia32 X64 (目标平台)
TOOL_CHAIN_TAG = GCC48(编译工具)
也可以使用 build -a (IA32 X64) -p (OvmfPkg/OvmfPkgIa32.dsc | OvmfPkg/OvmfPkgIa32X64.dsc |OvmfPkg/OvmfPkgX64.dsc) -t (GCCxx | VS2008) -D (CSM_ENABLE=TRUE,很少用到CSM的模块,需要先编译seaBios获取Csm16.bin)直接指定
编译带CSM支持的,则需要另外获取seaBios代码编译出Csm16.bin
主要命令
seaBios
cd seaBios
make menuconfig (target需要选CSM)
make
cp out/Csm16.bin EDK2/Ovmf/Csm/Csm16/
EDK2
cd EDK2 && source edksetup.sh
cd BaseTools && make
build
cp Build/OvmfXXX/FVRELEASE_GCCxx/FV/{OVMF,OVMF_CODE,OVMF_VARS}.fd TARGET
没有评论:
发表评论