blob: 23b98dacb35b7de7113ab12279204720beec4cc7 [file] [log] [blame]
The binaries of EdkShellBinPkg are generated with Efi-Shell-Dev-Snapshot-20091214.zip (plus a hot-fix see EdkShellbinPkg\HotFix.diff) and build with Edk Compatibility & BaseTools Package (r9623). The binaries are built with no debug information by building with "RELEASE" target.
The following steps can help to re-generate these binaries for customization:
1. Check out EdkCompatibilityPkg (r9623) to $(WORKSPACE)\EdkCompatibilityPkg (svn http://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/EdkCompatibilityPkg).
2. Check out EdkShellPkg(r9623) to $(WORKSPACE)\EdkShellPkg (svn http://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/EdkShellPkg).
3a.Check out Edk Shell project source (r36) to $(WORKSPACE) (svn http://efi-shell.svn.sourceforge.net/svnroot/efi-shell/trunk/Shell). It is read-only and current revison (r36) is identical to Efi-Shell-Dev-Snapshot-20091214.zip.
3b.Apply the hot fix in EdkShellBinPkg\HotFix.diff to fix the following issues:
Security hole in LoadImage() when EFI_SECURITY_VIOLATION status is returned.
Load.efi to load 32bit driver in 64bit platform causing system hang.
Fix for PCI multi-segment support.
4. Update to the newest BaseTools package (r9623) to $(WORKSPACE) (svn http://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/BaseTools).
5. Under workspace directory (i.e. c:\EdkII),
To generate Minimum Shell, execute: "build -a IA32 -a X64 -a IPF -p EdkShellPkg\EdkShellPkg.dsc -m EdkShellPkg\Shell\Shell.inf -b RELEASE"
To generate Full Shell, execute: "build -a IA32 -a X64 -a IPF -p EdkShellPkg\EdkShellPkg.dsc -m EdkShellPkg\Shell\ShellFull.inf -b RELEASE"
6. In EdkShellBinPkg\Bin, we only provides the binary files of those applications which haven't been contained in Minmum Shell but in Full Shell.
To generate them, execute: "build -a IA32 -a X64 -a IPF -p EdkShellPkg\EdkShellPkg.dsc -m EdkShellPkg\Xxx\Xxx.inf -b RELEASE". Xxx means the corresponding module name.