2010年8月12日 星期四

建立EDK模擬環境與範例HelloWorld編譯

首先先下載EDK,其次下載EFI Shell,最後再到EDK Apps下載HelloWorld範例檔。

一、解壓縮EDK至C:\根目錄底下。

二、開啟剛下載的EFI Shell,將Shell目錄底下的檔案全部解壓縮至C:\EDK\Other\Maintained\Application\UefiShell\中。


三、再來一樣把HelloWorld解壓縮至此。

四、開啟Sample\Platform\Nt32\Build\Nt32.dsc,找到[Libraries.Platform]這個區塊,
在下面加入Other\Maintained\Application\UefiShell\Library\EfiShellLib.inf;再來找到[Components]區塊,在DEFINE FV=FvRecovery後面添加Other\Maintained\Application\UefiShell\HelloWorld\HelloWorld.inf FV=NULL,之後存檔即可。


編譯前依照您的Visual Studio版本修改Sample\Platform\Nt32\Build\Config.env,找到USE_VC8,只要您是2005(含以上版本)就改為YES。

打開【Visual Studio 命令提示字元】,進入到Sample\Platform\Nt32目錄底下,鍵入SET EDK_SOURCE=C:\EDK,完成後再輸入build編譯即可。

編譯完成後,先執行uefi底下的System.cmd設定好環境變數,最後可到IA32底下執行secmain.exe,這個就是Shell的模擬環境,相同的地方底下也有個剛剛一同建置好的HelloWorld.efi,可在Shell中執行他,預設是放在fsnt0(f9)裝置。

======================================================================

而起始Loading部分的Logo圖檔更換方式有兩種:
一、直接到Sample\Platform\Generic\Logo底下將logo.bmp換掉,再重新編譯一次。

二、開啟Sample\Platform\Nt32\Build\Nt32.dsc到Sample\Platform\Generic\Logo\Logo.inf這一行,修改為Sample\Platform\Generic\Logo\Logo.inf SOURCE_OVERRIDE_PATH=您自己的logo.bmp目錄(不含檔名)。

1 則留言:

  1. 您好:請問我編譯完成後,並無產生IA32是因為?

    回覆刪除