diff options
author | Hao Wu <hao.a.wu@intel.com> | 2016-11-11 16:21:35 +0800 |
---|---|---|
committer | Hao Wu <hao.a.wu@intel.com> | 2016-11-14 19:33:11 +0800 |
commit | bab82372a9e6ce066fa725a792e71d07191046ca (patch) | |
tree | 8f7f709bb0b64ce8e972f37a901c2b49e0a1d3f5 /DuetPkg/ReadMe.txt | |
parent | ea4511d127f45e5028996aba6613b4807c3c7902 (diff) | |
download | edk2-platforms-bab82372a9e6ce066fa725a792e71d07191046ca.tar.xz |
DuetPkg: Add POSTBUILD in DSC files to run post-build automatically
https://bugzilla.tianocore.org/show_bug.cgi?id=220
Currently, the post-build scripts PostBuild.bat/PostBuild.sh in DuetPkg
need to be run manually. Especially for Windows batch script, it also
requires users to set the build options (like tool chain, target and arch)
in file Conf/target.txt. If users using command line options via '-t' or
'-a', the post-build script won't work properly.
The package DSC files now support the feature to execute post-build script
automatically by adding a 'POSTBUILD' definition. This feature also passes
the build options into the post-build script as parameters. This commit
uses this feature to make the post-build works for DuetPkg more
user-friendly. Also, ReadMe.txt is updated to reflect the new steps for
UEFI Emulation (DUET) development.
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Diffstat (limited to 'DuetPkg/ReadMe.txt')
-rw-r--r-- | DuetPkg/ReadMe.txt | 71 |
1 files changed, 33 insertions, 38 deletions
diff --git a/DuetPkg/ReadMe.txt b/DuetPkg/ReadMe.txt index d7ad3d6017..f894d94579 100644 --- a/DuetPkg/ReadMe.txt +++ b/DuetPkg/ReadMe.txt @@ -4,28 +4,22 @@ A. Build DUET image on Windows Platform ========================================
1. Tools preparation
-To build DUET image, following tools are required:
+ To build DUET image, Visual Studio is required:
+ 1). Base on below link to create Visual Studio build environment.
+ https://github.com/tianocore/tianocore.github.io/wiki/Windows-systems
- 1). *Visual Studio 2005*
- Assume installed at <VS_PATH>,
- e.g.: C:\Program Files\Microsoft Visual Studio .NET 2003\.
- 2). WinDDK
- Assume installed at <WIN_DDK_PATH>, e.g.: C:\WINDDK\3790.1830\.
-
-2. Build steps
-
-2.1 Build Duet Platform module
+2. Build Duet Platform module
1). run cmd.exe to open command line window.
2). enter workspace root directory such as c:\edk2_tree
- 2). run "edksetup.bat"
- 3). run "build -p DuetPkg\DuetPkg.dsc -a IA32" for IA32 architecture platform or
- "build -p DuetPkg\DuetPkg.dsc -a X64" for X64 architecture platform.
+ 3). set the environment variable EDK_TOOLS_BIN to point at the BaseTools binaries directory
+ i.e., "set EDK_TOOLS_BIN=c:\edk2-BaseTools-win32"
+ 4). run "edksetup.bat"
+ 5). run "build -p DuetPkg\DuetPkgIa32.dsc -a IA32 -t VS2015x86" for IA32 architecture platform (using 64-bit VS2015 for example) or
+ "build -p DuetPkg\DuetPkgX64.dsc -a X64 -t VS2015x86" for X64 architecture platform.
+
+ NOTE: The post build script 'PostBuild.sh' will be automatically called after the build command.
-2.2 Execute post build actions
- 1). enter <Workspace>\DuetPkg directory.
- 2). run "PostBuild.bat IA32" for IA32 architecture platform or
- "PostBuild.bat X64" for X64 architecture platform.
Create bootable disk
======================
@@ -56,34 +50,35 @@ B. Build DUET image on Linux Platform ======================================
1. Tools preparation
- To build DUET image, GCC44 is required:
- 1). Base on below link to create GCC44 build environment.
- http://tianocore.sourceforge.net/wiki/Using_EDK_II_with_Native_GCC
+ To build DUET image, GCC installation (4.4+) is required:
+ 1). Base on below link to create GCC build environment.
+ https://github.com/tianocore/tianocore.github.io/wiki/Using-EDK-II-with-Native-GCC
-2. Build steps
-
-2.1 Build Duet Platform module
+2. Build Duet Platform module
1). Open the terminal.
2). enter workspace root directory such as /edk2_tree
3). run ". edksetup.sh BaseTools"
- 4). run "build -p DuetPkg/DuetPkg.dsc -a IA32 -t GCC44" for IA32 architecture platform or
- "build -p DuetPkg/DuetPkg.dsc -a X64 -t GCC44" for X64 architecture platform.
-
-2.2 Execute post build actions
- 1). enter /edk2_tree/DuetPkg directory.
- 2). run "./PostBuild.sh IA32 GCC44" for IA32 architecture platform or
- "./PostBuild.sh X64 GCC44" for X64 architecture platform.
+ 4). run "build -p DuetPkg/DuetPkgIa32.dsc -a IA32 -t GCC49" for IA32 architecture platform (using GCC 4.9 for example) or
+ "build -p DuetPkg/DuetPkgX64.dsc -a X64 -t GCC49" for X64 architecture platform.
- NOTE: After post build action, you should check the size of EfiLdr at $WORKSPACE/Build/DuetPkg/DEBUG_GCC44 directory, it must less than 470k.
- If not, you should manually remove some unnecessary drivers at DuetPkg.fdf file.
+ NOTE: The post build script 'PostBuild.sh' will be automatically called after the build command.
+ After post build action, you should check the size of EfiLdr at $WORKSPACE/Build/DuetPkgIA32(DuetPkgX64)/DEBUG_GCC49 directory, it must less than 470k.
+ If not, you should manually remove some unnecessary drivers at DuetPkg.fdf file.
3. Create bootable disk
The following steps are same for IA32 architecture platform or X64 architecture platform.
- Now only support floopy.
- 3.1 Create floppy boot disk
- 1). enter /edk2_tree/DuetPkg directory.
- 2). Insert a floppy disk to drive
- 3). run "CreateBootDisk.sh" to build floppy drive
- such as "./CreateBootDisk.sh floppy /media/floppy0 /dev/fd0 FAT12 IA32"
+3.1 Create floppy boot disk
+ 1). enter /edk2_tree/DuetPkg directory.
+ 2). Insert a floppy disk to drive
+ 3). run "CreateBootDisk.sh" to build floppy drive
+ such as "./CreateBootDisk.sh floppy /media/floppy0 /dev/fd0 FAT12 IA32"
+
+3.2 Create usb boot disk
+ 1). enter /edk2_tree/DuetPkg directory.
+ 2). Plugin usb disk
+ 3). run "CreateBootDisk.sh" to build usb drive
+ such as "./CreateBootDisk.sh usb /media/usb0 /dev/sdb0 FAT16 IA32"
+ 4). UnPlug usb disk and plugin it again.
+ 5). run "./CreateBootDisk.sh usb /media/usb0 /dev/sdb0 FAT16 IA32 step2"
|