audk/DuetPkg
Eric Dong 86b0245467 Fixed one code error, should use & instead of |.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>




git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15648 6f19259b-4bc3-4df7-8a09-765794883524
2014-07-10 01:25:41 +00:00
..
AcpiResetDxe Fix DuetPkg build failure after adding the new reset type EfiResetPlatformSpecific. 2013-08-22 05:55:29 +00:00
BiosVideoThunkDxe Fixed one code error, should use & instead of |. 2014-07-10 01:25:41 +00:00
BootSector Fix CRLF format 2014-01-22 08:35:25 +00:00
DxeIpl Clean up the private GUID definition in module Level. 2011-09-20 02:12:45 +00:00
EfiLdr add (UINT8 *) type cast to fix ICC build failure. 2011-06-29 07:15:58 +00:00
FSVariable Solve a wrong pointer reference in QueryVariableInfo(). 2011-04-27 05:49:26 +00:00
FvbRuntimeService
Include Clean up the private GUID definition in module Level. 2011-09-20 02:12:45 +00:00
LegacyMetronome
Library Add missing braces around initializer. 2012-10-11 02:15:23 +00:00
PciBusNoEnumerationDxe Change PciIo::GetBarAttributes() to return unsupported for a unsupported bar even it's below 6 to follow the UEFI Spec. 2014-05-19 06:08:26 +00:00
PciRootBridgeNoEnumerationDxe Fix comparisons of enumerated types which may cause warnings for some compilers. 2012-08-28 06:48:28 +00:00
SataControllerDxe DuetPkg/SataController: Fix possible memory leak at error handling of SataController driver 2012-07-03 03:24:47 +00:00
SmbiosGenDxe According to PI errata 0000654 and 000811, we need use 0xFFFE to instead of 0 for EFI_SMBIOS_PROTOCOL.Add() SmbiosHandle parameter to assign a unique handle to the SMBIOS record, and for EFI_SMBIOS_PROTOCOL.GetNext() SmbiosHandle parameter to get the first matched SMBIOS handle or indicate no more SMBIOS record. 2011-11-21 08:52:27 +00:00
Contributions.txt EDK II Packages: Add Contributions.txt and License.txt files 2012-04-11 23:19:46 +00:00
CreateBootDisk.bat Update the bat file, avoid change the original binary file in SVN, copy a temp file to use. 2014-07-09 08:28:05 +00:00
CreateBootDisk.sh Update the bat file, avoid change the original binary file in SVN, copy a temp file to use. 2014-07-09 08:28:05 +00:00
DuetPkg.dec Update the Package version. 2011-12-13 08:31:55 +00:00
DuetPkg.fdf Update NT32/Duet platform to use new display engine and browser. 2013-08-12 02:25:59 +00:00
DuetPkgIa32.dsc Fix Duet hang/reboot issue due to the NULL instance of CpuExceptionHandlerLib is used. 2013-11-26 05:41:34 +00:00
DuetPkgX64.dsc Fix Duet hang/reboot issue due to the NULL instance of CpuExceptionHandlerLib is used. 2013-11-26 05:41:34 +00:00
GetVariables.bat Fix CreateBootDisk.bat not using config variables 2011-07-01 04:48:45 +00:00
License.txt Update copyright format 2012-04-24 06:49:39 +00:00
PostBuild.bat Fix CreateBootDisk.bat not using config variables 2011-07-01 04:48:45 +00:00
PostBuild.sh
ReadMe.txt Refine the readme.txt for Duet platform, update the GCC tool chain to GCC44. 2014-07-09 08:30:07 +00:00
build32.sh DuetPkg: Add build32.sh and build64.sh 2010-10-16 18:50:55 +00:00
build64.sh DuetPkg: Add build32.sh and build64.sh 2010-10-16 18:50:55 +00:00

ReadMe.txt

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Developer's UEFI Emulation (DUET) on Edk2

A. Build DUET image on Windows Platform
========================================
1. Tools preparation

To build DUET image, following tools are required:

  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   

  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.
 
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
======================
  
3. Create boot disk
  The following steps are same for IA32 architecture platform or X64 architecture platform.
  
3.1 Create floppy boot disk
  1). enter <Workspace>\DuetPkg directory.
  2). Insert a floppy disk to drive
  3). run "CreateBootDisk.bat floppy a: FAT12 IA32" if floppy drive is a: disk and Arch to boot is IA32.
      or
      run "CreateBootDisk.bat floppy a: FAT12 X64" if floppy drive is a: disk and Arch to boot is X64.
3.2 Create usb boot disk
  1). enter <Workspace>\DuetPkg directory.
  2). Plugin usb disk
  3). run "CreateBootDisk.bat usb e: FAT16 IA32" if usb drive is e: and FAT format is FAT16 and Arch to boot is IA32.
      or "CreateBootDisk.bat usb e: FAT16 X64" if usb drive is e: and FAT format is FAT16 and Arch to boot is X64.
      or "CreateBootDisk.bat usb e: FAT32 IA32" if usb drive is e: and FAT format is FAT32 and Arch to boot is IA32.
      or "CreateBootDisk.bat usb e: FAT32 X64" if usb drive is e: and FAT format is FAT32 and Arch to boot is X64.
  4). UnPlug usb disk and plugin it again.
  5). run "CreateBootDisk.bat usb e: FAT16 IA32 step2" if usb drive is e: and FAT format is FAT16 and Arch to boot is IA32.
      or "CreateBootDisk.bat usb e: FAT16 X64 step2" if usb drive is e: and FAT format is FAT16 and Arch to boot is X64.
      or "CreateBootDisk.bat usb e: FAT32 IA32 step2" if usb drive is e: and FAT format is FAT32 and Arch to boot is IA32.
      or "CreateBootDisk.bat usb e: FAT32 X64 step2" if usb drive is e: and FAT format is FAT32 and Arch to boot is X64.
          
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

2. Build steps

2.1 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.

 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.
 
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"