X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=BuildNotes.txt;h=ca9473d71adecf93b400ff98a6ced8a3b1e30aca;hp=d88684421ee4db28a114eb8a7d8e1bb95b0229b2;hb=cee3584d1ef1cc37724b198b3044d52e0e094c66;hpb=3d4bdea9cc24d619c084ec0b7a629d97e71fda8c;ds=sidebyside diff --git a/BuildNotes.txt b/BuildNotes.txt index d88684421e..ca9473d71a 100644 --- a/BuildNotes.txt +++ b/BuildNotes.txt @@ -21,6 +21,8 @@ Package Contents EdkFatBinPkg - Binary DXE drivers for the Fat 32 file system EdkShellBinPkg - Binary Shell applications and commands EdkNt32Pkg - NT32 Emulation platform reference + EdkUnixPkg - Posix/Unix Emulation platform reference (Currently this + builds only on ia32 Linux, but is meant to be portable.) Note: MDE and MDK that appear in other documentation refer to the MdePkg and Tools packages, respectively. While, these two packages are the minimum @@ -95,6 +97,25 @@ Compiler Tool Chains: Microsoft ACPI Source Language Assembler, Version 1.0.13NT or later Intel ACPI Component Architecture, version 20060113 +Python + + There are several tools implemented in Python and wxPython Widgets in the + Tools/Python directory. These are optional tools, and are not necessary in + order to use or build the edk2 code. In order to use them you must + install Python 2.4.x and wxWidgets 2.8.x for your platform. The tools + have been tested and work correctly on OS X, Linux and Windows. + + There is a script called Install_Python_OSX.sh that will download and + install the correct versions for OS X. For other platforms, please find + the installers for your platform at the following sites: + + - http://www.python.org/download/releases/2.4.4/ (Python interpreter) + - http://www.wxpython.org/download.php#binaries (Python GUI extensions) + + Your linux distribution may contain packages of python and wxPython, which + should work, provided they are are compatible with the above specified + versions. + ----------------------------------------------- Notes on Required Tools (Source Control System) ----------------------------------------------- @@ -194,10 +215,10 @@ 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). -Only the MdePkg and EdkModulePkg are currently supported by gcc builds. Other -builds, such as the EdkNt32Pkg, will not compile with gcc. By default, the edk2 -will try to build the NT32.fpd, which is not supported by gcc. So, you need to -change the Tools/Conf/target.txt. +Only the MdePkg, EdkModulePkg and EdkUnixPkg are currently supported by gcc +builds. Other builds, such as the EdkNt32Pkg, will not compile with gcc. By +default, the edk2 will try to build the NT32.fpd, which is not supported by +gcc. So, you need to change the Tools/Conf/target.txt. The cross-compile build script has been tested on Cygwin, OS X and Linux. You should expect to hack on these scripts to make them work on your system. You @@ -299,8 +320,37 @@ not support the EFIAPI calling convention the x64 tools do not support generatin PE32+ image. The EFIAPI calling convention is very similar to the Microsoft x64 calling convention. +We have added prelinary support for the MinGW64 Tool chain. This gcc tool +chain is ported to follow the Microsft X64 ABI, and therefore is compatible +with the EFI specification. + On Itanium?Processors the gcc compiler does not support generating a PE32+ image. +---------------------------------------- +A Word on EdkUnixPkg -- The Unix simulator +---------------------------------------- + +A unix port of the Nt32 simulator has been added to the project. It currently +builds and runs on 32 bit Linux, but should be portable to other Unix +variants. In order to build it, you should use the ELFGCC tool chain defintion +in tools_def.txt, which is set in target.txt. These are two settings to make +in Tools/Conf/target.txt: + +ACTIVE_PLATFORM = EdkUnixPkg/Unix.fpd +TOOL_CHAIN_TAG = ELFGCC + +Once that is setup, type build, and then you will end up with the simulator in +Build/Unix/DEBUG_ELFGCC/IA32/SecMain.exe. + +In order to use the gdb debugger with the simulator, you may need to load the +correct symbol file for the various modules that are loaded. For example, + +add-symbol-file EdkModulePkg/Bus/Pci/PciBus/Dxe/PciBus/DEBUG/./PciBus.dll +0x45dc6000 + +You can see the names of the symbol files (they are in ELF format even though +the extension is .dll) printed on the screen as the simulator comes up. + ----------------------- Notes on Documentation ----------------------- @@ -354,7 +404,7 @@ 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.? +Architecture Specification.? ------------------------------------------------------------------------------- Detailed Starting Instructions @@ -415,7 +465,7 @@ 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.? +Specification.? -------------------------- Individual Platform Builds @@ -480,7 +530,7 @@ the modules that the package contains, including the location of all MSA files, and public library names and headers that might be provided by a module in the package. Packages are defined by SPD files. (Found in the root of the Package subdirectory (i.e. EdkNt32Pkg).) The SPD file is further explained in “EDK II -Build and Packaging Architecture Specification.? +Build and Packaging Architecture Specification.? B) Module Surface Area Definition (MSA) files. A description of a module's surface area, with all module specific default flags and features specified. @@ -667,3 +717,5 @@ Of particular note: ======================================================= Virus scanned by McAfee VirusScan Enterprise 8.0.0, Virus Definitions 4890, no virus detected. + +vim:tw=78:ts=2:com=fb\:- :ai