配置:
win8.1 x64 + VS2013 + UDK2015
這裡略過初步的EDK源碼編譯配置過程,在下載下傳的UDK2015中有UDK2015-ReleaseNotes-MyWorkSpace.txt教如何搭建環境,照做完全沒有問題。
下面參考了某份老外教程,但找不到源頭了,還是注明轉載。
1,按EDK推薦,相應的子子產品放到相應的檔案夾中,是以建立檔案夾hello,裡面放入hello.c和hello.inf,結構如下:
“C:\MyWorkSpace\MdeModulePkg\Application\hello\hello.c”
“C:\MyWorkSpace\MdeModulePkg\Application\hello\hello.inf”
2,記事本打開”C:\MyWorkSpace\Nt32Pkg\Nt32Pkg.dsc”,在 [Components] 下,加入一句:
MdeModulePkg/Application/hello/hello.inf
//相當于Visual_studio在sln中加入一個proj.
3,hello.c的代碼如下:
#include <Library/UefiApplicationEntryPoint.h>
#include <Library/UefiLib.h>
EFI_STATUS
EFIAPI
UefiMain
(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
{
SystemTable->ConOut->OutputString(SystemTable->ConOut, L"Hello World\r\n"); // Body
return EFI_SUCCESS;
}
4,hello.inf的代碼如下:
[Defines]
INF_VERSION =
BASE_NAME = Hello
FILE_GUID = f58693-cba-ddf-a204-f10a7dd01fae
MODULE_TYPE = UEFI_APPLICATION
VERSION_STRING =
ENTRY_POINT = UefiMain
[Sources]
Hello.c
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
[LibraryClasses]
UefiApplicationEntryPoint
UefiLib
[GUIDS]
[Protocols]
//進入指令行:
cd C:\MyWorkSpace
//運作批處理以設定環境:
edksetup.bat
//編譯
build –p Nt32 Pkg\Nt32Pkg.dsc –a IA32 -m MdeModulePkg\Application\Hello\Hello.inf
//生成的檔案在MyWorkSpace\Build\NT32IA32\DEBUG_VS2013x86_IA32下。
Build run //運作模拟器
Fs0: //這個目錄即生成檔案的目錄
dir h*
hello.efi //運作
//結果:
