Allow access to ipxe prompt if VM is set to pxe boot (bz #842932)

Enable PNG support (bz #1058176)
This commit is contained in:
Cole Robinson 2014-03-03 19:36:13 -05:00
parent d58ac4037a
commit 3cfe8ca6fd
6 changed files with 79 additions and 60 deletions

View File

@ -0,0 +1,31 @@
From e6f314fa42148c9915b96b7541994c450ae9487c Mon Sep 17 00:00:00 2001
From: Alex Williamson <alex.williamson@redhat.com>
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 <alex.williamson@redhat.com>
---
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

View File

@ -0,0 +1,23 @@
From 22e7c8723aa5a9251f1b8d76869f61bb1a2a59df Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
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

View File

@ -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 );

View File

@ -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 */
/*

View File

@ -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 <crobinso@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 20130517-3.gitc4bce43
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

View File

@ -1 +1 @@
a9ed923fa0b9b5509d2157806c5120c7 ipxe-20130517-gitc4bce43.tar.gz
be0cfc83c75438dd019e9b31fbd0fe4d ipxe-20140303-gitff1e7fc7.tar.gz