From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-it0-x234.google.com (mail-it0-x234.google.com [IPv6:2607:f8b0:4001:c0b::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 4ECAF81C9C for ; Mon, 21 Nov 2016 03:31:15 -0800 (PST) Received: by mail-it0-x234.google.com with SMTP id y23so101088888itc.0 for ; Mon, 21 Nov 2016 03:31:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=U1QmtTwNG3monENHAIH8dHxdXI9txg1pnKiX9DIXnbQ=; b=kPUuGNG+db8CQP8jLQfS7ki5lWbNfifZbvKb/wNFuCBusVri+rfhKxqjuOs8PSyj2o iPfNkRKTdelKbCE9MP6a3b0mUyswm/DGR5EBvfxO8FkJ2s1dNRvU1RAFKuU6gMn5bL+s ADP4K2nuio0dV2bQgXHTukO0C1+ti/RKSIBoU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=U1QmtTwNG3monENHAIH8dHxdXI9txg1pnKiX9DIXnbQ=; b=fEOfNROHNfVkvvlQvtL40oF2GUKi8rEfhQOj5d2rlEJjXHOepRn0W4Cz0P6aIuBCXq kUrDT35L11Y46IesaGnr/owobC5oJbIBj4pg1MU8zgnP//sRve5qRzaFgKJC415Cyxba GhSQIkrTn1XcOKGwyYAmBOFg2oFq3u6DW744ZgTotJlyHF3AZ9j3LKhpnilEEztc6RQV NXFC4RzRwKKprb3GpYL2c1qSTlHGqXGY/h7TrGSHAJO0p4qLBJ8doYa6RTn+CXm6dfQ8 e/E0UrrU4e5SVvDIlyTtuo8MM9RPAT12Lo9GsZ8/9VQ8r4+nITkF1ZfjdZJLGRNB6DUL VyxQ== X-Gm-Message-State: AKaTC00isyE6doWlFlW981b4SHboUpe+gvSiy/i7KC48MBln8tJ6Qq/vQYr3i4KbAr0NHGKilIq3WfQ5b+bkJwQn X-Received: by 10.36.66.142 with SMTP id i136mr8847199itb.63.1479727874566; Mon, 21 Nov 2016 03:31:14 -0800 (PST) MIME-Version: 1.0 Received: by 10.107.59.147 with HTTP; Mon, 21 Nov 2016 03:31:13 -0800 (PST) In-Reply-To: References: From: Ard Biesheuvel Date: Mon, 21 Nov 2016 11:31:13 +0000 Message-ID: To: Pankaj Bansal Cc: "edk2-devel@lists.01.org" , Varun Sethi Subject: Re: ArmPkg/PlatformBootManagerLib : Multiple UEFI Shell Boot entries X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Nov 2016 11:31:15 -0000 Content-Type: text/plain; charset=UTF-8 On 21 November 2016 at 11:28, Pankaj Bansal 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 =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