]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BuildNotes2.txt
UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmiStack" with PatchInstructionX86()
[mirror_edk2.git] / BuildNotes2.txt
index ffec64462ddc4f35e9ae33197dc38871ca19a040..45520536a25cff3561fe3320e81b610ad1716522 100644 (file)
 Intel(R) Platform Innovation Framework for EFI\r
-EFI Development Kit II Prime (EDK II Prime)\r
-Root Package 1.00\r
-2007-06-25\r
+EFI Development Kit II (EDK II)\r
+2011-12-14\r
 \r
 Intel is a trademark or registered trademark of Intel Corporation or its\r
 subsidiaries in the United States and other countries.\r
 * Other names and brands may be claimed as the property of others.\r
-Copyright (c) 2007, Intel Corporation\r
+Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.\r
 \r
-EDK II Prime packages are in the development phase. They consist of:\r
+EDK II packages can be gathered from the following address:\r
+  https://github.com/tianocore/edk2.git\r
 \r
-  BuildNotes2.txt         - The build notes for this package\r
-  MdePkg                  - Industry-standard headers and libraries\r
-  BaseTools               - Build -specific tools that are designed to help the\r
-                            developer create and modify drivers and libraries\r
-  IntelFrameworkPkg       - Tiano/Framework Includes and Libraries\r
-  MdeModulePkg            - UEFI 2.1/PI 1.0 compliant modules\r
-  IntelFrameworkModulePKg - Tiano/Framework Includes and Libraries\r
-  Nt32Pkg                 - UEFI 2.1/PI 1.0 emulation environment for Windows\r
-  FatBinPkg               - Binaries built from the FatPkg \r
-  EdkShellBinPkg          - Binaries of full shell, minimum shell and commonds(to be added)\r
+The detailed introduction of these packages can be found in each package\r
+description file. (The *.dec file under the package directory)\r
 \r
-Note:\r
-  EdkShellBinPkg is supported to support both EDK II build and EDKII Prime build by having several module description files.\r
 \r
 -------------------------------------------------------------------------------\r
-Quick Start\r
+The most recent version of the setup instructions is available on the EDK II\r
+web-site:\r
+  https://github.com/tianocore/tianocore.github.io/wiki/Getting%20Started%20with%20EDK%20II\r
+\r
+\r
+-------------------------------------------------------------------------------\r
+Quick Start (Windows Development Platform)\r
 -----------\r
 \r
-In a command window, change to the top-level directory of the EDK II source.\r
+In a command prompt window, change to the top-level directory of the EDK II \r
+source.\r
 \r
-First, set up your workspace. If you have had a setup, please make sure that\r
-you don't have newer *.template in WORKSPACE\BaseTools\Conf. Otherwise remove\r
-*.txt files in WORKSPACE\Conf in advance.\r
-    c:\MyWork\edk2\> edksetup newbuild\r
+Note:\r
+  The first time the edksetup script is executed, it creates three files in the\r
+  %WORKSPACE%\Conf directory. The files: tools_def.txt, target.txt and\r
+  build_rule.txt, are only created if they do not exist, if they exist, they\r
+  are not touched.\r
+\r
+First, set up your project workspace. If you have previously initialized this\r
+WORKSPACE, and a newer version of the *.template files in\r
+WORKSPACE\BaseTools\Conf exists, remove the *.txt files in the WORKSPACE\Conf\r
+directory prior to running the edksetup script.\r
+\r
+For the reference build of the Nt32 Platform emulation environment, use the \r
+edksetup.bat option: --nt32. For building other platforms or modules, this\r
+option is not required, as Visual Studio standard includes, libraries and/or\r
+dlls are not required for normal development.\r
+\r
+    c:\MyWork\edk2\> edksetup --nt32\r
+\r
+The default tool chain (named MYTOOLS) is pre-configured to use VS2008 for IA32\r
+and X64 target architectures and DDK3790 for IPF target architectures. To use a\r
+different tool chain, either modify the tools_def.txt file's MYTOOLS entries,\r
+or modify the %WORKSPACE%\Conf\target.txt file's TOOL_CHAIN_TAG. The pre-defined\r
+tags are listed near the top of the %WORKSPACE%\Conf\tools_def.txt file, below\r
+the Supported Tool Chains comment.\r
+Alternatively, you may use the build command's -t option to specify a different\r
+tool chain tag name: build -t VS2008 ... , for example.  Using this method will\r
+require that you always use the build command's -t option. If you use 64-bit \r
+Windows OS, you should use tool chain tag name with x86, such as VS2008x86.\r
+\r
+\r
+Next, go to the module directory and begin to build. This example is for the\r
+HelloWorld application.\r
 \r
