OVMF基础
什么是OVMF
The Open Virtual Machine Firmware (OVMF) project aims?to support firmware for Virtual Machines using the edk2?code base. ?More information can be found at:
http://www.tianocore.org/ovmf/
OVMF可以在如下的網(wǎng)站下載:
https://github.com/tianocore/edk2
下載到的是一個edk2的完全版本,其中的OvmfPkg可以用來生成OVMF二進(jìn)制。
?
OVMF編譯
Ubuntu下的編譯:
為了能夠順利編譯,需要有以下的幾個操作:
1. 進(jìn)入BaseTools,生成編譯工具,使用命令:make;
2. 下載nasm和iasl,使用命令:apt install nasm iasl;
之后返回主目錄,使用下面的命令進(jìn)行編譯:
?
[plain]?view plain?copy編譯后的文件可以在Build目錄下找到。
Windows下的編譯:
首先需要安裝VS,可以使用Visual Studio Community 2015,它有免費(fèi)的版本就可以編譯UEFI。
安裝Community的時候需要注意安裝的過程中需要添加如下的配置,否則編譯UEFI時會報錯:
?
其它還需要安裝ASL和nasm編譯器,這就是兩個exe,不過需要放置到正確的位置(位置由Conf下的tools_def.txt決定)。
另外,在GitHub上下載的代碼沒有提供Windows下的UEFI需要使用的工具(就是Linux里用make編譯出來的),需要自己下載。
https://code.csdn.net/jiangwei0512/edk2-udk2017.git中有以上的Windows工具和ASL、nasm等,可以直接拿來用。
需要將ASL放到C目錄下。(也可以不換,不過需要修改Conf下的tools_def.txt文件,比較麻煩)
編譯的時候打開Windows Shell,然后進(jìn)入UEFI目錄,運(yùn)行Edk2Setup.bat,然后執(zhí)行Build就可以編譯OVMF了。
?
OVMF運(yùn)行
這里使用QEMU來運(yùn)行OVMF。
所以首先需要下載QEMU:apt install qemu
之后就可以運(yùn)行了:
?
[plain]?view plain?copy下面是運(yùn)行的結(jié)果:
?
?
這里有個問題,就是沒有UEFI的打印,為了能夠有打印,首先需要添加編譯選項(xiàng)并重新生成二進(jìn)制:
?
[plain]?view plain?copy然后在使用qemu運(yùn)行時,需要加入新的參數(shù):
?
?
[plain]?view plain?copy轉(zhuǎn)載于:https://www.cnblogs.com/klb561/p/8921920.html
總結(jié)
- 上一篇: redhat 安装Rabbitmq
- 下一篇: 利用var_export 写缓存配置