From 3cfe8ca6fdd31662b1c13290ca9101c398288e43 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Mar 04 2014 00:37:00 +0000 Subject: Allow access to ipxe prompt if VM is set to pxe boot (bz #842932) Enable PNG support (bz #1058176) --- diff --git a/0001-Customize-ROM-banner-timeout.patch b/0001-Customize-ROM-banner-timeout.patch new file mode 100644 index 0000000..ec52d98 --- /dev/null +++ b/0001-Customize-ROM-banner-timeout.patch @@ -0,0 +1,31 @@ +From e6f314fa42148c9915b96b7541994c450ae9487c Mon Sep 17 00:00:00 2001 +From: Alex Williamson +Date: Mon, 3 Mar 2014 10:34:14 -0700 +Subject: [PATCH] Customize ROM banner timeout + +Users want some opportunity to interact with the iPXE shell, but +tools like libguestfs want to boot as quickly as possible. Create +a compromise by disabling the interactive banner prompt during ROM +initialization, but retaining it when we actually attempt to boot +from the device. + +https://bugzilla.redhat.com/show_bug.cgi?id=842932 + +Signed-off-by: Alex Williamson +--- + src/config/general.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/config/general.h b/src/config/general.h +index 589798f..07df6a1 100644 +--- a/src/config/general.h ++++ b/src/config/general.h +@@ -43,7 +43,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); + * to the user. + */ + #define BANNER_TIMEOUT 20 +-#define ROM_BANNER_TIMEOUT ( 2 * BANNER_TIMEOUT ) ++#define ROM_BANNER_TIMEOUT 0 + + /* + * Network protocols diff --git a/0002-config-Enable-PNG-support.patch b/0002-config-Enable-PNG-support.patch new file mode 100644 index 0000000..b9637cc --- /dev/null +++ b/0002-config-Enable-PNG-support.patch @@ -0,0 +1,23 @@ +From 22e7c8723aa5a9251f1b8d76869f61bb1a2a59df Mon Sep 17 00:00:00 2001 +From: Cole Robinson +Date: Mon, 3 Mar 2014 18:30:35 -0500 +Subject: [PATCH] config: Enable PNG support + +Requested here: https://bugzilla.redhat.com/show_bug.cgi?id=1058176 +--- + src/config/general.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/config/general.h b/src/config/general.h +index 07df6a1..57850b0 100644 +--- a/src/config/general.h ++++ b/src/config/general.h +@@ -115,7 +115,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); + //#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_PNG /* PNG image support */ + + /* + * Command-line commands to include diff --git a/ipxe-asm.patch b/ipxe-asm.patch deleted file mode 100644 index ee1ba05..0000000 --- a/ipxe-asm.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -rup ipxe-20130517-gitc4bce43/src/arch/i386/interface/pxe/pxe_call.c ipxe-20130517-gitc4bce43.new/src/arch/i386/interface/pxe/pxe_call.c ---- ipxe-20130517-gitc4bce43/src/arch/i386/interface/pxe/pxe_call.c 2013-05-16 15:41:20.000000000 +0100 -+++ ipxe-20130517-gitc4bce43.new/src/arch/i386/interface/pxe/pxe_call.c 2013-05-17 10:55:13.282095767 +0100 -@@ -271,12 +271,14 @@ int pxe_start_nbp ( void ) { - DBG ( "Restarting NBP (%x)\n", jmp ); - - /* Far call to PXE NBP */ -- __asm__ __volatile__ ( REAL_CODE ( "movw %%cx, %%es\n\t" -+ __asm__ __volatile__ ( REAL_CODE ( "pushl %%ebp\n\t" -+ "movw %%cx, %%es\n\t" - "pushw %%es\n\t" - "pushw %%di\n\t" - "sti\n\t" - "lcall $0, $0x7c00\n\t" -- "addw $4, %%sp\n\t" ) -+ "addw $4, %%sp\n\t" -+ "popl %%ebp\n\t" ) - : "=a" ( status ), "=b" ( discard_b ), - "=c" ( discard_c ), "=d" ( discard_d ), - "=D" ( discard_D ) -@@ -284,7 +286,7 @@ int pxe_start_nbp ( void ) { - "c" ( rm_cs ), - "d" ( virt_to_phys ( &pxenv ) ), - "D" ( __from_text16 ( &ppxe ) ) -- : "esi", "ebp", "memory" ); -+ : "esi", "memory" ); - if ( status ) - return -EPXENBP ( status ); - diff --git a/ipxe-banner-timeout.patch b/ipxe-banner-timeout.patch deleted file mode 100644 index b63c948..0000000 --- a/ipxe-banner-timeout.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -rup gpxe-1.0.1.orig/src/config/general.h gpxe-1.0.1.new/src/config/general.h ---- gpxe-1.0.1.orig/src/config/general.h 2010-06-29 20:31:33.000000000 +0100 -+++ gpxe-1.0.1.new/src/config/general.h 2012-03-19 11:53:36.035138977 +0000 -@@ -31,7 +31,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); - * Timer configuration - * - */ --#define BANNER_TIMEOUT 20 /* Tenths of a second for which the shell -+#define BANNER_TIMEOUT 0 /* Tenths of a second for which the shell - banner should appear */ - - /* diff --git a/ipxe.spec b/ipxe.spec index d88a276..38393c3 100644 --- a/ipxe.spec +++ b/ipxe.spec @@ -19,7 +19,7 @@ # because EDK II does not support big-endian hosts. %global buildarches %{ix86} x86_64 -# debugging firmwares does not goes the same way as a normal program. +# debugging firmwares does not go the same way as a normal program. # moreover, all architectures providing debuginfo for a single noarch # package is currently clashing in koji, so don't bother. %global debug_package %{nil} @@ -34,12 +34,12 @@ # # And then change these two: -%global date 20130517 -%global hash c4bce43 +%global date 20140303 +%global hash ff1e7fc7 Name: ipxe Version: %{date} -Release: 3.git%{hash}%{?dist} +Release: 1.git%{hash}%{?dist} Summary: A network boot loader Group: System Environment/Base @@ -48,13 +48,11 @@ URL: http://ipxe.org/ Source0: %{name}-%{version}-git%{hash}.tar.gz Source1: USAGE -# Remove 2 second startup wait. This patch is not intended to -# go upstream. Modifying the general config header file is the -# intended means for downstream customization. -Patch1: %{name}-banner-timeout.patch -# GCC >= 4.8 doesn't like the use of 'ebp' in asm -# https://bugzilla.redhat.com/show_bug.cgi?id=914091 -Patch2: %{name}-asm.patch + +# Allow access to ipxe prompt if VM is set to pxe boot (bz #842932) +Patch0001: 0001-Customize-ROM-banner-timeout.patch +# Enable PNG support (bz #1058176) +Patch0002: 0002-config-Enable-PNG-support.patch %ifarch %{buildarches} BuildRequires: perl @@ -119,8 +117,12 @@ DNS, HTTP, iSCSI, etc. %prep %setup -q -n %{name}-%{version}-git%{hash} -%patch1 -p1 -%patch2 -p1 + +# Allow access to ipxe prompt if VM is set to pxe boot (bz #842932) +%patch0001 -p1 +# Enable PNG support (bz #1058176) +%patch0002 -p1 + cp -a %{SOURCE1} . %build @@ -136,11 +138,11 @@ cd src # ath9k drivers are too big for an Option ROM rm -rf drivers/net/ath/ath9k -#make %{?_smp_mflags} bin/undionly.kpxe bin/ipxe.{dsk,iso,usb,lkrn} allroms \ -make bin/undionly.kpxe bin/ipxe.{dsk,iso,usb,lkrn} allroms \ - ISOLINUX_BIN=${ISOLINUX_BIN} NO_WERROR=1 V=1 \ - GITVERSION=%{hash} \ - CROSS_COMPILE=x86_64-linux-gnu- +make %{?_smp_mflags} \ + bin/undionly.kpxe bin/ipxe.{dsk,iso,usb,lkrn} allroms \ + ISOLINUX_BIN=${ISOLINUX_BIN} NO_WERROR=1 V=1 \ + GITVERSION=%{hash} \ + CROSS_COMPILE=x86_64-linux-gnu- # build roms with efi support for qemu mkdir bin-combined @@ -213,6 +215,10 @@ done %endif %changelog +* Mon Mar 03 2014 Cole Robinson - 20140303-1.gitff1e7fc7 +- Allow access to ipxe prompt if VM is set to pxe boot (bz #842932) +- Enable PNG support (bz #1058176) + * Sat Aug 03 2013 Fedora Release Engineering - 20130517-3.gitc4bce43 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild diff --git a/sources b/sources index b0a32de..40b9c99 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a9ed923fa0b9b5509d2157806c5120c7 ipxe-20130517-gitc4bce43.tar.gz +be0cfc83c75438dd019e9b31fbd0fe4d ipxe-20140303-gitff1e7fc7.tar.gz