-Second, go to the module directory (For example, MdeModulePkg\Application\HelloWorld),\r
-and then begin to build\r
     c:\MyWork\edk2\> cd MdeModulePkg\Application\HelloWorld\r
     c:\MyWork\edk2\> build\r
 \r
-If you want to build the modules in other packages\r
-(For example, MdePkg\Library\BaseLib\BaseLib.inf), please edit open the <WORKSPACE>\Conf\Target.txt first,\r
+If you want to build the a module in another package (for example, \r
+MdePkg\Library\BaseLib\BaseLib.inf), please edit the file\r
+%WORKSPACE%\Conf\Target.txt first.\r
 \r
-change the following line\r
+Change the following line\r
     ACTIVE_PLATFORM       = MdeModulePkg/MdeModulePkg.dsc\r
 to\r
     ACTIVE_PLATFORM       = MdePkg/MdePkg.dsc\r
 \r
-and then go to MdePkg\Library\BaseLib directory and build\r
+Then go to MdePkg\Library\BaseLib directory and type build:\r
     c:\MyWork\edk2\> cd MdePkg\Library\BaseLib\r
     c:\MyWork\edk2\> build\r
 \r
-If you want build a platform, ACTIVE_PLATFORM must be set to your desired platform dsc file,\r
-go to directory which must be not a module's directory, and run "build" command.\r
+If you want build a platform, ACTIVE_PLATFORM must be set to your desired\r
+platform dsc file, go to directory which must be not a module's directory, and\r
+run "build" command.\r
 \r
-Instead of changing Target.txt, you can specify platform, module and/or architecture on command line.\r
+Instead of changing Target.txt, you can specify platform, module and/or\r
+architecture on command line.\r
 For example, if you want to build NT32 platform, you can just type \r
 \r
-               c:\MyWork\edk2\> build -p Nt32Pkg\Nt32Pkg.dsc -a IA32\r
+    c:\MyWork\edk2\> build -p Nt32Pkg\Nt32Pkg.dsc -a IA32\r
 \r
 and if you want to build HelloWorld module, you can just type\r
 \r
-               c:\MyWork\edk2\> build -p Nt32Pkg\Nt32Pkg.dsc -a IA32 -m MdeModulePkg\Application\HelloWorld\HelloWorld.inf\r
+    c:\MyWork\edk2\> build -p Nt32Pkg\Nt32Pkg.dsc -a IA32 -m MdeModulePkg\Application\HelloWorld\HelloWorld.inf\r
 \r
-Other helpful command line options of build tool include "-v" and "-d". "-v" option is used to turn on\r
-the verbose build, which provide more information during the build. "-d <debug level 0-9>" option is used to\r
+Other helpful command line options of build tool include "-v" and "-d".\r
+The "-v" option is used to turn on the verbose build, which provide more\r
+information during the build. "-d <debug level 0-9>" option is used to\r
 turn on the debug information which is helpful debugging build tools.\r
 \r
-For more information on build options, please try "build -h" on command line. Note that "/?" is not working.\r
+For more information on build options, please try "build -h" on command line.\r
+\r
+Note:\r
+  The Windows style help option "/?" is not a valid option for the build\r
+  command.\r
 \r
 \r
 -------------------------------------------------------------------------------\r
