]> git.proxmox.com Git - mirror_edk2.git/blobdiff - DuetPkg/ReadMe.txt
DuetPkg: Add POSTBUILD in DSC files to run post-build automatically
[mirror_edk2.git] / DuetPkg / ReadMe.txt
index 43f55294c0d1aa32389ca52783af471f0e4324ed..f894d94579ccd8b457f30e89d2b389f0062daa69 100644 (file)
@@ -4,35 +4,29 @@ A. Build DUET image on Windows Platform
 ========================================\r
 1. Tools preparation\r
 \r
-To build DUET image, following tools are required:\r
+  To build DUET image, Visual Studio is required:\r
+  1). Base on below link to create Visual Studio build environment.\r
+      https://github.com/tianocore/tianocore.github.io/wiki/Windows-systems\r
 \r
-  1). *Visual Studio 2005*\r
-      Assume installed at <VS_PATH>, \r
-      e.g.: C:\Program Files\Microsoft Visual Studio .NET 2003\.\r
-  2). WinDDK\r
-      Assume installed at <WIN_DDK_PATH>, e.g.: C:\WINDDK\3790.1830\.\r
-      \r
-2. Build steps\r
-\r
-2.1 Build Duet Platform module   \r
+2. Build Duet Platform module\r
 \r
   1). run cmd.exe to open command line window.\r
   2). enter workspace root directory such as c:\edk2_tree\r
-  2). run "edksetup.bat"\r
-  3). run "build -p DuetPkg\DuetPkg.dsc -a IA32" for IA32 architecture platform or \r
-          "build -p DuetPkg\DuetPkg.dsc -a X64" for X64 architecture platform.\r
\r
-2.2 Execute post build actions  \r
-  1). enter <Workspace>\DuetPkg directory.\r
-  2). run "PostBuild.bat IA32" for IA32 architecture platform or \r
-          "PostBuild.bat X64" for X64 architecture platform.\r
+  3). set the environment variable EDK_TOOLS_BIN to point at the BaseTools binaries directory\r
+      i.e., "set EDK_TOOLS_BIN=c:\edk2-BaseTools-win32"\r
+  4). run "edksetup.bat"\r
+  5). run "build -p DuetPkg\DuetPkgIa32.dsc -a IA32 -t VS2015x86" for IA32 architecture platform (using 64-bit VS2015 for example) or\r
+          "build -p DuetPkg\DuetPkgX64.dsc -a X64 -t VS2015x86" for X64 architecture platform.\r
+\r
+  NOTE: The post build script 'PostBuild.sh' will be automatically called after the build command.\r
+\r
 \r
 Create bootable disk\r
 ======================\r
-  \r
+\r
 3. Create boot disk\r
   The following steps are same for IA32 architecture platform or X64 architecture platform.\r
-  \r
+\r
 3.1 Create floppy boot disk\r
   1). enter <Workspace>\DuetPkg directory.\r
   2). Insert a floppy disk to drive\r
@@ -51,55 +45,40 @@ Create bootable disk
       or "CreateBootDisk.bat usb e: FAT16 X64 step2" if usb drive is e: and FAT format is FAT16 and Arch to boot is X64.\r
       or "CreateBootDisk.bat usb e: FAT32 IA32 step2" if usb drive is e: and FAT format is FAT32 and Arch to boot is IA32.\r
       or "CreateBootDisk.bat usb e: FAT32 X64 step2" if usb drive is e: and FAT format is FAT32 and Arch to boot is X64.\r
-          \r
+\r
 B. Build DUET image on Linux Platform\r
-======================================        \r
+======================================\r
 1. Tools preparation\r
 \r
