]>
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 | |
39 | 3). run "CreateBootDisk.bat floppy a: FAT12" if floppy drive is a: disk.\r | |
40 | \r | |
41 | 3.2 Create usb boot disk\r | |
42 | 1). enter <Workspace>\DuetPkg directory.\r | |
43 | 2). Plugin usb disk\r | |
44 | 3). run "CreateBootDisk.bat usb e: FAT16" if usb drive is e: and FAT format is FAT16 or\r | |
45 | "CreateBootDisk.bat usb e: FAT32" if usb drive is e: and FAT format is FAT32\r | |
46 | 4). UnPlug usb disk and plugin it again.\r | |
47 | 5). run "CreateBootDisk.bat usb e: FAT16 step2" if usb drive is e: and FAT format is FAT16 or \r | |
48 | "CreateBootDisk.bat usb e: FAT32 step2" if usb drive is e: and FAT format is FAT32.\r | |
49 | \r | |
50 | \r | |
0141c701 | 51 | B. Build DUET image on Linux Platform\r |
52 | ====================================== \r | |
53 | 1. Tools preparation\r | |
54 | \r | |
55 | To build DUET image, Mingw GCC is required:\r | |
56 | \r | |
57 | 1). Check out build tools project from svn repository: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools\r | |
58 | 2). Assume check out directory is /R9/BaseTools, enter /R9/BaseTools/gcc directory. Please refer to README.txt install all the necessary\r | |
59 | build packages following:\r | |
60 | * Python 2.5\r | |
61 | * texinfo\r | |
62 | * bison\r | |
63 | * flex\r | |
64 | * libmpfr\r | |
65 | * libgmp \r | |
66 | * As well as (possibly) others tools and development packages\r | |
67 | \r | |
68 | 3). Run mingw-gcc-install.py from gcc folder, this script will download/build/install MingwGCC and BinUtil automatically\r | |
69 | 4). Create symbol link in linux environment at /opt to match default setting in tools_def.txt\r | |
70 | "ln -s /R9/BaseTools/gcc/symlinks/ar /opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/ar"\r | |
71 | "ln -s /R9/BaseTools/gcc/symlinks/gcc /opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/gcc"\r | |
72 | "ln -s /R9/BaseTools/gcc/symlinks/ld /opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/ld"\r | |
73 | \r | |
74 | \r | |
75 | 2. Build steps\r | |
76 | \r | |
77 | 2.1 Build Duet Platform module \r | |
78 | \r | |
79 | 1). run cmd.exe to open command line window.\r | |
80 | 2). enter workspace root directory such as /R9_tree\r | |
81 | 2). run "edksetup.sh BaseTools"\r | |
82 | 3). run "build -p DuetPkg/DuetPkg.dsc -a IA32 -t UNIXGCC" for IA32 architecture platform or \r | |
83 | "build -p DuetPkg/DuetPkg.dsc -a X64 -t UNIXGCC" for X64 architecture platform.\r | |
0141c701 | 84 | \r |
4b37cc04 | 85 | 2.2 Execute post build actions \r |
0141c701 | 86 | 1). enter /R9_tree/DuetPkg directory.\r |
87 | 2). run "./PostBuild.sh IA32" for IA32 architecture platform or \r | |
88 | "./PostBuild.sh X64" for X64 architecture platform.\r | |
89 | \r | |
986825f0 | 90 | 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 |
91 | If not, you should manually remove some unnecessary drivers at DuetPkg.fdf file.\r | |
92 | \r | |
0141c701 | 93 | 3. Create bootable disk\r |
94 | The following steps are same for IA32 architecture platform or X64 architecture platform.\r | |
95 | Now only support floopy.\r | |
96 | \r | |
97 | 3.1 Create floppy boot disk\r | |
98 | 1). enter /R9_tree/DuetPkg directory.\r | |
99 | 2). Insert a floppy disk to drive\r | |
100 | 3). run "CreateBootDisk.sh" to build floppy drive\r | |
101 | such as "./CreateBootDisk.sh floppy /media/floppy0 /dev/fd0 FAT12" |