public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* ArmPkg/PlatformBootManagerLib : Multiple UEFI Shell Boot entries
@ 2016-11-21 11:28 Pankaj Bansal
  2016-11-21 11:31 ` Ard Biesheuvel
  0 siblings, 1 reply; 2+ messages in thread
From: Pankaj Bansal @ 2016-11-21 11:28 UTC (permalink / raw)
  To: edk2-devel@lists.01.org, Ard Biesheuvel

Hello Edk2 team,

We are observing that sometimes "UEFI Shell" entry is created even though it is present in boot manager menu in our ARMV8 NXP board
When this happens multiple times, we see multiple entries of "UEFI Shell" in boot manager menu:

/------------------------------------------------------------------------------\
|                                Boot Manager                                  |
\------------------------------------------------------------------------------/

                                                         Device Path :
   Boot Manager Menu                                     MemoryMapped(0xB,0xFF5
                                                         B1000,0xFFAC17D7)/FvFi
   UEFI Shell                                            le(7C04A583-9E3E-4F1C-
   UEFI Misc Device                                      AD65-E05268D0B4D1)
   UEFI Misc Device 2
   UEFI Misc Device 3
   UEFI Misc Device 4
   UEFI Shell
   UEFI PXEv4 (MAC:6805CA04D56A)
   UEFI Shell
   UEFI Shell
   UEFI Shell
   UEFI Shell
   UEFI Shell
                                                       v /------------------------------------------------------------------------------\
|                                                                              |
| ^v=Move Highlight       <Enter>=Select Entry      Esc=Exit                   |
\------------------------------------------------------------------------------/

We see that commit https://github.com/tianocore/edk2/commit/0e2c6c552990edcd6352c2395860cb0df62b158d can fix this problem.

	Remove any boot options that point to binaries built into the firmware and
	have become stale due to any of the following:
	- FvMain's base address or size changed (historical -- see commit
	  https://github.com/tianocore/edk2/commit/e191a3114f4c8fc0a05e4dc7bb72935f18ff4de9),
	- FvMain's FvNameGuid changed,
	- the FILE_GUID of the pointed-to binary changed,
	- the referenced binary is no longer built into the firmware.

	For example, multiple such "EFI Internal Shell" boot options can coexist.
	They technically differ from each other, but may not describe any built-in
	shell binary exactly. Such options can accumulate in a varstore over time,
	and while they remain generally bootable (thanks to the efforts of
	BmGetFileBufferByFvFilePath()), they look bad.

	Filter out any stale options.


But this commit is for ArmVirtPkg/PlatformBootManagerLib, while we use ArmPkg/PlatformBootManagerLib.
Can this commit be ported from ArmVirtPkg to ArmPkg? Are there any side effects/ precautions for doing so?

Thanks & Regards,
Pankaj Bansal



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: ArmPkg/PlatformBootManagerLib : Multiple UEFI Shell Boot entries
  2016-11-21 11:28 ArmPkg/PlatformBootManagerLib : Multiple UEFI Shell Boot entries Pankaj Bansal
@ 2016-11-21 11:31 ` Ard Biesheuvel
  0 siblings, 0 replies; 2+ messages in thread
From: Ard Biesheuvel @ 2016-11-21 11:31 UTC (permalink / raw)
  To: Pankaj Bansal; +Cc: edk2-devel@lists.01.org, Varun Sethi

On 21 November 2016 at 11:28, Pankaj Bansal <pankaj.bansal@nxp.com> wrote:
> Hello Edk2 team,
>
> We are observing that sometimes "UEFI Shell" entry is created even though it is present in boot manager menu in our ARMV8 NXP board
> When this happens multiple times, we see multiple entries of "UEFI Shell" in boot manager menu:
>
> /------------------------------------------------------------------------------\
> |                                Boot Manager                                  |
> \------------------------------------------------------------------------------/
>
>                                                          Device Path :
>    Boot Manager Menu                                     MemoryMapped(0xB,0xFF5
>                                                          B1000,0xFFAC17D7)/FvFi
>    UEFI Shell                                            le(7C04A583-9E3E-4F1C-
>    UEFI Misc Device                                      AD65-E05268D0B4D1)
>    UEFI Misc Device 2
>    UEFI Misc Device 3
>    UEFI Misc Device 4
>    UEFI Shell
>    UEFI PXEv4 (MAC:6805CA04D56A)
>    UEFI Shell
>    UEFI Shell
>    UEFI Shell
>    UEFI Shell
>    UEFI Shell
>                                                        v /------------------------------------------------------------------------------\
> |                                                                              |
> | ^v=Move Highlight       <Enter>=Select Entry      Esc=Exit                   |
> \------------------------------------------------------------------------------/
>
> We see that commit https://github.com/tianocore/edk2/commit/0e2c6c552990edcd6352c2395860cb0df62b158d can fix this problem.
>
>         Remove any boot options that point to binaries built into the firmware and
>         have become stale due to any of the following:
>         - FvMain's base address or size changed (historical -- see commit
>           https://github.com/tianocore/edk2/commit/e191a3114f4c8fc0a05e4dc7bb72935f18ff4de9),
>         - FvMain's FvNameGuid changed,
>         - the FILE_GUID of the pointed-to binary changed,
>         - the referenced binary is no longer built into the firmware.
>
>         For example, multiple such "EFI Internal Shell" boot options can coexist.
>         They technically differ from each other, but may not describe any built-in
>         shell binary exactly. Such options can accumulate in a varstore over time,
>         and while they remain generally bootable (thanks to the efforts of
>         BmGetFileBufferByFvFilePath()), they look bad.
>
>         Filter out any stale options.
>
>
> But this commit is for ArmVirtPkg/PlatformBootManagerLib, while we use ArmPkg/PlatformBootManagerLib.
> Can this commit be ported from ArmVirtPkg to ArmPkg? Are there any side effects/ precautions for doing so?
>

Just add a FvNameGuid to the FV containing the shell, that way these
duplicate entries will not be created


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-11-21 11:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-21 11:28 ArmPkg/PlatformBootManagerLib : Multiple UEFI Shell Boot entries Pankaj Bansal
2016-11-21 11:31 ` Ard Biesheuvel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox