aboutsummaryrefslogtreecommitdiffstats
path: root/src/config
diff options
context:
space:
mode:
authorJoshua Oreman <oremanj@rwcr.net>2009-10-06 19:15:06 -0400
committerMarty Connor <mdc@etherboot.org>2010-01-20 17:23:37 -0500
commitfa4aec8f034f4999cf933161810b96de83ce31a7 (patch)
tree73348c8a175d5b76763d692e662d5179479e976d /src/config
parent9e9cc8c60ff573e02615889a4b7fa469c42fe425 (diff)
downloadipxe-fa4aec8f034f4999cf933161810b96de83ce31a7.tar.gz
[config] Make PXE stack a compile-time option
For extremely tight space requirements and specific applications, it is sometimes desirable to create gPXE images that cannot provide the PXE API functionality to client programs. Add a configuration header option, PXE_STACK, that can be removed to remove this stack. Also add PXE_MENU to control the PXE boot menu, which most uses of gPXE do not need. Signed-off-by: Marty Connor <mdc@etherboot.org>
Diffstat (limited to 'src/config')
-rw-r--r--src/config/config.c11
-rw-r--r--src/config/config_romprefix.c24
-rw-r--r--src/config/defaults/pcbios.h2
-rw-r--r--src/config/general.h7
4 files changed, 44 insertions, 0 deletions
diff --git a/src/config/config.c b/src/config/config.c
index f487ae975..825240252 100644
--- a/src/config/config.c
+++ b/src/config/config.c
@@ -92,6 +92,17 @@ REQUIRE_OBJECT ( ipv4 );
#endif
/*
+ * Drag in all requested PXE support
+ *
+ */
+#ifdef PXE_MENU
+REQUIRE_OBJECT ( pxemenu );
+#endif
+#ifdef PXE_STACK
+REQUIRE_OBJECT ( pxe_call );
+#endif
+
+/*
* Drag in all requested download protocols
*
*/
diff --git a/src/config/config_romprefix.c b/src/config/config_romprefix.c
new file mode 100644
index 000000000..85f1e78ab
--- /dev/null
+++ b/src/config/config_romprefix.c
@@ -0,0 +1,24 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2, or (at
+ * your option) any later version.
+ */
+
+FILE_LICENCE ( GPL2_OR_LATER );
+
+#include <config/general.h>
+
+/** @file
+ *
+ * ROM prefix configuration options
+ *
+ */
+
+/*
+ * Provide UNDI loader if PXE stack is requested
+ *
+ */
+#ifdef PXE_STACK
+REQUIRE_OBJECT ( undiloader );
+#endif
diff --git a/src/config/defaults/pcbios.h b/src/config/defaults/pcbios.h
index 51d729e2f..c09105cc0 100644
--- a/src/config/defaults/pcbios.h
+++ b/src/config/defaults/pcbios.h
@@ -25,6 +25,8 @@ FILE_LICENCE ( GPL2_OR_LATER );
#define IMAGE_BZIMAGE /* Linux bzImage image support */
#define IMAGE_COMBOOT /* SYSLINUX COMBOOT image support */
+#define PXE_STACK /* PXE stack in gPXE - required for PXELINUX */
+#define PXE_MENU /* PXE menu booting */
#define PXE_CMD /* PXE commands */
#define SANBOOT_PROTO_ISCSI /* iSCSI protocol */
diff --git a/src/config/general.h b/src/config/general.h
index 5187e2a17..f721f6122 100644
--- a/src/config/general.h
+++ b/src/config/general.h
@@ -42,6 +42,13 @@ FILE_LICENCE ( GPL2_OR_LATER );
#define NET_PROTO_IPV4 /* IPv4 protocol */
/*
+ * PXE support
+ *
+ */
+//#undef PXE_STACK /* PXE stack in gPXE - you want this! */
+//#undef PXE_MENU /* PXE menu booting */
+
+/*
* Download protocols
*
*/