關於部落格
研究所升學、程式語言資訊、C/C++、Python、Perl、Shell、MySQL、PHP、CSS、VBA、JavaScript
  • 80498

    累積人氣

  • 0

    今日人氣

    0

    訂閱人氣

Build EFI Shell on USB

EFI Shell 環境建立資訊如下
 
1. 操作環境
 
        Windows xp professional
 
        Microsoft Visual Studio 2008
 
        EDK Shell環境可參考前面文章

                EDK 環境建立 --- method(1)
 
                EDK 環境建立 --- method(2)
 
2. 其他需要軟體

        WDK (GRMWDK_EN_7600_1.ISO)

        MASM611 (組合語言編譯器)

        在網路下載其他不同來源的MASM611時,需注意MASM611需要有BIN、BINR兩個資料夾,且BIN中要有ML.EXE、BINR中要有LINK.EXE
 
        MASM611下載解壓縮後至C: 跟目錄底下

3. 檔案參數設定 
 
        3.1 進入<EdkRoot>SamplePlatformDUETBuild資料夾進行檔案參數修改
 
                3.1.1開啟Config.env (使用Visual Studio 2005含以上版本,才需進行此步驟,其餘版本略過此步驟)
                        USE_VC8 = NO 改為 USE_VC8 = YES
 
                        USE_VC8_X64 = NO改為USE_VC8_X64 = YES

                3.1.2 開啟DUET.dsc
 
                        找到 #OtherMaintainedApplicationUefiShellbinShell.inf  FV=NULL
 
                        將 "#" 移至FV=NULL前面
 
                        OtherMaintainedApplicationUefiShellbinShell.inf  #FV=NULL

        3.2 切換資料夾至C:EDKSample
 
                開啟CommonTools.env (修改這部分的原因是 步驟4.6 set MASMPATH=C:MASM611在Build DUET時,仍會因為找不到正確路徑而發生錯誤,所以需要調整)
 
                找到第一次收尋到 !IF "$(EFI_ASSEMBLER_NAME)" == "" 
         
                將 ‘==’ 改成 ‘ !=’  變為 !IF "$(EFI_ASSEMBLER_NAME)" != ""

4. 開始建立EFI Shell到USB

        4.1開啟Visual Studio 2008 命令提示字元,切換目錄到C:EDKSamplePlatformDUET

        4.2 VC 環境變數批次檔

                call "C:Program FilesMicrosoft Visual Studio 9.0VCbinvcvars32.bat"  

        4.3 設定EDK資料夾來源
 
                set EDK_SOURCE=C:EDK
 
        4.4 設定工具來源
 
                set EDK_TOOLS_PATH=C:EDKOtherMaintainedApplicationUefiShell
 
                如果沒有加入這行不影響,因為會使用預設路徑
        
                        C:EDKSamplePlatformDUET>nmake uefi32clean
 
        4.5 設定WDK路徑
 
                set WIN_DDK_PATH=C:WinDDK7600.16385.1
 
        4.6 設定組合語言編譯路徑來源
 
                set MASMPATH=C:MASM611
 
                如果沒有設定,MASMPATH預設的名稱為c:masm611
 
        4.7 設定USB disk來源
 
                set EFI_BOOT_DISK= <UFD>:
 
                如set EFI_BOOT_DISK= F:

        4.8 EDK 可以產生以下4種環境,參考下表的Variable  name來決定所要建立的EFI shell環境模組

Build Configuration

Variable  name

EFI1.10 IA32

efi32

EFI1.10 X64

efi64

UEFI IA32

uefi32

UEFI X64

uefi64

                
                4.8.1 輸入nmake uefi32進行EFI Shell環境編譯
               
                4.8.2 uefi32 EFI shell環境模組編譯完成

        4.9 進入uefi32目錄中準備將系統放進USB 隨身碟中,輸入以下指令即可將系統放進USB                
               

Disk Format

Command

FAT/FAT16

nmake createusb

nmake usb

FAT32

nmake createusb32

nmake usb32


                4.9.1 nmake createusb32 (注意此步驟會將USB格式化,所以USB中有資料請先自行備份)

                4.9.2 nmake usb32

5. 移除USB隨身碟,至別台電腦開機選UEFI開機即見到EFI Shell畫面


參考資料

1. Creating an EFI DUET USB Stick

2. Intel EDK Build

3. Build EFI shell to USB boot disk

4. EFI shell & USB boot disk


相簿設定
標籤設定
相簿狀態