BIOS綜合包裏的EDK開發環境shell
解壓BIOS 綜合包裏的UDK20120.SR1.UP1.P1.MyWorkSpace,解壓BaseTools(Windows)。把BaseTools(Windows)文件夾裏面的BaseTools文件夾放到C盤根目錄;打開UDK20120.SR1.UP1.P1.MyWorkSpace文件夾裏的MyWorkSpace,把這個文件夾裏的內容放到C:\BaseTools文件夾裏面;把從BaseTools(Windows)解壓的edksetup.bat放到C:\BaseTools文件夾裏面。
在windows cmd中運行C:\BaseTools\deksetup.bat,命令運行完後會在C:\BaseTools\Conf目錄中生成target.txt和tools_def.txt配置文件。windows
修改C:\BaseTools\Conf\target.txt文件:
ACTIVE_PLATFORM = Nt32Pkg/Nt32Pkg.dsc
TARGET = DEBUG
TARGET_ARCH = x64 IA32
TOOL_CHAIN_CONF = Conf/tools_def.txt
TOOL_CHAIN_TAG = VS2010x86
MAX_CONCURRENT_THREAD_NUMBER = 1
BUILD_RULE_CONF = Conf/build_rule.txt
修改C:\BaseTools\Conf\tools_def.txt文件:
DEFINE WINSDK_VERSION = v7.0A測試
打開VS2010中的VS命令提示(2010),如圖2.1所示。
圖2.1 VS2010中的VS命令提示(2010)
在VS命令提示(2010)中輸入如下命令:
C:>cd BaseTools
C:\BaseTools>edksetup.bat,如圖2.2所示。
圖2.2 運行edksetup.bat
C:\BaseTools>build,如圖2.3所示。
圖2.3 編譯生成UEFI SHELL
大概2分鐘後編譯完成,如圖2.4所示。
圖2.4 編譯生成UEFI SHELL
完成後在C:\BaseTools\Build\NT32\DEBUG_VS2010x86\IA32目錄中生成SecMain.exe,打開這個可執行文件就會出現uefi shell。
環境搭建完畢。ui
在C:\BaseTools\Conf\target.txt文件中,修改
*ACTIVE_PLATFORM = MdeModulePkg/MdeModulePkg.dsc
其它選項保持環境搭建時的設置不變。3d
註釋C:\BaseTools\MdeModulePkg\Application\Hell oWorld\HelloWorld.c源文件中關於「UEFI HelloWorld !」字符串的輸出,添加「liangshihaoS201607097」字符串的輸出語句,保存退出。如圖2.5所示。
圖2.5 修改HelloWorld.cblog
打開VS2010中的VS命令提示(2010),輸入如下命令:
C:>cd BaseTools
C:\BaseTools>edksetup.bat,如圖2.6所示。
圖2.6 運行edksetup.bat
C:\BaseTools>build,如圖2.7所示。
圖2.7 編譯源文件
大概2分鐘後編譯完成,如圖2.8所示。
圖2.8 編譯完成
在C:\BaseTools\Build\MdeModule\DEBUG_VS2010x86\IA32目錄生成HelloWorld.efi文件。開發
在UEFI Shell中依次輸入:
Shell> fsnt0:
fsnt0:>HelloWorld.efi,運行結果如圖2.9所示。
圖2.9 運行HelloWorld.c字符串