-distributions are usually based on ELF, EDK II requires a version of gcc \r
-that is configured to produce PE-COFF images. You will find a script in \r
-edk2/Tools/gcc that will download, configure, compile, and install a gcc \r
-4.X cross-compile tool chain for EDK II development. This custom tool chain \r
-supports the IA-32 architecture. It can be built and run on Cygwin, Linux, and \r
-many other POSIX-compliant host operating environments. To compile the custom \r
-gcc tool chain, you need the following tools on your host computer: bash, gcc, \r
-gmake, curl (or wget).\r
+distributions are usually based on ELF, EDK II requires a version of gcc that\r
+is configured to produce PE-COFF images. You will find a script in <Root of\r
+EDK2 tree>/Tools/gcc/tianoCross-gcc-4.1 that will download, configure, compile,\r
+and install a gcc 4.1 cross-compile tool chain for EDK II development. This\r
+custom tool chain supports the IA-32 architecture. It can be built and run on\r
+Cygwin, Linux, and many other POSIX-compliant host operating environments. To\r
+compile the custom gcc tool chain, you need the following tools on your host\r
+computer: bash, gcc, gmake, curl (or wget).\r
+\r
+Only the MdePkg and EdkModulePkg are currently supported by gcc builds. Other\r
+builds, such as the EdkNt32Pkg, will not compile with gcc. By default, the edk2\r
+will try to build the NT32.fpd, which is not supported by gcc. So, you need to\r
+change the Tools/Conf/target.txt.\r
+\r
+The cross-compile build script has been tested on Cygwin, OS X and Linux. You\r
+should expect to hack on these scripts to make them work on your system. You\r
+may need to install additional tools on your system to make the scripts work.\r
+\r
+You will need\r
+\r
+ A recent version (3.0 or later should be fine) of gcc that is able to produce\r
+ executables for the machine that you want to run this compiler on (the host\r
+ machine).\r
+ wget or curl (which enables the download of the gcc compiler source code)\r
+ tar\r
+ bzip\r
+ gzip\r
+ bash\r
+ and possibly others\r
+\r
+CYGWIN Notes\r
+\r
+You should setup cygwin to use binmode on all mounts. When you initially\r
+install cygwin it gives you the choice of Unix file mode (recommended) or DOS\r
+file mode. Unix mode will cause all the cygwin directories to be mounted in\r
+binmode, while DOS will mount the dirs in textmode. Here is an example of a\r
+cygwin install where the dirs are (properly) mounted in binmode.\r
+To view mount information, type: \r
+ mount\r
+\r
+C:\cygwin\bin on /usr/bin type user (binmode)\r
+C:\cygwin\lib on /usr/lib type user (binmode)\r
+c:\workspace on /workspace type system (binmode)\r
+C:\cygwin on / type user (binmode)\r
+\r
+If you use textmode, it is likely that the build will fail in a way that is\r
+hard to debug. Textmode is required to retain or add the DOS ^M characters\r
+in DOS batch files during file editing sessions.\r
+\r
+You can switch from textmode to binmode for compilation by executing the \r
+following:\r
+ mount -b --change-cygdrive-prefix cygdrive\r
+\r
+Cygwin is pretty slow, so it is not recommended for large builds.\r
+\r
+\r
+\r
+\r
+\r
+The platform to be built is identified by the Tools/Conf/target.txt file:\r
+\r
+#\r
+# PROPERTY Type Use Description\r
+# ---------------- -------- -------- -----------------------------------------------------------\r
+# ACTIVE_PLATFORM Filename Recommended Specify the WORKSPACE relative Path and Filename \r
+# of the platform FPD file that will be used for the build\r
+# This line is required if and only if the current working\r
+# directory does not contain one or more FPD files.\r