X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=EdkShellBinPkg%2FReadMe.txt;h=23b98dacb35b7de7113ab12279204720beec4cc7;hp=6718a376d833e72bb98ef8e92097e8d58aec8fed;hb=e97f389d78025c34b48781a03113e11d579759b1;hpb=0a779dbfd0366e65c27139269ad1c01b4a57b68b diff --git a/EdkShellBinPkg/ReadMe.txt b/EdkShellBinPkg/ReadMe.txt index 6718a376d8..23b98dacb3 100644 --- a/EdkShellBinPkg/ReadMe.txt +++ b/EdkShellBinPkg/ReadMe.txt @@ -1,23 +1,16 @@ -The binaries of EdkShellBinPkg are generated with EDK-Shell 1.04 release and build with Edk Compatibility & BaseTools Package -(r4927) +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 (r4927) to a directory EdkCompatibilityPkg in workspace (svn https://edk2.tianocore.org/svn/edk2/trunk/edk2/EdkCompatibilityPkg). -2. Update to the newest BaseTools package. (r4927 or later) -2. Download EfiShell 1.04.zip from EDK Shell official release https://efi-shell.tianocore.org/servlets/ProjectDocumentList?folderID=52&expandFolder=52&folderID=45 -3. Unzip it to be a sub-directory in EdkCompatibilityPkg , i.e. c:\EdkII\EdkCompatibilityPkg\Shell -4. Apply a hot fix Shell_HotFix.diff under EdkShellBinPkg\GenBin directory. This is mainly to fix the unaligned device path node access in shell binary and a rare INF format issue in ver.inf. This patch will be integrated into the later official release. -5. Under workspace directory (i.e. c:\EdkII), execute: - build -a IA32 -a X64 -a IPF -p EdkShellBinPkg\GenBin\EdkShellPkg.dsc -t WINDDK3790x1830 - The use of WINDDK instead of MYTOOLS is due to the fact that EDK shell source 1.04 is not - VS2005 clean. - -6. Copy the binaries from Build directory to this package. Typically the EFI binary - of EdkCompatibility\Shell\$(INF_BASENAME).inf is generated at: - Build\EdkShellPkg\DEBUG_WINDDK3790x1830\$(ARCH)\EdkCompatibility\Shell\$(INF_BASENAME)\OUTPUT\$(BASENAME).efi - For example: - The x64 EFI image of EdkCompatibility\Shell\ver\ver.inf is generated at: - Build\EdkShellPkg\DEBUG_WINDDK3790x1830\X64\EdkCompatibilityPkg\Shell\ver\Ver\OUTPUT\ver.efi - -Note: Other\Maintained\Application\Shell\Shell.inf corresponds to Minimum shell binaries. - Other\Maintained\Application\Shell\ShellFull.inf corresponds to Full Shell binaries. \ No newline at end of file +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. \ No newline at end of file