[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v4 5/6] tools: provide --with-system-ipxe
This option lets user specify which binary is to be used as ipxe. If it is specified, the in-tree ipxe will not be built. This option is in line with other --with-system-* options we provide. Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx> --- v3: ipxe should require rombios Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- config/Tools.mk.in | 1 + tools/config.h.in | 3 +++ tools/configure | 58 +++++++++++++++++++++++++++++++++++++++++++++++ tools/configure.ac | 23 +++++++++++++++++++ tools/libxl/libxl_paths.c | 6 ++++- 5 files changed, 90 insertions(+), 1 deletion(-) diff --git a/config/Tools.mk.in b/config/Tools.mk.in index 4cc9f29090..0964f6f9e9 100644 --- a/config/Tools.mk.in +++ b/config/Tools.mk.in @@ -50,6 +50,7 @@ FLASK_POLICY := @xsmpolicy@ CONFIG_OVMF := @ovmf@ CONFIG_ROMBIOS := @rombios@ CONFIG_SEABIOS := @seabios@ +CONFIG_IPXE := @ipxe@ CONFIG_QEMU_TRAD := @qemu_traditional@ CONFIG_QEMU_XEN := @qemu_xen@ CONFIG_BLKTAP2 := @blktap2@ diff --git a/tools/config.h.in b/tools/config.h.in index c66a78c9b3..5987f087b8 100644 --- a/tools/config.h.in +++ b/tools/config.h.in @@ -96,6 +96,9 @@ /* libutil header file name */ #undef INCLUDE_LIBUTIL_H +/* IPXE path */ +#undef IPXE_PATH + /* OVMF path */ #undef OVMF_PATH diff --git a/tools/configure b/tools/configure index 4863f28306..4bff2c02fd 100755 --- a/tools/configure +++ b/tools/configure @@ -703,6 +703,7 @@ AS86 qemu_traditional blktap2 LINUX_BACKEND_MODULES +ipxe seabios ovmf xsmpolicy @@ -805,6 +806,7 @@ enable_ocamltools enable_xsmpolicy enable_ovmf enable_seabios +enable_ipxe with_linux_backend_modules enable_blktap2 enable_qemu_traditional @@ -812,6 +814,7 @@ enable_rombios with_system_qemu with_system_seabios with_system_ovmf +with_system_ipxe with_extra_qemuu_configure_args with_xenstored enable_systemd @@ -1488,6 +1491,7 @@ Optional Features: --disable-xsmpolicy Disable XSM policy compilation (default is ENABLED) --enable-ovmf Enable OVMF (default is DISABLED) --disable-seabios Disable SeaBIOS (default is ENABLED) + --disable-ipxe Disable IPXE (default is ENABLED) --enable-blktap2 Enable blktap2, (DEFAULT is off) --enable-qemu-traditional Enable qemu traditional device model, (DEFAULT is on @@ -1527,6 +1531,9 @@ Optional Packages: --with-system-ovmf[=PATH] Use system supplied OVMF PATH instead of building and installing our own version + --with-system-ipxe[=PATH] + Use system supplied IPXE PATH instead of building + and installing our own version --with-extra-qemuu-configure-args[="--ARG1 ..."] List of additional configure options for upstream qemu @@ -4184,6 +4191,29 @@ seabios=$ax_cv_seabios +# Check whether --enable-ipxe was given. +if test "${enable_ipxe+set}" = set; then : + enableval=$enable_ipxe; +fi + + +if test "x$enable_ipxe" = "xno"; then : + + ax_cv_ipxe="n" + +elif test "x$enable_ipxe" = "xyes"; then : + + ax_cv_ipxe="y" + +elif test -z $ax_cv_ipxe; then : + + ax_cv_ipxe="y" + +fi +ipxe=$ax_cv_ipxe + + + # Check whether --with-linux-backend-modules was given. if test "${with_linux_backend_modules+set}" = set; then : @@ -4573,6 +4603,34 @@ _ACEOF fi +# Check whether --with-system-ipxe was given. +if test "${with_system_ipxe+set}" = set; then : + withval=$with_system_ipxe; + # Disable compilation of IPXE. + ipxe=n + case $withval in + no) ipxe_path= ;; + *) ipxe_path=$withval ;; + esac + + # IPXE depends on Rombios + if test "x$enable_rombios" = "xno"; then + as_fn_error $? "Rombios is required for using IPXE" "$LINENO" 5 + fi + +fi + +if test "x$ipxe" = "xy" -o -n "$ipxe_path" ; then : + + +cat >>confdefs.h <<_ACEOF +#define IPXE_PATH "${ipxe_path:-$XENFIRMWAREDIR/ipxe.bin}" +_ACEOF + + +fi + + # Check whether --with-extra-qemuu-configure-args was given. if test "${with_extra_qemuu_configure_args+set}" = set; then : withval=$with_extra_qemuu_configure_args; diff --git a/tools/configure.ac b/tools/configure.ac index 0826af8cbc..2db2356380 100644 --- a/tools/configure.ac +++ b/tools/configure.ac @@ -84,6 +84,7 @@ AX_ARG_DEFAULT_ENABLE([ocamltools], [Disable Ocaml tools]) AX_ARG_DEFAULT_ENABLE([xsmpolicy], [Disable XSM policy compilation]) AX_ARG_DEFAULT_DISABLE([ovmf], [Enable OVMF]) AX_ARG_DEFAULT_ENABLE([seabios], [Disable SeaBIOS]) +AX_ARG_DEFAULT_ENABLE([ipxe], [Disable IPXE]) AC_ARG_WITH([linux-backend-modules], AS_HELP_STRING([--with-linux-backend-modules="mod1 mod2"], @@ -241,6 +242,28 @@ AS_IF([test "x$ovmf" = "xy" -o -n "$ovmf_path" ], [ [OVMF path]) ]) +AC_ARG_WITH([system-ipxe], + AS_HELP_STRING([--with-system-ipxe@<:@=PATH@:>@], + [Use system supplied IPXE PATH instead of building and installing + our own version]),[ + # Disable compilation of IPXE. + ipxe=n + case $withval in + no) ipxe_path= ;; + *) ipxe_path=$withval ;; + esac + + # IPXE depends on Rombios + if test "x$enable_rombios" = "xno"; then + AC_MSG_ERROR([Rombios is required for using IPXE]) + fi +],[]) +AS_IF([test "x$ipxe" = "xy" -o -n "$ipxe_path" ], [ + AC_DEFINE_UNQUOTED([IPXE_PATH], + ["${ipxe_path:-$XENFIRMWAREDIR/ipxe.bin}"], + [IPXE path]) +]) + AC_ARG_WITH([extra-qemuu-configure-args], AS_HELP_STRING([--with-extra-qemuu-configure-args@<:@="--ARG1 ..."@:>@], [List of additional configure options for upstream qemu]),[ diff --git a/tools/libxl/libxl_paths.c b/tools/libxl/libxl_paths.c index 8498f82781..3f6a33628e 100644 --- a/tools/libxl/libxl_paths.c +++ b/tools/libxl/libxl_paths.c @@ -55,7 +55,11 @@ const char *libxl__ovmf_path(void) const char *libxl__ipxe_path(void) { - return XENFIRMWAREDIR "/ipxe.bin"; +#ifdef IPXE_PATH + return IPXE_PATH; +#else + return NULL; +#endif } /* -- 2.11.0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |