Intel(R) Platform Innovation Framework for EFI | |
EFI Development Kit II Prime (EDK II Prime) | |
Root Package 1.00 | |
2007-06-25 | |
Intel is a trademark or registered trademark of Intel Corporation or its | |
subsidiaries in the United States and other countries. | |
* Other names and brands may be claimed as the property of others. | |
Copyright (c) 2007, Intel Corporation | |
EDK II Prime packages are in the development phase. They consist of: | |
BuildNotes2.txt - The build notes for this package | |
MdePkg - Industry-standard headers and libraries | |
BaseTools - Build -specific tools that are designed to help the | |
developer create and modify drivers and libraries | |
IntelFrameworkPkg - Tiano/Framework Includes and Libraries | |
MdeModulePkg - UEFI 2.1/PI 1.0 compliant modules | |
IntelFrameworkModulePKg - Tiano/Framework Includes and Libraries | |
Nt32Pkg - UEFI 2.1/PI 1.0 emulation environment for Windows | |
FatBinPkg - Binaries built from the FatPkg | |
EdkShellBinPkg - Binaries of full shell, minimum shell and commonds(to be added) | |
Note: | |
EdkShellBinPkg is supported to support both EDK II build and EDKII Prime build by having several module description files. | |
------------------------------------------------------------------------------- | |
Quick Start | |
----------- | |
In a command window, change to the top-level directory of the EDK II source. | |
First, set up your workspace. If you have had a setup, please make sure that | |
you don't have newer *.template in WORKSPACE\BaseTools\Conf. Otherwise remove | |
*.txt files in WORKSPACE\Conf in advance. | |
c:\MyWork\edk2\> edksetup newbuild | |
Second, go to the module directory (For example, MdeModulePkg\Application\HelloWorld), | |
and then begin to build | |
c:\MyWork\edk2\> cd MdeModulePkg\Application\HelloWorld | |
c:\MyWork\edk2\> build | |
If you want to build the modules in other packages | |
(For example, MdePkg\Library\BaseLib\BaseLib.inf), please edit open the <WORKSPACE>\Conf\Target.txt first, | |
change the following line | |
ACTIVE_PLATFORM = MdeModulePkg/MdeModulePkg.dsc | |
to | |
ACTIVE_PLATFORM = MdePkg/MdePkg.dsc | |
and then go to MdePkg\Library\BaseLib directory and build | |
c:\MyWork\edk2\> cd MdePkg\Library\BaseLib | |
c:\MyWork\edk2\> build | |
If you want build a platform, ACTIVE_PLATFORM must be set to your desired platform dsc file, | |
go to directory which must be not a module's directory, and run "build" command. | |
Instead of changing Target.txt, you can specify platform, module and/or architecture on command line. | |
For example, if you want to build NT32 platform, you can just type | |
c:\MyWork\edk2\> build -p Nt32Pkg\Nt32Pkg.dsc -a IA32 | |
and if you want to build HelloWorld module, you can just type | |
c:\MyWork\edk2\> build -p Nt32Pkg\Nt32Pkg.dsc -a IA32 -m MdeModulePkg\Application\HelloWorld\HelloWorld.inf | |
Other helpful command line options of build tool include "-v" and "-d". "-v" option is used to turn on | |
the verbose build, which provide more information during the build. "-d <debug level 0-9>" option is used to | |
turn on the debug information which is helpful debugging build tools. | |
For more information on build options, please try "build -h" on command line. Note that "/?" is not working. | |
------------------------------------------------------------------------------- | |
Supported build targets | |
----------------------- | |
all - Build whole platform or module. It can be ignored. | |
genc - Generate AutoGen.c, AutoGen.h and <ModuleName>.depex files only. | |
genmake - Generate makefiles in addition to files generated by "genc" target. | |
clean - Clean intermediate files | |
cleanall - Clean all generated files and directories during build, except Makefile | |
cleanlib - Clean all generated files and directories during library build | |
run - Launch NT32 shell (only valid for NT32 platform) | |
------------------------------------------------------------------------------- | |
Tools in Python | |
--------------- | |
* Run buld tool written in Python from source | |
The build tool written in Python can be executed from its source directly as long as you | |
have the Python interpreter (version 2.5) installed. The source of Python code is locating at | |
https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python | |
where: | |
build/build.py - The entry tool of build tools | |
AutoGen/AutoGen.py - Generate AutoGen.c/.h and makefile only | |
"build.py" steps: | |
1. Run "edksetup.bat newbuild" | |
2. set PYTHONPATH to the local directory of above source (BaseTools/Source/Python) | |
3. Set ACTIVE_PLATFORM in WORKSPACE\Conf | |
4. Go to platform or module directory | |
5. Run "<python_interpreter.exe> <python_source_dir>/build/build.py" or "<python_source_dir>/build/build.py" | |
directly. | |
"AutoGen.py" steps: | |
1. Run "edksetup.bat newbuild" | |
2. set PYTHONPATH to the local directory of above source (BaseTools/Source/Python) | |
3. Set ACTIVE_PLATFORM in WORKSPACE\Conf | |
4. Run "<python_interpreter.exe> <python_source_dir>/AutoGen/AutoGen.py" or "<python_source_dir>/AutoGen/AutoGen.py" | |
* Convert Python source to exe file | |
The tools written in Python can be coverted into executable program which can be executed | |
without Python interpreter. One of the convertion tools is called cx_Freeze at | |
http://sourceforge.net/projects/cx-freeze/ | |
Suppose you have installed cx_Freeze at c:\cx_Freeze-3.0.3. Use following command line to convert MyBuild.py | |
set PYTHONPATH=<buildtools>\BaseTools\Source\Python | |
c:\cx_Freeze-3.0.3\FreezePython.exe --include-modules=encodings.cp437,encodings.gbk,encodings.utf_16,encodings.utf_8 --install-dir=.\mybuild MyBuild.py | |
The generated .exe files are put in "mybuild" subdirectory. | |