* 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