X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=ReleaseNotes.txt;h=4f8c26a5e6c569cc88629904811efbb4ffbd5eb3;hp=cf28c8a045126d3e1f368e85d0d1659ee941c78b;hb=9fbf943fc137d3f7f3172cbf4ef42594b0e28679;hpb=362271d685df4a7764b8851fb2ae94a8cc7f87a2 diff --git a/ReleaseNotes.txt b/ReleaseNotes.txt index cf28c8a045..4f8c26a5e6 100644 --- a/ReleaseNotes.txt +++ b/ReleaseNotes.txt @@ -1,8 +1,11 @@ Intel(R) Platform Innovation Framework for EFI EFI Development Kit II (EDK II) Root Package 1.00 -2006-07-06 +2006-07-18 +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) 2006, Intel Corporation This document provides updates to documentation, along with a description on @@ -11,41 +14,46 @@ how to install and build the EDK II. Package Contents ---------------- ReleaseNote.txt- These release notes for the package. - MdePkg - A package containing Industry Standard headers and libraries - Tools - A package containing Build Specific tools which are designed - to help the developer create and modify drivers and - libraries - EdkModulePkg - A package containing reference drivers - EdkFatBinPkg - A package containing binary DXE drivers for the Fat 32 file - system + MdePkg - Industry-standard headers and libraries + Tools - Build -specific tools that are designed to help the + developer create and modify drivers and libraries + EdkModulePkg - Reference drivers + EdkFatBinPkg - Binary DXE drivers for the Fat 32 file system + EdkShellBinPkg - Binary Shell applications and commands + EdkNt32Pkg - NT32 Emulation platform reference + +Note: MDE and MDK that appear in other documentation refer to the MdePkg and +Tools packages, respectively. While, these two packages are the minimum +requirement for developing EDK II Packageswe recommend that you download all +of the top-level files listed above. + +The following package is available as a separate project, under a separate +license, on the TianoCore.org website: https://fat-driver2.tianocore.org + EdkFatPkg - A package containing source DXE drivers for the Fat 32 file system - EdkShellBinPkg - A package containing binary Shell applications and commands - EdkNt32Pkg - A package containing the NT32 Emulation platform reference -Note: MDE and MDK that appear in other documentation refer to the MdePkg and -Tools packages. These two packages are the minimum requirement for developing -EDK II Packages. It is also recommended that the top level files included -with the EDK be downloaded in conjunction with these two packages. - -Note: Documents have the following filenames: - EDK II Module Development Environment Library Specification v0.50 - (MDE_Library_Spec_0_50.rtf) - EDK II Build and Packaging Architecture Specification v0.50 - (Build_Packaging_Spec_0_50.rtf) - EDK II Platform Configuration Database Infrastructure Description v0.51 - (PCD_Infrastructure_0_51.rtf) - EDK II Module Surface Area v0.50 +Documents have the following filenames (to download these documents, see “Notes +on Documentation” later in these Release Notes): + EDK II Module Development Environment Library Specification, v0.58 + (MDE_Library_Spec_0_58.rtf) + EDK II Build and Packaging Architecture Specification, v0.53 + (Build_Packaging_Spec_0_53.rtf) + EDK II Platform Configuration Database Infrastructure Description, v0.54 + (PCD_Infrastructure_0_54.rtf) + EDK II Module Surface Area Specification, v0.51 (Module_Surface_Area_0_50.rtf) - EDK II Module Development Environment (MDE) Package Specification v0.50 - (MDE_Package_Spec_0_50.rtf) - EDK II C Coding Standards Specification v0.50 - (C_Coding_Standards_Specification_ 0_50.rtf) + EDK II Module Development Environment Package Specification, v0.51 + (MDE_Package_Spec_0_51.rtf) + EDK II C Coding Standards Specification v0.51 + (C_Coding_Standards_Specification_ 0_51.rtf) + EDK II Subversion Setup Guide + (edk2-subversion-setup.rtf) Pre-Requisites -------------- The following list of tools must be installed on the development workstation -prior to using the Edk II. +prior to using the EDK II. Compiler Tool Chain Microsoft* Visual Studio .NET 2003* (http://www.microsoft.com) @@ -58,17 +66,19 @@ Assembler Tool Chain GNU binutils 2.16.1 or later Java Development Kit ( Java 5.0 or later) - Sun* jdk-1.5.0_04 or later (http://java.sun.com) + Sun* jdk-1.5.0_06 or later (http://java.sun.com) or Bea Systems* jrockit-25.2.0-jdk1.5.0_03 or later (http://www.bea.com) Java Tools Apache-ANT, version 1.6.5 or later (http://ant.apache.org) Ant-contrib, version 1.0b2 or later - (http://sourceforge.net/project/showfiles.php?group_id=36177) + (http://prdownloads.sourceforge.net/ant-contrib/ant-contrib-1.0b2-bin.zip?download) Saxon8, version 8.1.1 (http://prdownloads.sourceforge.net/saxon/saxonb8-1-1.zip?download) - XMLBeans, version 2.1.0 or later (http://xmlbeans.apache.org) + XMLBeans, version 2.1.0 (http://xmlbeans.apache.org) + DO NOT download the latest XMLBeans, version 2.2.0. It is not compatible + with Saxon8, version 8.1.1. Other Tools TortoiseSVN version 1.3.3. (http://tortoisesvn.tigris.org/) @@ -76,268 +86,367 @@ Other Tools Optional Tools -------------- Compiler Tool Chains: - Intel C++ Compiler for Windows, ver. 9.0 or later (http://www.intel.com) - Intel C Compiler for EFI Byte Code, ver. 1.2 or later + Intel(R) C++ Compiler for Windows*, ver. 9.0 or later (http://www.intel.com) + Intel(R) C Compiler for EFI Byte Code, ver. 1.2 or later (http://www.intel.com/cd/software/products/asmo-na/eng/compilers/efibc/index.htm) Microsoft Driver Development Kit, version 3790.1830 or later (http://www.microsoft.com/whdc/devtools/ddk/orderddkcd.mspx) Microsoft ACPI Source Language Assembler, Version 1.0.13NT or later Intel ACPI Component Architecture, version 20060113 ------------------------ -Notes On Required Tools (Source Control System) ------------------------ +----------------------------------------------- +Notes on Required Tools (Source Control System) +----------------------------------------------- The EDK II is being managed by the Subversion Source Control on Tianocore.org. -This software package provides speed, security, and additional features. The +Subversion provides speed, security, and additional features. The recommended client is TortoiseSVN version 1.3.3. (Available at http://tortoisesvn.tigris.org/) -There are instructions for the use of Subversion Source Control on the -Tianocore.org website, as part of the checkout procedures. +The checkout procedures on the Tianocore.org Web site include +instructions for the use of Subversion Source Control. The URL of the EDK II repository is: https://edk2.tianocore.org/svn/edk2/trunk/edk2 ------------------------ -Notes On Documentation ------------------------ -The documents are being managed by the Subversion Source Control on -Tianocore.org. The document repository is "docs" and must be checked out -separately from the EDK II source tree. Refer to the checkout procedures on -the Tianocore.org website for EDK II. - -The URL of the document repository is: - https://edk2.tianocore.org/svn/edk2/trunk/docs - ------------------------ -Notes On Required Tools (MS Windows environment example) ------------------------ +-------------------------------------------------------------------- +Notes On Required Tools (With examples for Windows, OS X, and Linux*) +-------------------------------------------------------------------- Software Installation Order: - After installing the compiler tools and your Subversion client, the following - required tools should be installed in order: - Java JDK, Apache-Ant, ant-contrib, xmlbeans, saxon8 + After installing the compiler tools and your Subversion client, install the + following required tools in this order: + 1. Java JDK + 2. Apache-Ant + 3. ant-contrib + 4. xmlbeans + 5. saxon8 Java Development Kit: The Java Environment Variable must be set before attempting to build. - i.e. For Sun JDK (see note below*): - set JAVA_HOME=c:\ Java\jdk1.5.0_06 - i.e. For Bea Systems: - set JAVA_HOME=c:\Program Files\Java\jrockit-R26.0.0-jdk1.5.0_04 + For Sun JDK (see note below†): + set JAVA_HOME=c:\Java\jdk1.5.0_06 (Windows example) + export JAVA_HOME=/Library/Java/Home/ (OS X example) + export JAVA_HOME=/usr/lib/j2sdk1.5-sun/ (Linux example) + For Bea Systems: + set JAVA_HOME=c:\Java\jrockit-R26.0.0-jdk1.5.0_04 - *When using the Sun JDK5.0 + † When using the Sun JDK5.0: During installation, you should specify the install directory as C:\Java instead of C:\Program Files\(or some other drive letter.) While installing - to this non-standard location is not required. In use, it seems to work + to this non-standard location is not required, in practice, it seems to work more reliably. - For the JDK, the install path would be C:\Java\jdk1.5.0_06 - For the JRE, the install path would be C:\Java\jre1.5.0_06 + For the JDK, the install path is C:\Java\jdk1.5.0_06 + For the JRE, the install path is C:\Java\jre1.5.0_06 Alternatively, you can specify C:\sunjavajdk and C:\sunjavajre. - NOTE: You cannot combine the location for the JDK and the JRE, as the JRE - install removes most of the binaries and libraries installed by the JDK + NOTE: You cannot combine the location for the JDK and the JRE, because the + JRE install removes most of the binaries and libraries installed by the JDK install. Java Tools: The Apache-ANT requires the ANT_HOME environment variable to be set before attempting to build: - i.e. set ANT_HOME=c:\ + set ANT_HOME=c:\ + export ANT_HOME=~/ExternalTools/apache-ant (OS X and Linux example) The ant-contrib.jar file should be installed in the %ANT_HOME%\lib directory. - The XMLBeans, requires the XMLBEANS_HOME environment variable to be set + XMLBeans, requires the XMLBEANS_HOME environment variable to be set before attempting to build: - i.e. set XMLBEANS_HOME=C:\ + set XMLBEANS_HOME=C:\ + export XMLBEANS_HOME=~/ExternalTools/xmlbeans (OS X and Linux example) - The saxon8.jar file should be copied to the %XMLBEANS_HOME%\lib directory. + Copy the saxon8.jar file to the %XMLBEANS_HOME%\lib directory. - The Ant and XMLBean tools are required to be in the path. + The Ant and XMLBean tools must be in the path. MS system example: set PATH=%PATH%;%ANT_HOME%\bin;%XMLBEANS_HOME%\bin Linux/OS X bash shell example: export PATH=$PATH:${ANT_HOME}/bin:${XMLBEANS_HOME}/bin + +-------------------- +A Word on Apache-ANT +-------------------- +The Apache-ANT program is a build tool that uses XML-based project files. +Similar to Makefiles, these project files may contain multiple targets. Most +build.xml files in EDK II are auto-generated; any edits performed on the +build.xml files will be overwritten by the next build. + +Pre-defined targets in the build.xml file include: + all - This target builds binaries for defined architectures. + clean - This target removes object files generated by commands. + cleanall - This target removes all generated files and directories. + +---------------------------- +A Word on the GCC Tool Chain +---------------------------- +EDK II will not compile with a standard Linux gcc tool chain. While Linux +distributions are usually based on ELF, EDK II requires a version of gcc +that is configured to produce PE-COFF images. You will find a script in +edk2/Tools/gcc that will download, configure, compile, and install a gcc +4.X cross-compile tool chain for EDK II development. This custom tool chain +supports the IA-32 architecture. It can be built and run on Cygwin, Linux, and +many other POSIX-compliant host operating environments. To compile the custom +gcc tool chain, you need the following tools on your host computer: bash, gcc, +gmake, curl (or wget). + + +----------------------- +Notes on Documentation +----------------------- +The documents are being managed by the Subversion Source Control on +Tianocore.org. The document repository is "docs" and must be checked out +separately from the EDK II source tree. Refer to the checkout procedures on +the Tianocore.org Web site for EDK II. + +The URL of the document repository is: + https://edk2.tianocore.org/svn/edk2/trunk/docs + ------------------------------------------------------------------------------- Quick Start ----------- -Edit the text file, target.txt, located in the Tools/Conf directory. This -file contains the tools defintion file and ative platform. It can also restrict -current build target(s), tagname(s) and arch(s). Uncomment the line ACTIVE_PLATFORM -which is commented out by default. - -Edit the tools definition file, tools_def.txt, also located in the Tools/Conf -directory. This file contains the names of the compiler tool chains and the -location of the compiler binaries. It has been pre-populated with the standard -location for the Microsoft tool chains and includes the standard location of -the Intel C Compiler for EFI Byte Code (EBC) - +(assumes Microsoft Tools and OS environment, for GCC Tools or Linux, see +"Detailed Starting Instructions" below) + Follow the instructions at https://edk2.tianocore.org/servlets/ProjectSource to -checkout the entire EDK II source tree. +check out the entire EDK II source tree. + +In a command window, change to the top-level directory of the EDK II source. + +To test your tool chain setup and to build the supplied tools, execute: + c:\MyWork\edkii\> edksetup ForceBuild + +(The edksetup script is referred to as the setup command throughout the +rest of this document.) + NOTE: You should run the setup command at the start of every session. + This configures the environment to include the TianoTools and the + Java applications and libraries. + +You will need to set the WORKSPACE environment variable, or run the edksetup +script (without any arguments), any time you want to build. -In a command window, change to the top level directory of the Edk II sources. Set the WORKSPACE environment variable, e.g.: - c:\> set WORKSPACE=C:\MyWork\Edk2.0 + c:\> set WORKSPACE=C:\MyWork\edkii + +You may need to edit the text files Tools/Conf/target.txt and +Tools/Conf/tools_def.txt (created by edksetup) using your favorite +text editor to ensure that the paths to the tools you want to use +to build EDK II binaries are correct. These files contain the default +paths (as per the default installation of the tools), so a customized +install may require this manual process. -To test your tool chain setup and to build the Supplied Tools, execute: - c:\MyWork\Edk2.0\> edksetup +Once this is completed, you are ready to test the build, by executing: + c:\MyWork\edkii\> build -(This command will be referred to as the setup command throughout the rest of -this document.) +This command builds the active platform specified in text file target.txt. If +the active platform is not specified target.txt, you must execute the build +command from the sub-directory that contains FPD files. For more information +about the active platform policy, see the “EDK II Build and Packaging +Architecture Specification.” + +------------------------------------------------------------------------------- +Detailed Starting Instructions +------------------------------ + +Follow the instructions at https://edk2.tianocore.org/servlets/ProjectSource to +check out the entire EDK II source tree. + +In a command window, change to the top-level directory of the EDK II source. + +If the active compiler tool chain is GCC, you must set the +environment variable, TOOL_CHAIN to "gcc" before running the +edksetup script. Example: export TOOL_CHAIN=gcc + +To test your tool chain setup and to build the supplied tools, execute: + c:\MyWork\edkii\> edksetup ForceBuild + +On Linux systems, you must source the edksetup.sh file to load the correct +settings into your shell. + + . edksetup.sh # Note the dot. + +The edksetup script is referred to as the setup command throughout the +rest of this document. NOTE: You should run the setup command at the start of every session. This configures the environment to include the TianoTools and the Java applications and libraries. -Once this is completed, you are ready to test the Build, by executing: - c:\MyWork\Edk2.0\> build +Any changes to the tool source code or XML Schema documents require that +you execute the following: + c:\MyWork\edkii\> edksetup ForceBuild + +You must set the WORKSPACE environment variable, or run the edksetup +script (without any arguments), any time you want to build. + + Set the WORKSPACE environment variable, e.g.: + + c:\> set WORKSPACE=C:\MyWork\edkii -This command builds active platform specified in text file target.txt. If -active platform is not specified, go to sub-directory which contains FPD files and -type build. More information about active platform policy reference to specification -<>. +You may need to edit the text files Tools/Conf/target.txt and +Tools/Conf/tools_def.txt (created by edksetup) using your favorite +text editor to ensure that the paths to the tools you want to use +to build EDK II binaries are correct. These files contain the default +paths (as per the default installation of the tools), so a customized +tool installation may require this manual process. -------------------------- +Once this is completed, you are ready to test the build, by executing: + c:\MyWork\edkii\> build + +This command builds the active platform specified in text file target.txt. If +the active platform is not specified, go to the sub-directory that contains FPD +files and execute the build command. For more information about the active +platform policy, see the “EDK II Build and Packaging Architecture +Specification.” + +-------------------------- Individual Platform Builds -------------------------- +-------------------------- After running the setup command, you can build individual platforms. - In the command window, - 1. Set active platform in target.txt, and type "build" in whatever directory; - 2. or cd to the platform (FPD file) that you want to build, and just type: - c:\MyWork\Edk2.0\EdkNt32Pkg\> build - - Note that active platform with the high priority to build, that means active - platform will be built even if exists FPD file under current directory. More - information about active platform policy reference to specification - <>. +In the command window: + Set the active platform in target.txt, and execute this command: + c:\\> build +or + cd to the platform (FPD file) that you want to build and execute this command: + c:\MyWork\edkii\EdkNt32Pkg\> build + + Note that the active platform specified in target.txt overrides the platform + specified by any FPD file in the current directory. For more information + about active platform policy, see the “EDK II Build and Packaging Architecture + Specification.” + +To run the Nt32 emulation platform under Microsoft Windows, go to +\DEBUG\MSFT\IA32 and execute SecMain.exe + +To exit the Nt32 emulation platform, type “reset” at the EFI Shell> +command prompt. Alternatively, from the graphical interface, select the Boot +Maintenance Manager's “Reset System” command. + + NOTE: When creating a new platform, the Platform Name is restricted + to a single word containing alphanumeric characters, underscore, dash, + and period. The space character and other special characters are + not allowed. -Go to \Debug\MSFT\IA32 and execute SecMain.exe -to run the Nt32 emulation platform under Microsoft Windows. +----------------------- +Notes on Symbolic Debug +----------------------- +To enable EFI Symbolic Debugging, make sure the target output is set to DEBUG +in the text file Tools/Conf/target.txt and then modify the FPD +