From: Jonathan Creekmore <jonat...@thecreekmores.org> This adds support for probing for multiboot2 images when booting from EFI.
Signed-off-by: Jonathan Creekmore <jonat...@thecreekmores.org> --- src/config/config.c | 3 +++ src/config/defaults/efi.h | 1 + src/include/ipxe/image.h | 15 ++++++++++++--- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/config/config.c b/src/config/config.c index faf9aef..98f10f3 100644 --- a/src/config/config.c +++ b/src/config/config.c @@ -156,6 +156,9 @@ REQUIRE_OBJECT ( elfboot ); #ifdef IMAGE_MULTIBOOT REQUIRE_OBJECT ( multiboot ); #endif +#ifdef IMAGE_MULTIBOOT2 +REQUIRE_OBJECT ( multiboot2 ); +#endif #ifdef IMAGE_PXE REQUIRE_OBJECT ( pxe_image ); #endif diff --git a/src/config/defaults/efi.h b/src/config/defaults/efi.h index 2e4c283..6c57d27 100644 --- a/src/config/defaults/efi.h +++ b/src/config/defaults/efi.h @@ -26,6 +26,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #define IMAGE_EFI /* EFI image support */ #define IMAGE_SCRIPT /* iPXE script image support */ +#define IMAGE_MULTIBOOT2 /* Multiboot2 image support */ #define SANBOOT_PROTO_ISCSI /* iSCSI protocol */ #define SANBOOT_PROTO_AOE /* AoE protocol */ diff --git a/src/include/ipxe/image.h b/src/include/ipxe/image.h index 2e7eb4c..f0bc8c5 100644 --- a/src/include/ipxe/image.h +++ b/src/include/ipxe/image.h @@ -116,17 +116,26 @@ struct image_type { }; /** + * Multiboot2 image probe priority + * + * Multiboot2 images are also valid executables in another format + * (e.g. ELF) AND might also have multiboot headers on them, so we + * must perform the multiboot2 probe first. + */ +#define PROBE_MULTIBOOT2 01 + +/** * Multiboot image probe priority * * Multiboot images are also valid executables in another format * (e.g. ELF), so we must perform the multiboot probe first. */ -#define PROBE_MULTIBOOT 01 +#define PROBE_MULTIBOOT 02 /** * Normal image probe priority */ -#define PROBE_NORMAL 02 +#define PROBE_NORMAL 03 /** * PXE image probe priority @@ -134,7 +143,7 @@ struct image_type { * PXE images have no signature checks, so will claim all image files. * They must therefore be tried last in the probe order list. */ -#define PROBE_PXE 03 +#define PROBE_PXE 04 /** Executable image type table */ #define IMAGE_TYPES __table ( struct image_type, "image_types" ) -- git-series 0.9.1 _______________________________________________ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel