]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[build] Sort general configuration in order of approachability
authorMichael Brown <mcb30@ipxe.org>
Fri, 16 Jan 2026 14:54:10 +0000 (14:54 +0000)
committerMichael Brown <mcb30@ipxe.org>
Fri, 16 Jan 2026 14:54:10 +0000 (14:54 +0000)
Reorder sections within config/general.h so that portions that are
easier to understand and more likely to be modified are towards the
top of the file, with more obscure and less frequently modified
options moved lower down.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/config/general.h

index 5c0368fad620d9905d48e21e8d50ee327d67b835..15698d3628cc8b7c79c7784e0c61c9a76787dd28 100644 (file)
@@ -12,26 +12,6 @@ FILE_SECBOOT ( PERMITTED );
 
 #include <config/defaults.h>
 
-/*****************************************************************************
- *
- * 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 )
-
 /*****************************************************************************
  *
  * Network protocols
@@ -53,17 +33,6 @@ FILE_SECBOOT ( PERMITTED );
   #undef NET_PROTO_LLDP
 #endif
 
-/*****************************************************************************
- *
- * PXE support
- *
- */
-
-#if defined ( PLATFORM_pcbios )
-  #define PXE_MENU             /* PXE menu booting */
-  #define PXE_STACK            /* PXE stack in iPXE - you want this! */
-#endif
-
 /*****************************************************************************
  *
  * Download protocols
@@ -83,6 +52,13 @@ FILE_SECBOOT ( PERMITTED );
   #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 */
+//#define HTTP_HACK_GCE                /* Google Compute Engine hacks */
+
 /*****************************************************************************
  *
  * SAN boot protocols
@@ -100,50 +76,69 @@ FILE_SECBOOT ( PERMITTED );
 
 /*****************************************************************************
  *
- * HTTP 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 */
-//#define HTTP_HACK_GCE                /* Google Compute Engine hacks */
-
-/*****************************************************************************
- *
- * 802.11 cryptosystems and handshaking protocols
+ * Command-line and script commands
  *
  */
 
-#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 */
-
-/*****************************************************************************
- *
- * 802.1x EAP authentication methods
- *
- */
+/* 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_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 */
 
-#define EAP_METHOD_MD5         /* MD5-Challenge port authentication */
-//#define EAP_METHOD_MSCHAPV2  /* MS-CHAPv2 port authentication */
+/* Commands supported only on systems capable of rebooting */
+#if ! defined ( REBOOT_NULL )
+  #define POWEROFF_CMD         /* Power off command */
+  #define REBOOT_CMD           /* Reboot command */
+#endif
 
-/*****************************************************************************
-*
- * Name resolution modules
- *
- */
+/* Commands supported only on systems that may use FDTs */
+#if ! defined ( FDT_NULL )
+  #define FDT_CMD              /* Flattened Device Tree commands */
+#endif
 
-#define DNS_RESOLVER           /* DNS resolver */
+/* Commands supported only on x86 CPUs */
+#if defined ( __i386__ ) || defined ( __x86_64__ )
+  #define CPUID_CMD            /* x86 CPU feature detection command */
+#endif
 
 /*****************************************************************************
  *
  * Image types
  *
- * iPXE supports various image formats.  Select whichever ones you
- * want to use.
- *
  */
 
 /* Image types supported on all platforms */
@@ -192,65 +187,52 @@ FILE_SECBOOT ( PERMITTED );
 
 /*****************************************************************************
  *
- * Command-line and script commands to include
+ * 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.
  */
 
-/* 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_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 */
+#define BANNER_TIMEOUT         20
+#define ROM_BANNER_TIMEOUT     ( 2 * BANNER_TIMEOUT )
 
-/* Commands supported only on systems capable of rebooting */
-#if ! defined ( REBOOT_NULL )
-  #define POWEROFF_CMD         /* Power off command */
-  #define REBOOT_CMD           /* Reboot command */
-#endif
+/*****************************************************************************
+ *
+ * ROM-specific options
+ *
+ */
 
-/* Commands supported only on systems that may use FDTs */
-#if ! defined ( FDT_NULL )
-  #define FDT_CMD              /* Flattened Device Tree commands */
-#endif
+#define AUTOBOOT_ROM_FILTER    /* Autoboot only devices matching our ROM */
+//#define NONPNP_HOOK_INT19    /* Hook INT19 on non-PnP BIOSes */
 
-/* Commands supported only on x86 CPUs */
-#if defined ( __i386__ ) || defined ( __x86_64__ )
-  #define CPUID_CMD            /* x86 CPU feature detection command */
+/*****************************************************************************
+ *
+ * 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
@@ -263,21 +245,31 @@ FILE_SECBOOT ( PERMITTED );
 
 /*****************************************************************************
  *
- * ROM-specific options
+ * Virtual network devices
  *
  */
 
-#define AUTOBOOT_ROM_FILTER    /* Autoboot only devices matching our ROM */
-//#define NONPNP_HOOK_INT19    /* Hook INT19 on non-PnP BIOSes */
+#define VNIC_IPOIB             /* Infiniband IPoIB virtual NICs */
+//#define VNIC_XSIGO           /* Infiniband Xsigo virtual NICs */
 
 /*****************************************************************************
  *
- * Virtual network devices
+ * 802.1x EAP authentication methods
  *
  */
 
-#define VNIC_IPOIB             /* Infiniband IPoIB virtual NICs */
-//#define VNIC_XSIGO           /* Infiniband Xsigo virtual NICs */
+#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 */
 
 /*****************************************************************************
  *