-       To build DUET image, Mingw GCC is required:\r
-       \r
-               1).  Check out build tools project from svn repository: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools\r
-               2).  Assume check out directory is /EDKII/BaseTools, enter /EDKII/BaseTools/gcc directory. Please refer to README.txt install all the necessary\r
-                        build packages following:\r
-                        * Python 2.5\r
-                        * texinfo\r
-             * bison\r
-             * flex\r
-             * libmpfr\r
-             * libgmp \r
-             * As well as (possibly) others tools and development packages\r
-             \r
-               3).  Run mingw-gcc-install.py from gcc folder, this script will download/build/install MingwGCC and BinUtil automatically\r
-               4).  Create symbol link in linux environment at /opt to match default setting in tools_def.txt\r
-                        "ln -s /EDKII/BaseTools/gcc/symlinks/ar   /opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/ar"\r
-                        "ln -s /EDKII/BaseTools/gcc/symlinks/gcc  /opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/gcc"\r
-                        "ln -s /EDKII/BaseTools/gcc/symlinks/ld   /opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/ld"\r
-               \r
-       \r
-2. Build steps\r
-\r
-2.1 Build Duet Platform module   \r
+  To build DUET image, GCC installation (4.4+) is required:\r
+  1). Base on below link to create GCC build environment.\r
+      https://github.com/tianocore/tianocore.github.io/wiki/Using-EDK-II-with-Native-GCC\r
+\r
+2. Build Duet Platform module\r
+\r
+  1). Open the terminal.\r
+  2). enter workspace root directory such as /edk2_tree\r
+  3). run ". edksetup.sh BaseTools"\r
+  4). run "build -p DuetPkg/DuetPkgIa32.dsc -a IA32 -t GCC49" for IA32 architecture platform (using GCC 4.9 for example) or\r
+          "build -p DuetPkg/DuetPkgX64.dsc -a X64 -t GCC49" for X64 architecture platform.\r
+\r
+  NOTE: The post build script 'PostBuild.sh' will be automatically called after the build command.\r
+        After post build action, you should check the size of EfiLdr at $WORKSPACE/Build/DuetPkgIA32(DuetPkgX64)/DEBUG_GCC49 directory, it must less than 470k.\r
+        If not, you should manually remove some unnecessary drivers at DuetPkg.fdf file.\r
 \r
-  1). run cmd.exe to open command line window.\r
-  2). enter workspace root directory such as /R9_tree\r
-  2). run "edksetup.sh BaseTools"\r
-  3). run "build -p DuetPkg/DuetPkg.dsc -a IA32 -t UNIXGCC" for IA32 architecture platform or \r
-          "build -p DuetPkg/DuetPkg.dsc -a X64 -t UNIXGCC" for X64 architecture platform.\r
-  \r
-2.2 Execute post build actions  \r
-  1). enter /R9_tree/DuetPkg directory.\r
-  2). run "./PostBuild.sh IA32" for IA32 architecture platform or \r
-          "./PostBuild.sh X64" for X64 architecture platform.\r
-\r
- NOTE: After post build action, you should check the size of EfiLdr at $WORKSPACE/Build/DuetPkg/DEBUG_UNIXGCC directory, it must less than 470k.\r
-       If not, you should manually remove some unnecessary drivers at DuetPkg.fdf file.\r
\r
 3. Create bootable disk\r
    The following steps are same for IA32 architecture platform or X64 architecture platform.\r
-   Now only support floopy.\r
-   \r
-   3.1 Create floppy boot disk\r
-         1). enter /R9_tree/DuetPkg directory.\r
-         2). Insert a floppy disk to drive\r
-         3). run "CreateBootDisk.sh" to build floppy drive\r
-                 such as "./CreateBootDisk.sh floppy /media/floppy0 /dev/fd0 FAT12 IA32"
\ No newline at end of file
+\r
+3.1 Create floppy boot disk\r
+  1). enter /edk2_tree/DuetPkg directory.\r
+  2). Insert a floppy disk to drive\r
+  3). run "CreateBootDisk.sh" to build floppy drive\r
+      such as "./CreateBootDisk.sh floppy /media/floppy0 /dev/fd0 FAT12 IA32"\r
+\r
+3.2 Create usb boot disk\r
+  1). enter /edk2_tree/DuetPkg directory.\r
+  2). Plugin usb disk\r
+  3). run "CreateBootDisk.sh" to build usb drive\r
+      such as "./CreateBootDisk.sh usb /media/usb0 /dev/sdb0 FAT16 IA32"\r
+  4). UnPlug usb disk and plugin it again.\r
+  5). run "./CreateBootDisk.sh usb /media/usb0 /dev/sdb0 FAT16 IA32 step2"\r