]> git.proxmox.com Git - mirror_edk2.git/blob - DuetPkg/ReadMe.txt
Add a note for Duet build under Linux environment.
[mirror_edk2.git] / DuetPkg / ReadMe.txt
1 Developer's UEFI Emulation (DUET) on Edk2
2
3 A. Build DUET image on Windows Platform
4 ========================================
5 1. Tools preparation
6
7 To 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
15 2. Build steps
16
17 2.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.
24
25 2.2 Build BootSector
26 1). run "build -p DuetPkg\DuetPkg.dsc -m DuetPkg\BootSector\BootSector.inf -a IA32"
27
28 2.3 Execute post build actions
29 1). enter <Workspace>\DuetPkg directory.
30 2). run "PostBuild.bat IA32" for IA32 architecture platform or
31 "PostBuild.bat X64" for X64 architecture platform.
32
33 Create bootable disk
34 ======================
35
36 3. Create boot disk
37 The following steps are same for IA32 architecture platform or X64 architecture platform.
38
39 3.1 Create floppy boot disk
40 1). enter <Workspace>\DuetPkg directory.
41 2). Insert a floppy disk to drive
42 3). run "CreateBootDisk.bat floppy a: FAT12" if floppy drive is a: disk.
43
44 3.2 Create usb boot disk
45 1). enter <Workspace>\DuetPkg directory.
46 2). Plugin usb disk
47 3). run "CreateBootDisk.bat usb e: FAT16" if usb drive is e: and FAT format is FAT16 or
48 "CreateBootDisk.bat usb e: FAT32" if usb drive is e: and FAT format is FAT32
49 4). UnPlug usb disk and plugin it again.
50 5). run "CreateBootDisk.bat usb e: FAT16 step2" if usb drive is e: and FAT format is FAT16 or
51 "CreateBootDisk.bat usb e: FAT32 step2" if usb drive is e: and FAT format is FAT32.
52
53
54 B. Build DUET image on Linux Platform
55 ======================================
56 1. Tools preparation
57
58 To build DUET image, Mingw GCC is required:
59
60 1). Check out build tools project from svn repository: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools
61 2). Assume check out directory is /R9/BaseTools, enter /R9/BaseTools/gcc directory. Please refer to README.txt install all the necessary
62 build packages following:
63 * Python 2.5
64 * texinfo
65 * bison
66 * flex
67 * libmpfr
68 * libgmp
69 * As well as (possibly) others tools and development packages
70
71 3). Run mingw-gcc-install.py from gcc folder, this script will download/build/install MingwGCC and BinUtil automatically
72 4). Create symbol link in linux environment at /opt to match default setting in tools_def.txt
73 "ln -s /R9/BaseTools/gcc/symlinks/ar /opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/ar"
74 "ln -s /R9/BaseTools/gcc/symlinks/gcc /opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/gcc"
75 "ln -s /R9/BaseTools/gcc/symlinks/ld /opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/ld"
76
77
78 2. Build steps
79
80 2.1 Build Duet Platform module
81
82 1). run cmd.exe to open command line window.
83 2). enter workspace root directory such as /R9_tree
84 2). run "edksetup.sh BaseTools"
85 3). run "build -p DuetPkg/DuetPkg.dsc -a IA32 -t UNIXGCC" for IA32 architecture platform or
86 "build -p DuetPkg/DuetPkg.dsc -a X64 -t UNIXGCC" for X64 architecture platform.
87
88 2.2 Build BootSector
89 1). run "build -p DuetPkg/DuetPkg.dsc -m DuetPkg/BootSector/BootSector.inf -a IA32 -t UNIXGCC"
90
91 2.3 Execute post build actions
92 1). enter /R9_tree/DuetPkg directory.
93 2). run "./PostBuild.sh IA32" for IA32 architecture platform or
94 "./PostBuild.sh X64" for X64 architecture platform.
95
96 NOTE: After post build action, you should check the size of EfiLdr at $WORKSPACE/Build/DuetPkg/DEBUG_UNIXGCC directory, it must less than 470k.
97 If not, you should manually remove some unnecessary drivers at DuetPkg.fdf file.
98
99 3. Create bootable disk
100 The following steps are same for IA32 architecture platform or X64 architecture platform.
101 Now only support floopy.
102
103 3.1 Create floppy boot disk
104 1). enter /R9_tree/DuetPkg directory.
105 2). Insert a floppy disk to drive
106 3). run "CreateBootDisk.sh" to build floppy drive
107 such as "./CreateBootDisk.sh floppy /media/floppy0 /dev/fd0 FAT12"