2012年8月10日 星期五

EDK 環境建立 --- method(1)


環境建立如下

1.使用環境

        Windows 7 Ultimate X32

        Microsoft Visual Studio 2010

2.建置前準備

        2.1 下載EEDK : Edk 1.06.zip (11.7MB)

        2.2 下載EFI Shell : EfiShell 1.06.zip (887.0KB)

        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環境建立成功



按照上面這些步驟做下來,在執行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環境建置

沒有留言:

張貼留言