]>
Commit | Line | Data |
---|---|---|
4176aa9f | 1 | Developer's UEFI Emulation (DUET) on Edk2\r |
2 | \r | |
0141c701 | 3 | A. Build DUET image on Windows Platform\r |
4 | ========================================\r | |
4176aa9f | 5 | 1. Tools preparation\r |
6 | \r | |
7 | To 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 | |
15 | 2. Build steps\r | |
16 | \r | |
17 | 2.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 |
25 | 2.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 | |
30 | Create bootable disk\r | |
31 | ======================\r | |
32 | \r | |
33 | 3. Create boot disk\r | |
0141c701 | 34 | The following steps are same for IA32 architecture platform or X64 architecture platform.\r |
4176aa9f | 35 | \r |
36 | 3.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 | 42 | 3.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 | 55 | B. Build DUET image on Linux Platform\r |
56 | ====================================== \r | |
57 | 1. Tools preparation\r | |
58 | \r | |
59 | To build DUET image, Mingw GCC is required:\r | |
60 | \r | |
61 | 1). Check out build tools project from svn repository: https://buildtools.tianocore.org/svn/buildtools/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 | |
79 | 2. Build steps\r | |
80 | \r | |
81 | 2.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 | 89 | 2.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 | 97 | 3. 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" |