blob: f280679ac2a3cdea5c8ee7c747804f5eae531460 [file] [log] [blame]
klu24176aa92009-01-09 07:42:41 +00001Developer's UEFI Emulation (DUET) on Edk2
2
gikidy0141c702009-04-17 06:14:23 +00003A. Build DUET image on Windows Platform
4========================================
klu24176aa92009-01-09 07:42:41 +000051. Tools preparation
6
7To build DUET image, following tools are required:
8
9 1). *Visual Studio 2005*
10 Assume installed at <VS_PATH>,
11 e.g.: C:\Program Files\Microsoft Visual Studio .NET 2003\.
12 2). WinDDK
13 Assume installed at <WIN_DDK_PATH>, e.g.: C:\WINDDK\3790.1830\.
14
152. Build steps
16
172.1 Build Duet Platform module
18
19 1). run cmd.exe to open command line window.
20 2). enter workspace root directory such as c:\edk2_tree
21 2). run "edksetup.bat"
22 3). run "build -p DuetPkg\DuetPkg.dsc -a IA32" for IA32 architecture platform or
23 "build -p DuetPkg\DuetPkg.dsc -a X64" for X64 architecture platform.
gikidy4b37cc02009-12-14 03:09:49 +000024
252.2 Execute post build actions
klu24176aa92009-01-09 07:42:41 +000026 1). enter <Workspace>\DuetPkg directory.
27 2). run "PostBuild.bat IA32" for IA32 architecture platform or
28 "PostBuild.bat X64" for X64 architecture platform.
29
30Create bootable disk
31======================
32
333. Create boot disk
gikidy0141c702009-04-17 06:14:23 +000034 The following steps are same for IA32 architecture platform or X64 architecture platform.
klu24176aa92009-01-09 07:42:41 +000035
363.1 Create floppy boot disk
37 1). enter <Workspace>\DuetPkg directory.
38 2). Insert a floppy disk to drive
eric_tiane843cdd2010-01-19 08:28:28 +000039 3). run "CreateBootDisk.bat floppy a: FAT12 IA32" if floppy drive is a: disk and Arch to boot is IA32.
40 or
41 run "CreateBootDisk.bat floppy a: FAT12 X64" if floppy drive is a: disk and Arch to boot is X64.
klu24176aa92009-01-09 07:42:41 +0000423.2 Create usb boot disk
43 1). enter <Workspace>\DuetPkg directory.
44 2). Plugin usb disk
eric_tiane843cdd2010-01-19 08:28:28 +000045 3). run "CreateBootDisk.bat usb e: FAT16 IA32" if usb drive is e: and FAT format is FAT16 and Arch to boot is IA32.
46 or "CreateBootDisk.bat usb e: FAT16 X64" if usb drive is e: and FAT format is FAT16 and Arch to boot is X64.
47 or "CreateBootDisk.bat usb e: FAT32 IA32" if usb drive is e: and FAT format is FAT32 and Arch to boot is IA32.
48 or "CreateBootDisk.bat usb e: FAT32 X64" if usb drive is e: and FAT format is FAT32 and Arch to boot is X64.
klu24176aa92009-01-09 07:42:41 +000049 4). UnPlug usb disk and plugin it again.
eric_tiane843cdd2010-01-19 08:28:28 +000050 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.
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.
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.
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.
klu24176aa92009-01-09 07:42:41 +000054
gikidy0141c702009-04-17 06:14:23 +000055B. Build DUET image on Linux Platform
56======================================
571. Tools preparation
58
Eric Dong85e2e082014-07-09 08:30:07 +000059 To build DUET image, GCC44 is required:
60 1). Base on below link to create GCC44 build environment.
61 http://tianocore.sourceforge.net/wiki/Using_EDK_II_with_Native_GCC
62
gikidy0141c702009-04-17 06:14:23 +0000632. Build steps
64
652.1 Build Duet Platform module
66
Eric Dong85e2e082014-07-09 08:30:07 +000067 1). Open the terminal.
68 2). enter workspace root directory such as /edk2_tree
69 3). run ". edksetup.sh BaseTools"
70 4). run "build -p DuetPkg/DuetPkg.dsc -a IA32 -t GCC44" for IA32 architecture platform or
71 "build -p DuetPkg/DuetPkg.dsc -a X64 -t GCC44" for X64 architecture platform.
gikidy0141c702009-04-17 06:14:23 +000072
gikidy4b37cc02009-12-14 03:09:49 +0000732.2 Execute post build actions
Eric Dong85e2e082014-07-09 08:30:07 +000074 1). enter /edk2_tree/DuetPkg directory.
75 2). run "./PostBuild.sh IA32 GCC44" for IA32 architecture platform or
76 "./PostBuild.sh X64 GCC44" for X64 architecture platform.
gikidy0141c702009-04-17 06:14:23 +000077
Eric Dong85e2e082014-07-09 08:30:07 +000078 NOTE: After post build action, you should check the size of EfiLdr at $WORKSPACE/Build/DuetPkg/DEBUG_GCC44 directory, it must less than 470k.
gikidy986825f2009-04-20 02:33:08 +000079 If not, you should manually remove some unnecessary drivers at DuetPkg.fdf file.
80
gikidy0141c702009-04-17 06:14:23 +0000813. Create bootable disk
82 The following steps are same for IA32 architecture platform or X64 architecture platform.
83 Now only support floopy.
84
85 3.1 Create floppy boot disk
Eric Dong85e2e082014-07-09 08:30:07 +000086 1). enter /edk2_tree/DuetPkg directory.
gikidy0141c702009-04-17 06:14:23 +000087 2). Insert a floppy disk to drive
88 3). run "CreateBootDisk.sh" to build floppy drive
eric_tiane843cdd2010-01-19 08:28:28 +000089 such as "./CreateBootDisk.sh floppy /media/floppy0 /dev/fd0 FAT12 IA32"