X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=DuetPkg%2FReadMe.txt;h=f280679ac2a3cdea5c8ee7c747804f5eae531460;hp=6e21bfb545651aa96c7cef980681497ce49081d3;hb=c99106b745ccb2c7b66b50117b594eb1a942d4fb;hpb=0141c7019c78492e1cf52fc90345d3ff5cd61eec diff --git a/DuetPkg/ReadMe.txt b/DuetPkg/ReadMe.txt index 6e21bfb545..f280679ac2 100644 --- a/DuetPkg/ReadMe.txt +++ b/DuetPkg/ReadMe.txt @@ -21,11 +21,8 @@ To build DUET image, following tools are required: 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 + +2.2 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. @@ -39,67 +36,54 @@ Create bootable disk 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 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. - + 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, Mingw GCC is required: - - 1). Check out build tools project from svn repository: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools - 2). Assume check out directory is /R9/BaseTools, enter /R9/BaseTools/gcc directory. Please refer to README.txt install all the necessary - build packages following: - * Python 2.5 - * texinfo - * bison - * flex - * libmpfr - * libgmp - * As well as (possibly) others tools and development packages - - 3). Run mingw-gcc-install.py from gcc folder, this script will download/build/install MingwGCC and BinUtil automatically - 4). Create symbol link in linux environment at /opt to match default setting in tools_def.txt - "ln -s /R9/BaseTools/gcc/symlinks/ar /opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/ar" - "ln -s /R9/BaseTools/gcc/symlinks/gcc /opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/gcc" - "ln -s /R9/BaseTools/gcc/symlinks/ld /opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/ld" - - + To build DUET image, GCC44 is required: + 1). Base on below link to create GCC44 build environment. + http://tianocore.sourceforge.net/wiki/Using_EDK_II_with_Native_GCC + 2. Build steps 2.1 Build Duet Platform module - 1). run cmd.exe to open command line window. - 2). enter workspace root directory such as /R9_tree - 2). run "edksetup.sh BaseTools" - 3). run "build -p DuetPkg/DuetPkg.dsc -a IA32 -t UNIXGCC" for IA32 architecture platform or - "build -p DuetPkg/DuetPkg.dsc -a X64 -t UNIXGCC" for X64 architecture platform. - -2.2 Build BootSector - 1). run "build -p DuetPkg/DuetPkg.dsc -m DuetPkg/BootSector/BootSector.inf -a IA32 -t UNIXGCC" + 1). Open the terminal. + 2). enter workspace root directory such as /edk2_tree + 3). run ". edksetup.sh BaseTools" + 4). run "build -p DuetPkg/DuetPkg.dsc -a IA32 -t GCC44" for IA32 architecture platform or + "build -p DuetPkg/DuetPkg.dsc -a X64 -t GCC44" for X64 architecture platform. -2.3 Execute post build actions - 1). enter /R9_tree/DuetPkg directory. - 2). run "./PostBuild.sh IA32" for IA32 architecture platform or - "./PostBuild.sh X64" for X64 architecture platform. - +2.2 Execute post build actions + 1). enter /edk2_tree/DuetPkg directory. + 2). run "./PostBuild.sh IA32 GCC44" for IA32 architecture platform or + "./PostBuild.sh X64 GCC44" for X64 architecture platform. + NOTE: After post build action, you should check the size of EfiLdr at $WORKSPACE/Build/DuetPkg/DEBUG_GCC44 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. Now only support floopy. 3.1 Create floppy boot disk - 1). enter /R9_tree/DuetPkg directory. + 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" \ No newline at end of file + such as "./CreateBootDisk.sh floppy /media/floppy0 /dev/fd0 FAT12 IA32" \ No newline at end of file