X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=DuetPkg%2FReadMe.txt;h=f894d94579ccd8b457f30e89d2b389f0062daa69;hp=95420c0f515c6a26e0ee03c7e149effdf5f26f83;hb=76c09700edc67686b29662e81a3ca7d947594ce5;hpb=4176aa9faf481ae57e40c911fab5ef553294476d diff --git a/DuetPkg/ReadMe.txt b/DuetPkg/ReadMe.txt index 95420c0f51..f894d94579 100644 --- a/DuetPkg/ReadMe.txt +++ b/DuetPkg/ReadMe.txt @@ -1,55 +1,84 @@ Developer's UEFI Emulation (DUET) on Edk2 -Build DUET image -===================== +A. Build DUET image on Windows Platform +======================================== 1. Tools preparation -To build DUET image, following tools are required: + To build DUET image, Visual Studio is required: + 1). Base on below link to create Visual Studio build environment. + https://github.com/tianocore/tianocore.github.io/wiki/Windows-systems - 1). *Visual Studio 2005* - Assume installed at , - e.g.: C:\Program Files\Microsoft Visual Studio .NET 2003\. - 2). WinDDK - Assume installed at , e.g.: C:\WINDDK\3790.1830\. - -2. Build steps - -2.1 Build Duet Platform module +2. Build Duet Platform module 1). run cmd.exe to open command line window. 2). enter workspace root directory such as c:\edk2_tree - 2). run "edksetup.bat" - 3). run "build -p DuetPkg\DuetPkg.dsc -a IA32" for IA32 architecture platform or - "build -p DuetPkg\DuetPkg.dsc -a X64" for X64 architecture platform. - -2.2 Build BootSector - 1). run "build -p DuetPkg\DuetPkg.dsc -m DuetPkg\BootSector\BootSector.inf -a IA32" - -2.3 Execute post build actions - 1). enter \DuetPkg directory. - 2). run "PostBuild.bat IA32" for IA32 architecture platform or - "PostBuild.bat X64" for X64 architecture platform. + 3). set the environment variable EDK_TOOLS_BIN to point at the BaseTools binaries directory + i.e., "set EDK_TOOLS_BIN=c:\edk2-BaseTools-win32" + 4). run "edksetup.bat" + 5). run "build -p DuetPkg\DuetPkgIa32.dsc -a IA32 -t VS2015x86" for IA32 architecture platform (using 64-bit VS2015 for example) or + "build -p DuetPkg\DuetPkgX64.dsc -a X64 -t VS2015x86" for X64 architecture platform. + + NOTE: The post build script 'PostBuild.sh' will be automatically called after the build command. + Create bootable disk ====================== - + 3. Create boot disk - The following steps are same for IA32 architecture platform or X64 arcchitecture platform. - + The following steps are same for IA32 architecture platform or X64 architecture platform. + 3.1 Create floppy boot disk 1). enter \DuetPkg directory. 2). Insert a floppy disk to drive - 3). run "CreateBootDisk.bat floppy a: FAT12" if floppy drive is a: disk. - + 3). run "CreateBootDisk.bat floppy a: FAT12 IA32" if floppy drive is a: disk and Arch to boot is IA32. + or + run "CreateBootDisk.bat floppy a: FAT12 X64" if floppy drive is a: disk and Arch to boot is X64. 3.2 Create usb boot disk 1). enter \DuetPkg directory. 2). Plugin usb disk - 3). run "CreateBootDisk.bat usb e: FAT16" if usb drive is e: and FAT format is FAT16 or - "CreateBootDisk.bat usb e: FAT32" if usb drive is e: and FAT format is FAT32 + 3). run "CreateBootDisk.bat usb e: FAT16 IA32" if usb drive is e: and FAT format is FAT16 and Arch to boot is IA32. + or "CreateBootDisk.bat usb e: FAT16 X64" if usb drive is e: and FAT format is FAT16 and Arch to boot is X64. + or "CreateBootDisk.bat usb e: FAT32 IA32" if usb drive is e: and FAT format is FAT32 and Arch to boot is IA32. + or "CreateBootDisk.bat usb e: FAT32 X64" if usb drive is e: and FAT format is FAT32 and Arch to boot is X64. + 4). UnPlug usb disk and plugin it again. + 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. + or "CreateBootDisk.bat usb e: FAT16 X64 step2" if usb drive is e: and FAT format is FAT16 and Arch to boot is X64. + or "CreateBootDisk.bat usb e: FAT32 IA32 step2" if usb drive is e: and FAT format is FAT32 and Arch to boot is IA32. + or "CreateBootDisk.bat usb e: FAT32 X64 step2" if usb drive is e: and FAT format is FAT32 and Arch to boot is X64. + +B. Build DUET image on Linux Platform +====================================== +1. Tools preparation + + To build DUET image, GCC installation (4.4+) is required: + 1). Base on below link to create GCC build environment. + https://github.com/tianocore/tianocore.github.io/wiki/Using-EDK-II-with-Native-GCC + +2. Build Duet Platform module + + 1). Open the terminal. + 2). enter workspace root directory such as /edk2_tree + 3). run ". edksetup.sh BaseTools" + 4). run "build -p DuetPkg/DuetPkgIa32.dsc -a IA32 -t GCC49" for IA32 architecture platform (using GCC 4.9 for example) or + "build -p DuetPkg/DuetPkgX64.dsc -a X64 -t GCC49" for X64 architecture platform. + + NOTE: The post build script 'PostBuild.sh' will be automatically called after the build command. + After post build action, you should check the size of EfiLdr at $WORKSPACE/Build/DuetPkgIA32(DuetPkgX64)/DEBUG_GCC49 directory, it must less than 470k. + If not, you should manually remove some unnecessary drivers at DuetPkg.fdf file. + +3. Create bootable disk + The following steps are same for IA32 architecture platform or X64 architecture platform. + +3.1 Create floppy boot disk + 1). enter /edk2_tree/DuetPkg directory. + 2). Insert a floppy disk to drive + 3). run "CreateBootDisk.sh" to build floppy drive + such as "./CreateBootDisk.sh floppy /media/floppy0 /dev/fd0 FAT12 IA32" + +3.2 Create usb boot disk + 1). enter /edk2_tree/DuetPkg directory. + 2). Plugin usb disk + 3). run "CreateBootDisk.sh" to build usb drive + such as "./CreateBootDisk.sh usb /media/usb0 /dev/sdb0 FAT16 IA32" 4). UnPlug usb disk and plugin it again. - 5). run "CreateBootDisk.bat usb e: FAT16 step2" if usb drive is e: and FAT format is FAT16 or - "CreateBootDisk.bat usb e: FAT32 step2" if usb drive is e: and FAT format is FAT32. - - - - \ No newline at end of file + 5). run "./CreateBootDisk.sh usb /media/usb0 /dev/sdb0 FAT16 IA32 step2"