DuetPkg: Add POSTBUILD in DSC files to run post-build automatically
[mirror_edk2.git] / DuetPkg / ReadMe.txt
CommitLineData
4176aa9f 1Developer's UEFI Emulation (DUET) on Edk2\r
2\r
0141c701 3A. Build DUET image on Windows Platform\r
4========================================\r
4176aa9f 51. 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 112. 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
24Create bootable disk\r
25======================\r
24476311 26\r
4176aa9f 273. Create boot disk\r
0141c701 28 The following steps are same for IA32 architecture platform or X64 architecture platform.\r
24476311 29\r
4176aa9f 303.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 363.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 49B. Build DUET image on Linux Platform\r
24476311 50======================================\r
0141c701 511. 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 572. 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 693. Create bootable disk\r
70 The following steps are same for IA32 architecture platform or X64 architecture platform.\r
24476311 71\r
bab82372
HW
723.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
783.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