How does removing a lib from the components section affect the shell binary output?
Is the asset at compile time? Jaben > On Sep 5, 2018, at 10:26 AM, Leif Lindholm <leif.lindh...@linaro.org> wrote: > > Hi all, > > (This is partly a summary of discussions that have been held on IRC > and offline, with Alex Graf and Mike Kinney.) > > The UEFI Shell, as produced by the contents of ShellPkg, is needed for > running the UEFI SCT. This has never been problematic before - but now > we are starting to run SCT on the U-Boot implementation of the UEFI > interfaces, certain implicit assumptions may need to be made explicit, > and perhaps reevaluated. > > My feeling is the following: > - The MinUefiShell variant should be sufficient to run SCT. > - The UEFI Shell as provided by ShellPkg (any flavour) should run on > any valid UEFI implementation. Where underlying functionality is > missing for certain commands, those commands should be > degraded/disabled to let remaining commands function. > > Ideally, I would like to see a Readme.md in ShellPkg, basically > providing a mission statement. I could write one, but I expect the > people who actually maintain it would be better suited :) > > We currently have an issue with running the shell on U-Boot because > even MinUefiShell pulls in UefiShellDebug1CommandsLib.inf. This > appears to be inadvertent, since it is also included a few lines > further down inside an !ifndef $(NO_SHELL_PROFILES) guard. > So I would propose the following patch (and can send it out properly > if the maintainers agree): > > diff --git a/ShellPkg/ShellPkg.dsc b/ShellPkg/ShellPkg.dsc > index 59dd07e0ae..c852abd3f7 100644 > --- a/ShellPkg/ShellPkg.dsc > +++ b/ShellPkg/ShellPkg.dsc > @@ -101,7 +101,6 @@ [Components] > ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf > ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf > > ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf > - ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf > > ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf > > ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf > > The reason this causes a problem is because this module has a > dependency on HobLib, which ASSERTS if it does not find any HOBs lying > around. Since HOBs are a PI concept rather than a UEFI concept, > ideally we would not terminate the shell if they are missing. However, > since the HobLib is generic to EDK2, we also shouldn't just go > stripping ASSERTs out of it. The above patch gives us a way of > unblocking the SCT on U-Boot UEFI while we consider what to do about > the bigger question. > > Thoughts? > > / > Leif _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel