* [PATCH][edk2-platforms] Ubuntu boot
@ 2017-09-07 3:14 zwei4
2017-09-07 8:20 ` Liu, XianhuiX
0 siblings, 1 reply; 2+ messages in thread
From: zwei4 @ 2017-09-07 3:14 UTC (permalink / raw)
To: edk2-devel; +Cc: xianhu2x
From: xianhu2x <xianhuix.liu@intel.com>
Add Ubuntu boot loader file path into known OS loader list.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: xianhu2x <xianhuix.liu@intel.com>
---
.../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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH][edk2-platforms] Ubuntu boot
2017-09-07 3:14 [PATCH][edk2-platforms] Ubuntu boot zwei4
@ 2017-09-07 8:20 ` Liu, XianhuiX
0 siblings, 0 replies; 2+ messages in thread
From: Liu, XianhuiX @ 2017-09-07 8:20 UTC (permalink / raw)
To: Wei, David, edk2-devel@lists.01.org
Hi all,
Please ignore this patch. The subject is not quite right.
I have re-submitted a patch with subject: [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017] Ubuntu boot. Thanks.
Best Regards
Liu Xianhui
-----Original Message-----
From: Wei, David
Sent: Thursday, September 7, 2017 11:15 AM
To: edk2-devel@lists.01.org
Cc: Liu, XianhuiX <xianhuix.liu@intel.com>
Subject: [PATCH][edk2-platforms] Ubuntu boot
From: xianhu2x <xianhuix.liu@intel.com>
Add Ubuntu boot loader file path into known OS loader list.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: xianhu2x <xianhuix.liu@intel.com>
---
.../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
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-09-07 8:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-07 3:14 [PATCH][edk2-platforms] Ubuntu boot zwei4
2017-09-07 8:20 ` Liu, XianhuiX
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox