iT邦幫忙

2023 iThome 鐵人賽

DAY 7
1
SideProject30

世界第一簡單的UEFI,實作打造自己的開機畫面系列 第 7

【Day 7】UEFI安裝環境—附圖保證安裝到好!(下)

  • 分享至 

  • xImage
  •  

嗨我是k66,呈上篇繼續安裝edk2與QEMU環境。下一篇就會進入程式碼了,你們不繼續看我會哭喔!


只需要設定一次的edk2與QEMU!

  • 設定edk2
  1. edk2設定2處: target.txt與k66run1.bat, 資料夾目錄如下:
C:\edk2space\edk2\
  |-k66run1.bat
  |-edk2setup.bat
  |-build
  |-Conf\target.txt
  |-Build\
  1. 設定target.txt
ACTIVE_PLATFORM       = EmulatorPkg/EmulatorPkg.dsc # 先試EmulatorPkg,可以編譯後改成OvmfPkg/OvmfPkgX64.dsc
TARGET                = DEBUG
TARGET_ARCH           = X64
TOOL_CHAIN_TAG        = VS2019 # Windows是VS2019,Linux是GCC
  1. 設定k66run1.bat(edk2 workspace)
chcp 65001
set WORKSPACE=C:\edk2space\edk2
set PYTHON_HOME=C:\Python311
set NASM_PREFIX=C:\NASM\
set CLANG_HOST_BIN=n
set CLANG_BIN=C:\NASM\
set CYGWIN_HOME=%WORKSPACE%\BaseTools\Bin\CYGWIN_NT-5.1-i686
set EDK_TOOLS_PATH=%WORKSPACE%\BaseTools
set CONF_PATH=%WORKSPACE%\Conf
  1. 待edk2的target.txt與k66run1.bat建好後,依序執行三個指令,即可成功build第一支範例程式MdeModulePkg.c,成功會顯示Done。
k66run1.bat               // 先設定edk2環境
edksetup.bat rebuild      // prebuild的概念,缺什麼就看這指令, 它會報錯顯示缺什麼
build                     // 上一行沒報錯就執行build建置target, 成功會秀done字樣, build成功就能在C:\edk2space\edk2\Build\EmulatorX64\DEBUG_VS2019\X64\找到各種efi,其中我們先以UiApp.efi為例。
  • 設定QEMU
  1. 將OVMF.fd放至C:\QEMU(C:\edk2space\edk2\Build\OvmfX64\RELEASE_VS2019\FV\OVMF.fd)

  2. 設定k66run2.bat(QEMU workspace)

C:\QUEMU\
  |-Test\
  |-k66run2.bat

k66run2.bat

 .\qemu-system-x86_64.exe -bios "OVMF.fd" -hda fat:rw:C:\QEMU\Test -net none
  1. 將edk2編好的efi(C:\edk2space\edk2\Build\EmulatorX64\DEBUG_VS2019\X64\找到),放至C:\QUEMU\Test\內,輸入指令:
k66run2.bat               // 即可進入QEMU畫面,並執行:
fs0:                      // 從Shell進入fs0:,並執行:
ls                        // 顯示目錄頰下所有檔案
UiApp.efi          // 執行這支UiApp.efi會出現畫面如下

https://ithelp.ithome.com.tw/upload/images/20230913/20161828KeN6SYVP6v.png
https://ithelp.ithome.com.tw/upload/images/20230913/20161828dzEkN5szlc.png


恭喜完成繁瑣安裝流程!下一篇進入程式碼!


自我挑戰1

請試著將其他EmulatorX64內的efi放至C:\QEMU\Test\,觀察結果。
某些efi被執行後會出現This is not an application,想想看為什麼?


上一篇
【Day 6】UEFI安裝環境—附圖保證安裝到好!(上)
下一篇
【Day 8】最簡單的UEFI程式—UEFI_APPICATION的UefiMain!
系列文
世界第一簡單的UEFI,實作打造自己的開機畫面31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言