From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from prv3-mh.provo.novell.com (prv3-mh.provo.novell.com [137.65.250.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id D252E21EA35AE for ; Wed, 6 Sep 2017 22:49:11 -0700 (PDT) Received: from localhost (prv-ext-foundry1int.gns.novell.com [137.65.251.240]) by prv3-mh.provo.novell.com with ESMTP (TLS encrypted); Wed, 06 Sep 2017 23:51:53 -0600 Date: Thu, 7 Sep 2017 13:51:49 +0800 From: Gary Lin To: zwei4 Cc: edk2-devel@lists.01.org, xianhu2x Message-ID: <20170907055149.kcff352cavtpatmd@localhost> References: <20170907025430.4836-1-david.wei@intel.com> MIME-Version: 1.0 In-Reply-To: <20170907025430.4836-1-david.wei@intel.com> User-Agent: NeoMutt/20170609 (1.8.3) Subject: Re: [PATCH] Add UBUNTU boot loader X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Sep 2017 05:49:12 -0000 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Thu, Sep 07, 2017 at 10:54:30AM +0800, zwei4 wrote: > From: xianhu2x > > Contributed-under: TianoCore Contribution Agreement 1.1 > Is there any reason to add an ubuntu specific boot path? It's not defined in UEFI spec and the default path to \EFI\BOOT\BOOT.efi should be sufficient for a removable device. Gary Lin > Signed-off-by: xianhu2x > --- > .../Library/GenericBdsLib/BdsBoot.c | 26 ++++++++++++++++++++++ > Core/MdePkg/Include/Uefi/UefiSpec.h | 11 ++++----- > 2 files changed, 32 insertions(+), 5 deletions(-) > > diff --git a/Core/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c b/Core/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c > index d1da635f3..dec5d8cef 100644 > --- a/Core/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c > +++ b/Core/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c > @@ -2384,6 +2384,21 @@ BdsLibBootViaBootOption ( > 0, > &ImageHandle > ); > + // > + //Try UBUNTU boot loader > + // > + if (EFI_ERROR(Status)) { > + FilePath = FileDevicePath (Handle, EFI_REMOVABLE_MEDIA_FILE_NAME_UBUNTU); > + Status = gBS->LoadImage ( > + TRUE, > + gImageHandle, > + FilePath, > + NULL, > + 0, > + &ImageHandle > + ); > + } > + > } > } > } > @@ -3721,6 +3736,17 @@ BdsLibGetBootableHandle ( > &DosHeader, > Hdr > ); > + // > + //Try UBUNTU boot loader > + // > + if (EFI_ERROR(Status)) { > + Status = BdsLibGetImageHeader ( > + SimpleFileSystemHandles[Index], > + EFI_REMOVABLE_MEDIA_FILE_NAME_UBUNTU, > + &DosHeader, > + Hdr > + ); > + } > if (!EFI_ERROR (Status) && > EFI_IMAGE_MACHINE_TYPE_SUPPORTED (Hdr.Pe32->FileHeader.Machine) && > Hdr.Pe32->OptionalHeader.Subsystem == EFI_IMAGE_SUBSYSTEM_EFI_APPLICATION) { > diff --git a/Core/MdePkg/Include/Uefi/UefiSpec.h b/Core/MdePkg/Include/Uefi/UefiSpec.h > index 57cb4e804..e5556952b 100644 > --- a/Core/MdePkg/Include/Uefi/UefiSpec.h > +++ b/Core/MdePkg/Include/Uefi/UefiSpec.h > @@ -2166,11 +2166,12 @@ typedef struct { > // > // EFI File location to boot from on removable media devices > // > -#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA32 L"\\EFI\\BOOT\\BOOTIA32.EFI" > -#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA64 L"\\EFI\\BOOT\\BOOTIA64.EFI" > -#define EFI_REMOVABLE_MEDIA_FILE_NAME_X64 L"\\EFI\\BOOT\\BOOTX64.EFI" > -#define EFI_REMOVABLE_MEDIA_FILE_NAME_ARM L"\\EFI\\BOOT\\BOOTARM.EFI" > -#define EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64 L"\\EFI\\BOOT\\BOOTAA64.EFI" > +#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA32 L"\\EFI\\BOOT\\BOOTIA32.EFI" > +#define EFI_REMOVABLE_MEDIA_FILE_NAME_IA64 L"\\EFI\\BOOT\\BOOTIA64.EFI" > +#define EFI_REMOVABLE_MEDIA_FILE_NAME_X64 L"\\EFI\\BOOT\\BOOTX64.EFI" > +#define EFI_REMOVABLE_MEDIA_FILE_NAME_ARM L"\\EFI\\BOOT\\BOOTARM.EFI" > +#define EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64 L"\\EFI\\BOOT\\BOOTAA64.EFI" > +#define EFI_REMOVABLE_MEDIA_FILE_NAME_UBUNTU_X64 L"\\EFI\\UBUNTU\\GRUBX64.EFI" > > #if defined (MDE_CPU_IA32) > #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_IA32 > -- > 2.14.1.windows.1 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel >