]>
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 | |
bab82372 HW |
7 | To build DUET image, Visual Studio is required:\r |
8 | 1). Base on below link to create Visual Studio build environment.\r | |
9 | https://github.com/tianocore/tianocore.github.io/wiki/Windows-systems\r | |
4176aa9f | 10 | \r |
bab82372 | 11 | 2. Build Duet Platform module\r |
4176aa9f | 12 | \r |
13 | 1). run cmd.exe to open command line window.\r | |
14 | 2). enter workspace root directory such as c:\edk2_tree\r | |
bab82372 HW |
15 | 3). set the environment variable EDK_TOOLS_BIN to point at the BaseTools binaries directory\r |
16 | i.e., "set EDK_TOOLS_BIN=c:\edk2-BaseTools-win32"\r | |
17 | 4). run "edksetup.bat"\r | |
18 | 5). run "build -p DuetPkg\DuetPkgIa32.dsc -a IA32 -t VS2015x86" for IA32 architecture platform (using 64-bit VS2015 for example) or\r | |
19 | "build -p DuetPkg\DuetPkgX64.dsc -a X64 -t VS2015x86" for X64 architecture platform.\r | |
20 | \r | |
21 | NOTE: The post build script 'PostBuild.sh' will be automatically called after the build command.\r | |
24476311 | 22 | \r |
4176aa9f | 23 | \r |
24 | Create bootable disk\r | |
25 | ======================\r | |
24476311 | 26 | \r |
4176aa9f | 27 | 3. Create boot disk\r |
0141c701 | 28 | The following steps are same for IA32 architecture platform or X64 architecture platform.\r |
24476311 | 29 | \r |
4176aa9f | 30 | 3.1 Create floppy boot disk\r |
31 | 1). enter <Workspace>\DuetPkg directory.\r | |
32 | 2). Insert a floppy disk to drive\r | |
e843cdd7 | 33 | 3). run "CreateBootDisk.bat floppy a: FAT12 IA32" if floppy drive is a: disk and Arch to boot is IA32.\r |
34 | or\r | |
35 | run "CreateBootDisk.bat floppy a: FAT12 X64" if floppy drive is a: disk and Arch to boot is X64.\r | |
4176aa9f | 36 | 3.2 Create usb boot disk\r |
37 | 1). enter <Workspace>\DuetPkg directory.\r | |
38 | 2). Plugin usb disk\r | |
e843cdd7 | 39 | 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 |
40 | or "CreateBootDisk.bat usb e: FAT16 X64" if usb drive is e: and FAT format is FAT16 and Arch to boot is X64.\r | |
41 | or "CreateBootDisk.bat usb e: FAT32 IA32" if usb drive is e: and FAT format is FAT32 and Arch to boot is IA32.\r | |
42 | 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 | 43 | 4). UnPlug usb disk and plugin it again.\r |
e843cdd7 | 44 | 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 |
45 | 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 | |
46 | 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 | |
47 | 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 | |
24476311 | 48 | \r |
0141c701 | 49 | B. Build DUET image on Linux Platform\r |
24476311 | 50 | ======================================\r |
0141c701 | 51 | 1. Tools preparation\r |
52 | \r | |
bab82372 HW |
53 | To build DUET image, GCC installation (4.4+) is required:\r |
54 | 1). Base on below link to create GCC build environment.\r | |
55 | https://github.com/tianocore/tianocore.github.io/wiki/Using-EDK-II-with-Native-GCC\r | |
85e2e085 | 56 | \r |
bab82372 | 57 | 2. Build Duet Platform module\r |
0141c701 | 58 | \r |
85e2e085 ED |
59 | 1). Open the terminal.\r |
60 | 2). enter workspace root directory such as /edk2_tree\r | |
61 | 3). run ". edksetup.sh BaseTools"\r | |
bab82372 HW |
62 | 4). run "build -p DuetPkg/DuetPkgIa32.dsc -a IA32 -t GCC49" for IA32 architecture platform (using GCC 4.9 for example) or\r |
63 | "build -p DuetPkg/DuetPkgX64.dsc -a X64 -t GCC49" for X64 architecture platform.\r | |
0141c701 | 64 | \r |
bab82372 HW |
65 | NOTE: The post build script 'PostBuild.sh' will be automatically called after the build command.\r |
66 | After post build action, you should check the size of EfiLdr at $WORKSPACE/Build/DuetPkgIA32(DuetPkgX64)/DEBUG_GCC49 directory, it must less than 470k.\r | |
67 | If not, you should manually remove some unnecessary drivers at DuetPkg.fdf file.\r | |
24476311 | 68 | \r |
0141c701 | 69 | 3. Create bootable disk\r |
70 | The following steps are same for IA32 architecture platform or X64 architecture platform.\r | |
24476311 | 71 | \r |
bab82372 HW |
72 | 3.1 Create floppy boot disk\r |
73 | 1). enter /edk2_tree/DuetPkg directory.\r | |
74 | 2). Insert a floppy disk to drive\r | |
75 | 3). run "CreateBootDisk.sh" to build floppy drive\r | |
76 | such as "./CreateBootDisk.sh floppy /media/floppy0 /dev/fd0 FAT12 IA32"\r | |
77 | \r | |
78 | 3.2 Create usb boot disk\r | |
79 | 1). enter /edk2_tree/DuetPkg directory.\r | |
80 | 2). Plugin usb disk\r | |
81 | 3). run "CreateBootDisk.sh" to build usb drive\r | |
82 | such as "./CreateBootDisk.sh usb /media/usb0 /dev/sdb0 FAT16 IA32"\r | |
83 | 4). UnPlug usb disk and plugin it again.\r | |
84 | 5). run "./CreateBootDisk.sh usb /media/usb0 /dev/sdb0 FAT16 IA32 step2"\r |