Update the bat file, avoid change the original binary file in SVN, copy a temp file...
[mirror_edk2.git] / DuetPkg / ReadMe.txt
CommitLineData
4176aa9f 1Developer's UEFI Emulation (DUET) on Edk2\r
2\r
0141c701 3A. Build DUET image on Windows Platform\r
4========================================\r
4176aa9f 51. Tools preparation\r
6\r
7To build DUET image, following tools are required:\r
8\r
9 1). *Visual Studio 2005*\r
10 Assume installed at <VS_PATH>, \r
11 e.g.: C:\Program Files\Microsoft Visual Studio .NET 2003\.\r
12 2). WinDDK\r
13 Assume installed at <WIN_DDK_PATH>, e.g.: C:\WINDDK\3790.1830\.\r
14 \r
152. Build steps\r
16\r
172.1 Build Duet Platform module \r
18\r
19 1). run cmd.exe to open command line window.\r
20 2). enter workspace root directory such as c:\edk2_tree\r
21 2). run "edksetup.bat"\r
22 3). run "build -p DuetPkg\DuetPkg.dsc -a IA32" for IA32 architecture platform or \r
23 "build -p DuetPkg\DuetPkg.dsc -a X64" for X64 architecture platform.\r
4b37cc04 24 \r
252.2 Execute post build actions \r
4176aa9f 26 1). enter <Workspace>\DuetPkg directory.\r
27 2). run "PostBuild.bat IA32" for IA32 architecture platform or \r
28 "PostBuild.bat X64" for X64 architecture platform.\r
29\r
30Create bootable disk\r
31======================\r
32 \r
333. Create boot disk\r
0141c701 34 The following steps are same for IA32 architecture platform or X64 architecture platform.\r
4176aa9f 35 \r
363.1 Create floppy boot disk\r
37 1). enter <Workspace>\DuetPkg directory.\r
38 2). Insert a floppy disk to drive\r
e843cdd7 39 3). run "CreateBootDisk.bat floppy a: FAT12 IA32" if floppy drive is a: disk and Arch to boot is IA32.\r
40 or\r
41 run "CreateBootDisk.bat floppy a: FAT12 X64" if floppy drive is a: disk and Arch to boot is X64.\r
4176aa9f 423.2 Create usb boot disk\r
43 1). enter <Workspace>\DuetPkg directory.\r
44 2). Plugin usb disk\r
e843cdd7 45 3). run "CreateBootDisk.bat usb e: FAT16 IA32" if usb drive is e: and FAT format is FAT16 and Arch to boot is IA32.\r
46 or "CreateBootDisk.bat usb e: FAT16 X64" if usb drive is e: and FAT format is FAT16 and Arch to boot is X64.\r
47 or "CreateBootDisk.bat usb e: FAT32 IA32" if usb drive is e: and FAT format is FAT32 and Arch to boot is IA32.\r
48 or "CreateBootDisk.bat usb e: FAT32 X64" if usb drive is e: and FAT format is FAT32 and Arch to boot is X64.\r
4176aa9f 49 4). UnPlug usb disk and plugin it again.\r
e843cdd7 50 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.\r
51 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
52 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
53 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
4176aa9f 54 \r
0141c701 55B. Build DUET image on Linux Platform\r
56====================================== \r
571. Tools preparation\r
58\r
59 To build DUET image, Mingw GCC is required:\r
60 \r
fa1dad15 61 1). Check out build tools project from svn repository: https://svn.code.sf.net/p/edk2-buildtools/code/trunk/BaseTools\r
25d7031f 62 2). Assume check out directory is /EDKII/BaseTools, enter /EDKII/BaseTools/gcc directory. Please refer to README.txt install all the necessary\r
0141c701 63 build packages following:\r
64 * Python 2.5\r
65 * texinfo\r
66 * bison\r
67 * flex\r
68 * libmpfr\r
69 * libgmp \r
70 * As well as (possibly) others tools and development packages\r
71 \r
72 3). Run mingw-gcc-install.py from gcc folder, this script will download/build/install MingwGCC and BinUtil automatically\r
73 4). Create symbol link in linux environment at /opt to match default setting in tools_def.txt\r
25d7031f
RN
74 "ln -s /EDKII/BaseTools/gcc/symlinks/ar /opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/ar"\r
75 "ln -s /EDKII/BaseTools/gcc/symlinks/gcc /opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/gcc"\r
76 "ln -s /EDKII/BaseTools/gcc/symlinks/ld /opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/ld"\r
0141c701 77 \r
78 \r
792. Build steps\r
80\r
812.1 Build Duet Platform module \r
82\r
83 1). run cmd.exe to open command line window.\r
84 2). enter workspace root directory such as /R9_tree\r
85 2). run "edksetup.sh BaseTools"\r
86 3). run "build -p DuetPkg/DuetPkg.dsc -a IA32 -t UNIXGCC" for IA32 architecture platform or \r
87 "build -p DuetPkg/DuetPkg.dsc -a X64 -t UNIXGCC" for X64 architecture platform.\r
0141c701 88 \r
4b37cc04 892.2 Execute post build actions \r
0141c701 90 1). enter /R9_tree/DuetPkg directory.\r
91 2). run "./PostBuild.sh IA32" for IA32 architecture platform or \r
92 "./PostBuild.sh X64" for X64 architecture platform.\r
93\r
986825f0 94 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
95 If not, you should manually remove some unnecessary drivers at DuetPkg.fdf file.\r
96 \r
0141c701 973. Create bootable disk\r
98 The following steps are same for IA32 architecture platform or X64 architecture platform.\r
99 Now only support floopy.\r
100 \r
101 3.1 Create floppy boot disk\r
102 1). enter /R9_tree/DuetPkg directory.\r
103 2). Insert a floppy disk to drive\r
104 3). run "CreateBootDisk.sh" to build floppy drive\r
e843cdd7 105 such as "./CreateBootDisk.sh floppy /media/floppy0 /dev/fd0 FAT12 IA32"