/
githubmirror
/
ipxe
Обзор
Документация
Войти
/
githubmirror
/
ipxe
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/config/general.h
316 строк
10 KB
Michael Brown
[uri] Add support for "data:" URIs
16 июл 2026, 15:05
16 июл 2026, 15:05
c208006
Код
Авторство
О чём код?
#ifndef CONFIG_GENERAL_H #define CONFIG_GENERAL_H /** @file * * General configuration * */ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); FILE_SECBOOT ( PERMITTED ); #include <config/defaults.h> /***************************************************************************** * * Network protocols * */ /* Protocols supported on all platforms */ #define NET_PROTO_EAPOL /* EAP over LAN protocol */ //#define NET_PROTO_FCOE /* Fibre Channel over Ethernet protocol */ #define NET_PROTO_IPV4 /* IPv4 protocol */ #define NET_PROTO_IPV6 /* IPv6 protocol */ #define NET_PROTO_LACP /* Link Aggregation control protocol */ #define NET_PROTO_LLDP /* Link Layer Discovery protocol */ #define NET_PROTO_STP /* Spanning Tree protocol */ /* Disable protocols not historically included in BIOS builds */ #if defined ( PLATFORM_pcbios ) #undef NET_PROTO_IPV6 #undef NET_PROTO_LLDP #endif /***************************************************************************** * * Download protocols * */ /* Protocols supported on all platforms */ #define DOWNLOAD_PROTO_TFTP /* Trivial File Transfer Protocol */ #define DOWNLOAD_PROTO_HTTP /* Hypertext Transfer Protocol */ #define DOWNLOAD_PROTO_HTTPS /* Secure Hypertext Transfer Protocol */ //#define DOWNLOAD_PROTO_FTP /* File Transfer Protocol */ //#define DOWNLOAD_PROTO_SLAM /* Scalable Local Area Multicast */ //#define DOWNLOAD_PROTO_NFS /* Network File System Protocol */ #define DOWNLOAD_PROTO_DATA /* Inline Data */ /* Protocols supported only on platforms with filesystem abstractions */ #if defined ( PLATFORM_efi ) #define DOWNLOAD_PROTO_FILE /* Local filesystem access */ #endif /* HTTP(S) protocol extensions */ #define HTTP_AUTH_BASIC /* Basic authentication */ #define HTTP_AUTH_DIGEST /* Digest authentication */ #define HTTP_AUTH_NTLM /* NTLM authentication */ //#define HTTP_ENC_PEERDIST /* PeerDist content encoding */ /* Disable protocols not historically included in BIOS builds */ #if defined ( PLATFORM_pcbios ) #undef DOWNLOAD_PROTO_HTTPS #undef HTTP_AUTH_NTLM #endif /***************************************************************************** * * SAN boot protocols * */ /* Protocols supported on all platforms with SAN boot abstractions */ #if ! defined ( SANBOOT_NULL ) #define SANBOOT_PROTO_AOE /* AoE protocol */ #define SANBOOT_PROTO_FCP /* Fibre Channel protocol */ #define SANBOOT_PROTO_HTTP /* HTTP SAN protocol */ #define SANBOOT_PROTO_IB_SRP /* Infiniband SCSI RDMA protocol */ #define SANBOOT_PROTO_ISCSI /* iSCSI protocol */ #endif /***************************************************************************** * * Command-line and script commands * */ /* Commands supported on all platforms */ #define AUTOBOOT_CMD /* Automatic booting */ #define CERT_CMD /* Certificate management commands */ #define CONFIG_CMD /* Option configuration console */ #define CONSOLE_CMD /* Console command */ #define DIGEST_CMD /* Image crypto digest commands */ #define DHCP_CMD /* DHCP management commands */ #define FCMGMT_CMD /* Fibre Channel management commands */ #define FORM_CMD /* Form commands */ #define IBMGMT_CMD /* Infiniband management commands */ #define IFMGMT_CMD /* Interface management commands */ #define IMAGE_CMD /* Image management commands */ #define IMAGE_ARCHIVE_CMD /* Archive image management commands */ //#define IMAGE_CRYPT_CMD /* Image encryption management commands */ //#define IMAGE_MEM_CMD /* Read memory command */ #define IMAGE_SET_CMD /* Image setting commands */ //#define IMAGE_TRUST_CMD /* Image trust management commands */ //#define IPSTAT_CMD /* IP statistics commands */ #define IWMGMT_CMD /* Wireless interface management commands */ #define LOGIN_CMD /* Login command */ //#define LOTEST_CMD /* Loopback testing commands */ #define MENU_CMD /* Menu commands */ //#define NEIGHBOUR_CMD /* Neighbour management commands */ //#define NSLOOKUP_CMD /* DNS resolving command */ #define NTP_CMD /* NTP commands */ #define NVO_CMD /* Non-volatile option storage commands */ #define PARAM_CMD /* Request parameter commands */ #define PCI_CMD /* PCI commands */ //#define PING_CMD /* Ping command */ //#define PROFSTAT_CMD /* Profiling commands */ //#define PXE_CMD /* PXE commands */ #define ROUTE_CMD /* Routing table management commands */ #define SANBOOT_CMD /* SAN boot commands */ #define SHELL_CMD /* Shell command */ #define SHIM_CMD /* EFI shim command (or dummy command) */ #define SYNC_CMD /* Sync command */ //#define TIME_CMD /* Time commands */ #define USB_CMD /* USB commands */ #define VLAN_CMD /* VLAN commands */ /* Commands supported only on systems capable of rebooting */ #if ! defined ( REBOOT_NULL ) #define POWEROFF_CMD /* Power off command */ #define REBOOT_CMD /* Reboot command */ #endif /* Commands supported only on systems that may use FDTs */ #if ! defined ( FDT_NULL ) #define FDT_CMD /* Flattened Device Tree commands */ #endif /* Commands supported only on x86 CPUs */ #if defined ( __i386__ ) || defined ( __x86_64__ ) #define CPUID_CMD /* x86 CPU feature detection command */ #endif /* Disable commands not historically included in BIOS builds */ #if defined ( PLATFORM_pcbios ) #undef CERT_CMD #undef CONSOLE_CMD #undef DIGEST_CMD #undef NTP_CMD #undef PARAM_CMD #undef PCI_CMD #undef USB_CMD #undef VLAN_CMD #endif /***************************************************************************** * * Image types * */ /* 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 */ //#define IMAGE_MIME /* MIME 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 /***************************************************************************** * * Banner timeout configuration * * This controls the timeout for the "Press Ctrl-B for the iPXE * command line" banner displayed when iPXE starts up. The value is * specified in tenths of a second for which the banner should appear. * A value of 0 disables the banner. * * ROM_BANNER_TIMEOUT controls the "Press Ctrl-B to configure iPXE" * banner displayed only by ROM builds of iPXE during POST. This * defaults to being twice the length of BANNER_TIMEOUT, to allow for * BIOSes that switch video modes immediately before calling the * initialisation vector, thus rendering the banner almost invisible * to the user. */ #define BANNER_TIMEOUT 20 #define ROM_BANNER_TIMEOUT ( 2 * BANNER_TIMEOUT ) /***************************************************************************** * * ROM-specific options * */ #define AUTOBOOT_ROM_FILTER /* Autoboot only devices matching our ROM */ //#define NONPNP_HOOK_INT19 /* Hook INT19 on non-PnP BIOSes */ /***************************************************************************** * * PXE support * */ #if defined ( PLATFORM_pcbios ) #define PXE_MENU /* PXE menu booting */ #define PXE_STACK /* PXE stack in iPXE - you want this! */ #endif /***************************************************************************** * * Name resolution modules * */ #define DNS_RESOLVER /* DNS resolver */ /***************************************************************************** * * Certificate sources * */ #if defined ( PLATFORM_efi ) #define CERTS_EFI /* EFI certificate sources */ #endif /***************************************************************************** * * Virtual network devices * */ #define VNIC_IPOIB /* Infiniband IPoIB virtual NICs */ //#define VNIC_XSIGO /* Infiniband Xsigo virtual NICs */ /***************************************************************************** * * 802.1x EAP authentication methods * */ #define EAP_METHOD_MD5 /* MD5-Challenge port authentication */ //#define EAP_METHOD_MSCHAPV2 /* MS-CHAPv2 port authentication */ /***************************************************************************** * * 802.11 cryptosystems and handshaking protocols * */ #define CRYPTO_80211_WEP /* WEP encryption (deprecated and insecure!) */ #define CRYPTO_80211_WPA /* WPA Personal, with passphrase */ #define CRYPTO_80211_WPA2 /* Add support for stronger WPA cryptography */ /***************************************************************************** * * Very obscure configuration options * * You probably don't need to touch these. * */ //#define NULL_TRAP /* Attempt to catch NULL function calls */ //#define GDBSERIAL /* Remote GDB debugging over serial */ //#define GDBUDP /* Remote GDB debugging over UDP */ //#define EFI_DOWNGRADE_UX /* Downgrade UEFI user experience */ #define TIVOLI_VMM_WORKAROUND /* Work around the Tivoli VMM's garbling of SSE * registers when iPXE traps to it due to * privileged instructions */ //#define ERRMSG_80211 /* All 802.11 error descriptions (~3.3kb) */ #include <config/named.h> #include NAMED_CONFIG(general.h) #include <config/local/general.h> #include LOCAL_NAMED_CONFIG(general.h) #endif /* CONFIG_GENERAL_H */