mirror of
				https://git.proxmox.com/git/mirror_edk2
				synced 2025-11-04 07:10:07 +00:00 
			
		
		
		
	git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5988 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			167 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			167 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Intel(R) Platform Innovation Framework for EFI
 | 
						|
EFI Development Kit II (EDK II)
 | 
						|
Root Package 1.00
 | 
						|
2008-05-22
 | 
						|
 | 
						|
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 - 2008, Intel Corporation  All rights reserved.
 | 
						|
 | 
						|
EDK II packages are in the development phase. They consist of:
 | 
						|
 | 
						|
  BuildNotes2.txt         - The build notes for this package
 | 
						|
  BaseTools               - Build -specific tools that are designed to help the
 | 
						|
                            developer create and modify drivers and libraries
 | 
						|
  DuetPkg                 - UEFI 2.1.PI 1.0 boot image creation platform
 | 
						|
  EdkShellBinPkg          - Binaries of full shell, minimum shell and commands
 | 
						|
  FatBinPkg               - Binaries built from the FatPkg 
 | 
						|
  IntelFrameworkPkg       - Tiano/Framework Includes and Libraries
 | 
						|
  IntelFrameworkModulePKg - Tiano/Framework Includes and Libraries
 | 
						|
  MdeModulePkg            - UEFI 2.1/PI 1.0 compliant modules
 | 
						|
  MdePkg                  - Industry-standard headers and libraries
 | 
						|
  Nt32Pkg                 - UEFI 2.1/PI 1.0 emulation environment for Windows
 | 
						|
  OptionRomPkg            - UEFI 2.1 peripheral drivers
 | 
						|
  UnixPkg                 - UEFI 2.1/PI 1.0 emulation environment for Unix
 | 
						|
 | 
						|
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
The most recent version of the setup instructions is available on the EDK II
 | 
						|
web-site:
 | 
						|
  https://edk2.tianocore.org/installation.html
 | 
						|
 | 
						|
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
Quick Start (Windows Development Platform)
 | 
						|
-----------
 | 
						|
 | 
						|
In a command prompt window, change to the top-level directory of the EDK II 
 | 
						|
source.
 | 
						|
 | 
						|
Note:
 | 
						|
  The first time the edksetup script is executed, it creates three files in the
 | 
						|
  %WORKSPACE%\Conf directory. The files: tools_def.txt, target.txt and
 | 
						|
  build_rule.txt, are only created if they do not exist, if they exist, they
 | 
						|
  are not touched.
 | 
						|
 | 
						|
First, set up your project workspace. If you have previously initialized this
 | 
						|
WORKSPACE, and a newer version of the *.template files in
 | 
						|
WORKSPACE\BaseTools\Conf exists, remove the *.txt files in the WORKSPACE\Conf
 | 
						|
directory prior to running the edksetup script.
 | 
						|
 | 
						|
For the reference build of the Nt32 Platform emulation environment, use the 
 | 
						|
edksetup.bat option: --nt32. For building other platforms or modules, this
 | 
						|
option is not required, as Visual Studio standard includes, libraries and/or
 | 
						|
dlls are not required for normal development.
 | 
						|
 | 
						|
    c:\MyWork\edk2\> edksetup --nt32
 | 
						|
 | 
						|
The default tool chain (named MYTOOLS) is pre-configured to use VS2005 for IA32
 | 
						|
and X64 target architectures and the DDK for IPF target architectures. To use a
 | 
						|
different tool chain, either modify the tools_def.txt file's MYTOOLS entries,
 | 
						|
or modify the %WORKSPACE%\Conf\target.txt file's TOOL_CHAIN_TAG. The pre-defined
 | 
						|
tags are listed near the top of the %WORKSPACE%\Conf\tools_def.txt file, below
 | 
						|
the Supported Tool Chains comment.
 | 
						|
Alternatively, you may use the build command's -t option to specify a different
 | 
						|
tool chain tag name: build -t VS2003 ... , for example.  Using this method will
 | 
						|
require that you always use the build command's -t option.
 | 
						|
 | 
						|
 | 
						|
Next, go to the module directory and begin to build.  This example is for the
 | 
						|
HelloWorld application.
 | 
						|
 | 
						|
    c:\MyWork\edk2\> cd MdeModulePkg\Application\HelloWorld
 | 
						|
    c:\MyWork\edk2\> build
 | 
						|
 | 
						|
If you want to build the a module in another package (for example, 
 | 
						|
MdePkg\Library\BaseLib\BaseLib.inf), please edit the file,
 | 
						|
%WORKSPACE%\Conf\Target.txt, first.
 | 
						|
 | 
						|
Change the following line
 | 
						|
    ACTIVE_PLATFORM       = MdeModulePkg/MdeModulePkg.dsc
 | 
						|
to
 | 
						|
    ACTIVE_PLATFORM       = MdePkg/MdePkg.dsc
 | 
						|
 | 
						|
Then go to MdePkg\Library\BaseLib directory and type 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".
 | 
						|
The "-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:
 | 
						|
  The Windows style help option "/?" is not a valid option for the build
 | 
						|
  command.
 | 
						|
 | 
						|
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
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 the
 | 
						|
            generated Makefile files (top level and module makefiles)
 | 
						|
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
 | 
						|
 | 
						|
  "build.py" steps:
 | 
						|
    1. Run "edksetup.bat"
 | 
						|
    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.
 | 
						|
 | 
						|
* 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 conversion tools is called
 | 
						|
  cx_Freeze, available at: 
 | 
						|
 | 
						|
    http://sourceforge.net/projects/cx-freeze/
 | 
						|
 | 
						|
  If you have installed cx_Freeze at c:\cx_Freeze-3.0.3. Use the following
 | 
						|
  command lines to convert MyBuild.py to a Windows executable.
 | 
						|
 | 
						|
    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.
 | 
						|
 |