環境建立如下
1.使用環境
1.使用環境
Windows 7 Ultimate X32
Microsoft Visual Studio 2010
2.建置前準備
2.2 下載EFI Shell : EfiShell 1.06.zip (887.0KB)
2.3下載HelloWorld範例檔,選擇"Docs and files"連結下載HelloWorld.zip (1.8KB)
3. 解壓縮
2.3下載HelloWorld範例檔,選擇"Docs and files"連結下載HelloWorld.zip (1.8KB)
3. 解壓縮
3.1 將EDK 1.06.zip解壓縮到C:\根目錄底下。
3.2 將EfiShell 1.06.zip解壓縮到C:\EDK\Other\Maintained\Application\UefiShell
注意:EfiShell1.06.zip本身是由Shell資料夾打包,這邊是要將Shell中的所有東西放到UefiShell中,以避免預期外的錯誤。
3.3將HelloWorld.zip一樣解壓縮到C:\EDK\Other\Maintained\Application\UefiShell底下
4. 參數修改
4.1 開啟C:\EDK\Sample\Platform\Nt32\Build\Nt32.dsc
4.1.1 尋找[Libraries.Platform]的區塊
在下面加入Other\Maintained\Application\UefiShell\Library\EfiShellLib.inf
4.1.2尋找[Components]的區塊
在下面加入Other\Maintained\Application\UefiShell\HelloWorld\HelloWorld.inf FV=NULL
注意:此行路徑需放在DEFINE FV=FvRecovery之後
4.1.3存檔
4.2使用Visual Studio 2005(含以上版本)才需進行此步驟,其餘版本略過此步驟
開啟C:\EDK\Sample\Platform\Nt32\Build\Config.env
將USE_VC8的參數修改為YES
5. 編譯環境
5.1 打開【Visual Studio 命令提示字元】
5.2 進入Sample\Platform\Nt32目錄底下 5.3鍵入SET EDK_SOURCE=C:\EDK
5.4 鍵入Build
5.5 編譯Nt32 Platform 完成
5.6 當成功編譯完成後會在C:\EDK\Sample\Platform\Nt32多一個uefi資料夾,而且在uefi資料夾中包函IA32的資料夾,而IA32資料夾也會要有secmain.exe才能跑UEFI模擬器
6. 執行C:\EDK\Sample\Platform\Nt32\uefi\System.cmd
7. 執行C:\EDK\Sample\Platform\Nt32\uefi\IA32\secmain.exe 開啟EFI Shell的模擬環境視窗
8. EFI Shell 模擬器初始化中
9. EFI Shell 模擬器開啟,表示EDK環境建立成功8. EFI Shell 模擬器初始化中
按照上面這些步驟做下來,在執行secmain.exe時視窗應該會跳出兩個
要如何修改成一個?
1. 開啟System.cmd
2. 找到以下兩行做修改
set EFI_WIN_NT_GOP=Graphics Output Window 1!Graphics Output Window 2
set EFI_WIN_NT_UGA=UGA Window 1!UGA Window 2
3. 將驚嘆號後的字拿掉
set EFI_WIN_NT_GOP=Graphics Output Window 1
set EFI_WIN_NT_UGA=UGA Window 1
修改完畢後就會剩一個視窗了
4. 再一次執行下面兩行C:\EDK\Sample\Platform\Nt32\uefi\System.cmd
C:\EDK\Sample\Platform\Nt32\uefi\IA32\secmain.exe
資料來源 : EDK II環境建置
沒有留言:
張貼留言