diff --git a/src/config/defaults/efi.h b/src/config/defaults/efi.h index 524b2b0ea..898e3194d 100644 --- a/src/config/defaults/efi.h +++ b/src/config/defaults/efi.h @@ -36,10 +36,6 @@ FILE_SECBOOT ( PERMITTED ); #define DOWNLOAD_PROTO_FILE /* Local filesystem access */ -#define IMAGE_EFI /* EFI image support */ -#define IMAGE_SCRIPT /* iPXE script image support */ -#define IMAGE_EFISIG /* EFI signature list support */ - #define SANBOOT_PROTO_ISCSI /* iSCSI protocol */ #define SANBOOT_PROTO_AOE /* AoE protocol */ #define SANBOOT_PROTO_IB_SRP /* Infiniband SCSI RDMA protocol */ @@ -71,7 +67,6 @@ FILE_SECBOOT ( PERMITTED ); #endif #if defined ( __aarch64__ ) -#define IMAGE_GZIP /* GZIP image support */ #define FDT_CMD #endif diff --git a/src/config/defaults/linux.h b/src/config/defaults/linux.h index 4fb9ad6f3..28d981239 100644 --- a/src/config/defaults/linux.h +++ b/src/config/defaults/linux.h @@ -28,8 +28,6 @@ FILE_LICENCE ( GPL2_OR_LATER ); #define DRIVERS_LINUX -#define IMAGE_SCRIPT - #define SANBOOT_PROTO_ISCSI #define SANBOOT_PROTO_AOE #define SANBOOT_PROTO_IB_SRP diff --git a/src/config/defaults/pcbios.h b/src/config/defaults/pcbios.h index 3f24f1b7b..f7515b51a 100644 --- a/src/config/defaults/pcbios.h +++ b/src/config/defaults/pcbios.h @@ -34,12 +34,6 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #define IOMAP_VIRT #endif -#define IMAGE_ELF /* ELF image support */ -#define IMAGE_MULTIBOOT /* MultiBoot image support */ -#define IMAGE_PXE /* PXE image support */ -#define IMAGE_SCRIPT /* iPXE script image support */ -#define IMAGE_BZIMAGE /* Linux bzImage image support */ - #define PXE_STACK /* PXE stack in iPXE - required for PXELINUX */ #define PXE_MENU /* PXE menu booting */ diff --git a/src/config/defaults/sbi.h b/src/config/defaults/sbi.h index de3c9ca79..93d2f4457 100644 --- a/src/config/defaults/sbi.h +++ b/src/config/defaults/sbi.h @@ -37,10 +37,6 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #define SMBIOS_NULL #define TIME_NULL -#define IMAGE_SCRIPT -#define IMAGE_LKRN -#define IMAGE_GZIP - #define REBOOT_CMD #define POWEROFF_CMD #define FDT_CMD diff --git a/src/config/general.h b/src/config/general.h index f77248836..e907074cd 100644 --- a/src/config/general.h +++ b/src/config/general.h @@ -106,30 +106,58 @@ FILE_SECBOOT ( PERMITTED ); #define DNS_RESOLVER /* DNS resolver */ -/* +/***************************************************************************** + * * Image types * - * Etherboot supports various image formats. Select whichever ones - * you want to use. + * iPXE supports various image formats. Select whichever ones you + * want to use. * */ -//#define IMAGE_NBI /* NBI image support */ -//#define IMAGE_ELF /* ELF image support */ -//#define IMAGE_MULTIBOOT /* MultiBoot image support */ -//#define IMAGE_PXE /* PXE image support */ -//#define IMAGE_SCRIPT /* iPXE script image support */ -//#define IMAGE_LKRN /* Linux kernel image support */ -//#define IMAGE_COMBOOT /* SYSLINUX COMBOOT image support */ -//#define IMAGE_EFI /* EFI image support */ -//#define IMAGE_SDI /* SDI image support */ -//#define IMAGE_PNM /* PNM image support */ -#define IMAGE_PNG /* PNG image support */ -#define IMAGE_DER /* DER image support */ -#define IMAGE_PEM /* PEM image support */ -//#define IMAGE_EFISIG /* EFI signature list image support */ -//#define IMAGE_ZLIB /* ZLIB image support */ -//#define IMAGE_GZIP /* GZIP image support */ -//#define IMAGE_UCODE /* Microcode update image support */ + +/* Image types supported on all platforms */ +#define IMAGE_DER /* ASN.1 DER-encoded image support */ +//#define IMAGE_GZIP /* GZIP compressed image support */ +#define IMAGE_PEM /* ASN.1 PEM-encoded image support */ +//#define IMAGE_PNM /* PNM graphical image support */ +#define IMAGE_PNG /* PNG graphical image support */ +#define IMAGE_SCRIPT /* iPXE script image support */ +//#define IMAGE_ZLIB /* ZLIB compressed image support */ + +/* Image types supported only on BIOS platforms */ +#if defined ( PLATFORM_pcbios ) + #define IMAGE_BZIMAGE /* Linux bzImage image support */ + //#define IMAGE_COMBOOT /* SYSLINUX COMBOOT image support */ + #define IMAGE_ELF /* ELF image support */ + #define IMAGE_MULTIBOOT /* MultiBoot image support */ + //#define IMAGE_NBI /* NBI image support */ + #define IMAGE_PXE /* PXE image support */ + //#define IMAGE_SDI /* SDI image support */ +#endif + +/* Image types supported only on EFI platforms */ +#if defined ( PLATFORM_efi ) + #define IMAGE_EFI /* EFI image support */ + #define IMAGE_EFISIG /* EFI signature list image support */ +#endif + +/* Image types supported only on RISC-V SBI platforms */ +#if defined ( PLATFORM_sbi ) + #define IMAGE_LKRN /* Linux kernel image support */ +#endif + +/* Image types supported only on x86 CPUs */ +#if defined ( __i386__ ) || defined ( __x86_64__ ) + //#define IMAGE_UCODE /* Microcode update image support */ +#endif + +/* Enable commonly encountered compressed versions of some image types */ +#if defined ( IMAGE_EFI ) && defined ( __aarch64__ ) + #define IMAGE_GZIP +#endif +#if defined ( IMAGE_LKRN ) && defined ( __riscv ) + #define IMAGE_GZIP +#endif /* * Command-line commands to include