@@ -79,7 +110,8 @@ all       - Build whole platform or module. It can be ignored.
 genc      - Generate AutoGen.c, AutoGen.h and <ModuleName>.depex files only.\r
 genmake   - Generate makefiles in addition to files generated by "genc" target.\r
 clean     - Clean intermediate files\r
-cleanall  - Clean all generated files and directories during build, except Makefile\r
+cleanall  - Clean all generated files and directories during build, except the\r
+            generated Makefile files (top level and module makefiles)\r
 cleanlib  - Clean all generated files and directories during library build\r
 run       - Launch NT32 shell (only valid for NT32 platform)\r
 \r
@@ -87,41 +119,36 @@ run       - Launch NT32 shell (only valid for NT32 platform)
 Tools in Python\r
 ---------------\r
 \r
-* Run buld tool written in Python from source\r
-  The build tool written in Python can be executed from its source directly as long as you\r
-have the Python interpreter (version 2.5) installed. The source of Python code is locating at\r
-\r
-               https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python\r
-\r
-       where:\r
+* Run build tool written in Python from source\r
+  It can be executed from its source directly as long as you have the Python\r
+  interpreter (version 2.5.4) installed. The source code is located at\r
+  WORKSPACE/BaseTools.\r
 \r
-               build/build.py      - The entry tool of build tools\r
-               AutoGen/AutoGen.py  - Generate AutoGen.c/.h and makefile only\r
+  where:\r
 \r
-       "build.py" steps:\r
-               1. Run "edksetup.bat newbuild"\r
-        2. set PYTHONPATH to the local directory of above source (BaseTools/Source/Python)\r
-               3. Set ACTIVE_PLATFORM in WORKSPACE\Conf\r
-               4. Go to platform or module directory\r
-               5. Run "<python_interpreter.exe> <python_source_dir>/build/build.py" or "<python_source_dir>/build/build.py"\r
-                  directly.\r
+    build/build.py      - The entry tool of build tools\r
 \r
-       "AutoGen.py" steps:\r
-               1. Run "edksetup.bat newbuild"\r
-        2. set PYTHONPATH to the local directory of above source (BaseTools/Source/Python)\r
-               3. Set ACTIVE_PLATFORM in WORKSPACE\Conf\r
-               4. Run "<python_interpreter.exe> <python_source_dir>/AutoGen/AutoGen.py" or "<python_source_dir>/AutoGen/AutoGen.py"\r
+  "build.py" steps:\r
+    1. Run "edksetup.bat"\r
+    2. set PYTHONPATH to the local directory of above source\r
+       (BaseTools/Source/Python)\r
+    3. Set ACTIVE_PLATFORM in WORKSPACE\Conf\r
+    4. Go to platform or module directory\r
+    5. Run "<python_interpreter.exe> <python_source_dir>/build/build.py" or\r
+       "<python_source_dir>/build/build.py" directly.\r
 \r
 * Convert Python source to exe file\r
-  The tools written in Python can be coverted into executable program which can be executed\r
-without Python interpreter. One of the convertion tools is called cx_Freeze at \r
+  The tools written in Python can be coverted into executable program which can\r
+  be executed without Python interpreter. One of the conversion tools is called\r
+  cx_Freeze, available at: \r
 \r
-               http://sourceforge.net/projects/cx-freeze/\r
+    http://sourceforge.net/projects/cx-freeze/\r
 \r
-       Suppose you have installed cx_Freeze at c:\cx_Freeze-3.0.3. Use following command line to convert MyBuild.py\r
+  If you have installed cx_Freeze at c:\cx_Freeze-3.0.3. Use the following\r
+  command lines to convert MyBuild.py to a Windows executable.\r
 \r
     set PYTHONPATH=<buildtools>\BaseTools\Source\Python\r
-       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\r
+    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\r
 \r
-       The generated .exe files are put in "mybuild" subdirectory.\r
+  The generated .exe files are put in "mybuild" subdirectory.\r
 \r