* [Qemu-devel] [PATCH v2 1/3] Add ipxe submodule
2011-04-11 19:35 [Qemu-devel] [PATCH v2 0/3] pc-bios: Use iPXE ROMs Alex Williamson
@ 2011-04-11 19:36 ` Alex Williamson
2011-04-11 19:37 ` [Qemu-devel] [PATCH v2 2/3] PXE: Use consistent naming for PXE ROMs Alex Williamson
` (3 subsequent siblings)
4 siblings, 0 replies; 13+ messages in thread
From: Alex Williamson @ 2011-04-11 19:36 UTC (permalink / raw)
To: anthony, qemu-devel; +Cc: alex.williamson, mcb30, stefanha
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
---
.gitmodules | 3 +++
roms/ipxe | 1 +
2 files changed, 4 insertions(+), 0 deletions(-)
create mode 160000 roms/ipxe
diff --git a/.gitmodules b/.gitmodules
index 44fdd1a..7884471 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -7,3 +7,6 @@
[submodule "roms/SLOF"]
path = roms/SLOF
url = git://git.qemu.org/SLOF.git
+[submodule "roms/ipxe"]
+ path = roms/ipxe
+ url = git://git.qemu.org/ipxe.git
diff --git a/roms/ipxe b/roms/ipxe
new file mode 160000
index 0000000..7aee315
--- /dev/null
+++ b/roms/ipxe
@@ -0,0 +1 @@
+Subproject commit 7aee315f61aaf1be6d2fff26339f28a1137231a5
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [PATCH v2 2/3] PXE: Use consistent naming for PXE ROMs
2011-04-11 19:35 [Qemu-devel] [PATCH v2 0/3] pc-bios: Use iPXE ROMs Alex Williamson
2011-04-11 19:36 ` [Qemu-devel] [PATCH v2 1/3] Add ipxe submodule Alex Williamson
@ 2011-04-11 19:37 ` Alex Williamson
2011-04-11 19:38 ` [Qemu-devel] [PATCH v2 3/3] PXE: Refresh all PXE ROMs from the ipxe submodule Alex Williamson
` (2 subsequent siblings)
4 siblings, 0 replies; 13+ messages in thread
From: Alex Williamson @ 2011-04-11 19:37 UTC (permalink / raw)
To: anthony, qemu-devel; +Cc: alex.williamson, mcb30, stefanha
And add missing ROMs to tarbin build target.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
---
Makefile | 16 ++++++++--------
hw/e1000.c | 2 +-
hw/eepro100.c | 2 +-
hw/ne2000.c | 2 +-
hw/pcnet-pci.c | 2 +-
hw/rtl8139.c | 2 +-
hw/virtio-pci.c | 2 +-
pc-bios/gpxe-eepro100-80861209.rom | Bin
pc-bios/pxe-e1000.bin | Bin
pc-bios/pxe-e1000.rom | Bin
pc-bios/pxe-eepro100.rom | Bin
pc-bios/pxe-ne2k_pci.bin | Bin
pc-bios/pxe-ne2k_pci.rom | Bin
pc-bios/pxe-pcnet.bin | Bin
pc-bios/pxe-pcnet.rom | Bin
pc-bios/pxe-rtl8139.bin | Bin
pc-bios/pxe-rtl8139.rom | Bin
pc-bios/pxe-virtio.bin | Bin
pc-bios/pxe-virtio.rom | Bin
19 files changed, 14 insertions(+), 14 deletions(-)
delete mode 100644 pc-bios/gpxe-eepro100-80861209.rom
delete mode 100644 pc-bios/pxe-e1000.bin
create mode 100644 pc-bios/pxe-e1000.rom
create mode 100644 pc-bios/pxe-eepro100.rom
delete mode 100644 pc-bios/pxe-ne2k_pci.bin
create mode 100644 pc-bios/pxe-ne2k_pci.rom
delete mode 100644 pc-bios/pxe-pcnet.bin
create mode 100644 pc-bios/pxe-pcnet.rom
delete mode 100644 pc-bios/pxe-rtl8139.bin
create mode 100644 pc-bios/pxe-rtl8139.rom
delete mode 100644 pc-bios/pxe-virtio.bin
create mode 100644 pc-bios/pxe-virtio.rom
diff --git a/Makefile b/Makefile
index fa93be5..2433524 100644
--- a/Makefile
+++ b/Makefile
@@ -177,10 +177,8 @@ ifdef INSTALL_BLOBS
BLOBS=bios.bin vgabios.bin vgabios-cirrus.bin \
vgabios-stdvga.bin vgabios-vmware.bin vgabios-qxl.bin \
ppc_rom.bin openbios-sparc32 openbios-sparc64 openbios-ppc \
-gpxe-eepro100-80861209.rom \
-pxe-e1000.bin \
-pxe-ne2k_pci.bin pxe-pcnet.bin \
-pxe-rtl8139.bin pxe-virtio.bin \
+pxe-eepro100.rom pxe-e1000.rom pxe-ne2k_pci.rom \
+pxe-pcnet.rom pxe-rtl8139.rom pxe-virtio.rom \
bamboo.dtb petalogix-s3adsp1800.dtb petalogix-ml605.dtb \
multiboot.bin linuxboot.bin \
s390-zipl.rom \
@@ -326,10 +324,12 @@ tarbin:
$(datadir)/openbios-sparc32 \
$(datadir)/openbios-sparc64 \
$(datadir)/openbios-ppc \
- $(datadir)/pxe-ne2k_pci.bin \
- $(datadir)/pxe-rtl8139.bin \
- $(datadir)/pxe-pcnet.bin \
- $(datadir)/pxe-e1000.bin \
+ $(datadir)/pxe-ne2k_pci.rom \
+ $(datadir)/pxe-rtl8139.rom \
+ $(datadir)/pxe-pcnet.rom \
+ $(datadir)/pxe-e1000.rom \
+ $(datadir)/pxe-eepro100.rom \
+ $(datadir)/pxe-virtio.rom \
$(docdir)/qemu-doc.html \
$(docdir)/qemu-tech.html \
$(mandir)/man1/qemu.1 \
diff --git a/hw/e1000.c b/hw/e1000.c
index fe3e812..f160bfc 100644
--- a/hw/e1000.c
+++ b/hw/e1000.c
@@ -1220,7 +1220,7 @@ static PCIDeviceInfo e1000_info = {
.qdev.vmsd = &vmstate_e1000,
.init = pci_e1000_init,
.exit = pci_e1000_uninit,
- .romfile = "pxe-e1000.bin",
+ .romfile = "pxe-e1000.rom",
.qdev.props = (Property[]) {
DEFINE_NIC_PROPERTIES(E1000State, conf),
DEFINE_PROP_END_OF_LIST(),
diff --git a/hw/eepro100.c b/hw/eepro100.c
index edf48f6..369ad7f 100644
--- a/hw/eepro100.c
+++ b/hw/eepro100.c
@@ -2054,7 +2054,7 @@ static void eepro100_register_devices(void)
PCIDeviceInfo *pci_dev = &e100_devices[i].pci;
/* We use the same rom file for all device ids.
QEMU fixes the device id during rom load. */
- pci_dev->romfile = "gpxe-eepro100-80861209.rom";
+ pci_dev->romfile = "pxe-eepro100.rom";
pci_dev->init = e100_nic_init;
pci_dev->exit = pci_nic_uninit;
pci_dev->qdev.props = e100_properties;
diff --git a/hw/ne2000.c b/hw/ne2000.c
index 5966359..b668ad1 100644
--- a/hw/ne2000.c
+++ b/hw/ne2000.c
@@ -742,7 +742,7 @@ static int pci_ne2000_init(PCIDevice *pci_dev)
if (!pci_dev->qdev.hotplugged) {
static int loaded = 0;
if (!loaded) {
- rom_add_option("pxe-ne2k_pci.bin", -1);
+ rom_add_option("pxe-ne2k_pci.rom", -1);
loaded = 1;
}
}
diff --git a/hw/pcnet-pci.c b/hw/pcnet-pci.c
index 339a401..40ee29d 100644
--- a/hw/pcnet-pci.c
+++ b/hw/pcnet-pci.c
@@ -310,7 +310,7 @@ static int pci_pcnet_init(PCIDevice *pci_dev)
if (!pci_dev->qdev.hotplugged) {
static int loaded = 0;
if (!loaded) {
- rom_add_option("pxe-pcnet.bin", -1);
+ rom_add_option("pxe-pcnet.rom", -1);
loaded = 1;
}
}
diff --git a/hw/rtl8139.c b/hw/rtl8139.c
index d545933..8790a00 100644
--- a/hw/rtl8139.c
+++ b/hw/rtl8139.c
@@ -3484,7 +3484,7 @@ static PCIDeviceInfo rtl8139_info = {
.qdev.vmsd = &vmstate_rtl8139,
.init = pci_rtl8139_init,
.exit = pci_rtl8139_uninit,
- .romfile = "pxe-rtl8139.bin",
+ .romfile = "pxe-rtl8139.rom",
.qdev.props = (Property[]) {
DEFINE_NIC_PROPERTIES(RTL8139State, conf),
DEFINE_PROP_END_OF_LIST(),
diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
index 555f23f..c19629d 100644
--- a/hw/virtio-pci.c
+++ b/hw/virtio-pci.c
@@ -877,7 +877,7 @@ static PCIDeviceInfo virtio_info[] = {
.qdev.size = sizeof(VirtIOPCIProxy),
.init = virtio_net_init_pci,
.exit = virtio_net_exit_pci,
- .romfile = "pxe-virtio.bin",
+ .romfile = "pxe-virtio.rom",
.qdev.props = (Property[]) {
DEFINE_PROP_BIT("ioeventfd", VirtIOPCIProxy, flags,
VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT, false),
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [PATCH v2 3/3] PXE: Refresh all PXE ROMs from the ipxe submodule
2011-04-11 19:35 [Qemu-devel] [PATCH v2 0/3] pc-bios: Use iPXE ROMs Alex Williamson
2011-04-11 19:36 ` [Qemu-devel] [PATCH v2 1/3] Add ipxe submodule Alex Williamson
2011-04-11 19:37 ` [Qemu-devel] [PATCH v2 2/3] PXE: Use consistent naming for PXE ROMs Alex Williamson
@ 2011-04-11 19:38 ` Alex Williamson
2011-04-11 19:48 ` [Qemu-devel] [PATCH v2 0/3] pc-bios: Use iPXE ROMs Anthony Liguori
2011-04-11 21:13 ` Stefan Weil
4 siblings, 0 replies; 13+ messages in thread
From: Alex Williamson @ 2011-04-11 19:38 UTC (permalink / raw)
To: anthony, qemu-devel; +Cc: alex.williamson, mcb30, stefanha
Add script to make this easy to repeat later.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
---
pc-bios/README | 19 ++++----
pc-bios/pxe-e1000.rom | Bin
pc-bios/pxe-eepro100.rom | Bin
pc-bios/pxe-ne2k_pci.rom | Bin
pc-bios/pxe-pcnet.rom | Bin
pc-bios/pxe-rtl8139.rom | Bin
pc-bios/pxe-virtio.rom | Bin
scripts/refresh-pxe-roms.sh | 99 +++++++++++++++++++++++++++++++++++++++++++
8 files changed, 108 insertions(+), 10 deletions(-)
create mode 100755 scripts/refresh-pxe-roms.sh
diff --git a/pc-bios/README b/pc-bios/README
index 646a31a..fe221a9 100644
--- a/pc-bios/README
+++ b/pc-bios/README
@@ -18,16 +18,15 @@
https://github.com/dgibson/SLOF, and the image currently in qemu is
built from git tag qemu-slof-20110323.
-- The PXE roms come from Rom-o-Matic gPXE 0.9.9 with BANNER_TIMEOUT=0
-
- e1000 8086:100E
- eepro100 8086:1209 (also used for 8086:1229 and 8086:2449)
- ns8390 1050:0940
- pcnet32 1022:2000
- rtl8139 10ec:8139
- virtio 1af4:1000
-
- http://rom-o-matic.net/
+- The PXE roms come from the iPXE project. Built with BANNER_TIME 0.
+ Sources available at http://ipxe.org. Vendor:Device ID -> ROM mapping:
+
+ 8086:100e -> pxe-e1000.rom
+ 8086:1209 -> pxe-eepro100.rom
+ 1050:0940 -> pxe-ne2k_pci.rom
+ 1022:2000 -> pxe-pcnet.rom
+ 10ec:8139 -> pxe-rtl8139.rom
+ 1af4:1000 -> pxe-virtio.rom
- The S390 zipl loader is an addition to the official IBM s390-tools
package. That fork is maintained in its own git repository at:
diff --git a/scripts/refresh-pxe-roms.sh b/scripts/refresh-pxe-roms.sh
new file mode 100755
index 0000000..4ba3ffd
--- /dev/null
+++ b/scripts/refresh-pxe-roms.sh
@@ -0,0 +1,99 @@
+#!/bin/sh
+
+# PXE ROM build script
+#
+# 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 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+# Copyright (C) 2011 Red Hat, Inc.
+# Authors: Alex Williamson <alex.williamson@redhat.com>
+#
+# Usage: Run from root of qemu tree
+# ./scripts/refresh-pxe-roms.sh
+
+QEMU_DIR=$PWD
+ROM_DIR="pc-bios"
+BUILD_DIR="roms/ipxe"
+LOCAL_CONFIG="src/config/local/general.h"
+
+function cleanup ()
+{
+ if [ -n "$SAVED_CONFIG" ]; then
+ cp "$SAVED_CONFIG" "$BUILD_DIR"/"$LOCAL_CONFIG"
+ rm "$SAVED_CONFIG"
+ fi
+ cd "$QEMU_DIR"
+}
+
+function make_rom ()
+{
+ cd "$BUILD_DIR"/src
+
+ BUILD_LOG=$(mktemp)
+
+ echo Building "$2"...
+ make bin/"$1".rom > "$BUILD_LOG" 2>&1
+ if [ $? -ne 0 ]; then
+ echo Build failed
+ tail --lines=100 "$BUILD_LOG"
+ rm "$BUILD_LOG"
+ cleanup
+ exit 1
+ fi
+ rm "$BUILD_LOG"
+
+ cp bin/"$1".rom "$QEMU_DIR"/"$ROM_DIR"/"$2"
+
+ cd "$QEMU_DIR"
+}
+
+if [ ! -d "$QEMU_DIR"/"$ROM_DIR" ]; then
+ echo "error: can't find $ROM_DIR directory," \
+ "run me from the root of the qemu tree"
+ exit 1
+fi
+
+if [ ! -d "$BUILD_DIR"/src ]; then
+ echo "error: $BUILD_DIR not populated, try:"
+ echo " git submodule init $BUILD_DIR"
+ echo " git submodule update $BUILD_DIR"
+ exit 1
+fi
+
+if [ -e "$BUILD_DIR"/"$LOCAL_CONFIG" ]; then
+ SAVED_CONFIG=$(mktemp)
+ cp "$BUILD_DIR"/"$LOCAL_CONFIG" "$SAVED_CONFIG"
+fi
+
+echo "#undef BANNER_TIMEOUT" > "$BUILD_DIR"/"$LOCAL_CONFIG"
+echo "#define BANNER_TIMEOUT 0" >> "$BUILD_DIR"/"$LOCAL_CONFIG"
+
+IPXE_VERSION=$(cd "$BUILD_DIR" && git describe --tags)
+if [ -z "$IPXE_VERSION" ]; then
+ echo "error: unable to retrieve git version"
+ cleanup
+ exit 1
+fi
+
+echo "#undef PRODUCT_NAME" >> "$BUILD_DIR"/"$LOCAL_CONFIG"
+echo "#define PRODUCT_NAME \"iPXE $IPXE_VERSION\"" >> "$BUILD_DIR"/"$LOCAL_CONFIG"
+
+make_rom 8086100e pxe-e1000.rom
+make_rom 80861209 pxe-eepro100.rom
+make_rom 10500940 pxe-ne2k_pci.rom
+make_rom 10222000 pxe-pcnet.rom
+make_rom 10ec8139 pxe-rtl8139.rom
+make_rom 1af41000 pxe-virtio.rom
+
+echo done
+cleanup
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/3] pc-bios: Use iPXE ROMs
2011-04-11 19:35 [Qemu-devel] [PATCH v2 0/3] pc-bios: Use iPXE ROMs Alex Williamson
` (2 preceding siblings ...)
2011-04-11 19:38 ` [Qemu-devel] [PATCH v2 3/3] PXE: Refresh all PXE ROMs from the ipxe submodule Alex Williamson
@ 2011-04-11 19:48 ` Anthony Liguori
2011-04-11 19:57 ` Alex Williamson
2011-04-11 21:13 ` Stefan Weil
4 siblings, 1 reply; 13+ messages in thread
From: Anthony Liguori @ 2011-04-11 19:48 UTC (permalink / raw)
To: Alex Williamson; +Cc: qemu-devel, stefanha, mcb30
On 04/11/2011 02:35 PM, Alex Williamson wrote:
> This series replaces our current gPXE based PXE ROMs with iPXE
> versions from the iPXE project (http://ipxe.org). This version
> adds ipxe to our submodules so it can be easily included in
> releases. I'm still including a script for updating these,
> perhaps someone better with Makefiles can eventually adopt this
> to a build target.
>
> This email series is mainly for reference, there's too much
> renaming and replacing binary files to send out to the mailing
> list. I'll strip out the binaries here so the rest can be
> reviewed. For the real code, please pull:
>
> git://github.com/awilliam/qemu.git (ipxe branch)
>
> Thanks to Anthony for already setting up an ipxe mirror.
> Thanks,
Looks good to me. How different is this from what we've been shipping?
Have you tested PXE boot from the builtin TFTP server and from an
external one (like dnsmasq)?
Regards,
Anthony Liguori
> Alex
>
> ---
>
> Alex Williamson (3):
> PXE: Refresh all PXE ROMs from the ipxe submodule
> PXE: Use consistent naming for PXE ROMs
> Add ipxe submodule
>
>
> .gitmodules | 3 +
> Makefile | 16 +++---
> hw/e1000.c | 2 -
> hw/eepro100.c | 2 -
> hw/ne2000.c | 2 -
> hw/pcnet-pci.c | 2 -
> hw/rtl8139.c | 2 -
> hw/virtio-pci.c | 2 -
> pc-bios/README | 19 +++----
> pc-bios/gpxe-eepro100-80861209.rom | Bin
> pc-bios/pxe-e1000.bin | Bin
> pc-bios/pxe-e1000.rom | Bin
> pc-bios/pxe-eepro100.rom | Bin
> pc-bios/pxe-ne2k_pci.bin | Bin
> pc-bios/pxe-ne2k_pci.rom | Bin
> pc-bios/pxe-pcnet.bin | Bin
> pc-bios/pxe-pcnet.rom | Bin
> pc-bios/pxe-rtl8139.bin | Bin
> pc-bios/pxe-rtl8139.rom | Bin
> pc-bios/pxe-virtio.bin | Bin
> pc-bios/pxe-virtio.rom | Bin
> roms/ipxe | 1
> scripts/refresh-pxe-roms.sh | 99 ++++++++++++++++++++++++++++++++++++
> 23 files changed, 126 insertions(+), 24 deletions(-)
> delete mode 100644 pc-bios/gpxe-eepro100-80861209.rom
> delete mode 100644 pc-bios/pxe-e1000.bin
> create mode 100644 pc-bios/pxe-e1000.rom
> create mode 100644 pc-bios/pxe-eepro100.rom
> delete mode 100644 pc-bios/pxe-ne2k_pci.bin
> create mode 100644 pc-bios/pxe-ne2k_pci.rom
> delete mode 100644 pc-bios/pxe-pcnet.bin
> create mode 100644 pc-bios/pxe-pcnet.rom
> delete mode 100644 pc-bios/pxe-rtl8139.bin
> create mode 100644 pc-bios/pxe-rtl8139.rom
> delete mode 100644 pc-bios/pxe-virtio.bin
> create mode 100644 pc-bios/pxe-virtio.rom
> create mode 160000 roms/ipxe
> create mode 100755 scripts/refresh-pxe-roms.sh
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/3] pc-bios: Use iPXE ROMs
2011-04-11 19:48 ` [Qemu-devel] [PATCH v2 0/3] pc-bios: Use iPXE ROMs Anthony Liguori
@ 2011-04-11 19:57 ` Alex Williamson
2011-04-11 20:10 ` Alex Williamson
2011-04-18 17:25 ` Alex Williamson
0 siblings, 2 replies; 13+ messages in thread
From: Alex Williamson @ 2011-04-11 19:57 UTC (permalink / raw)
To: Anthony Liguori; +Cc: qemu-devel, stefanha, mcb30
On Mon, 2011-04-11 at 14:48 -0500, Anthony Liguori wrote:
> On 04/11/2011 02:35 PM, Alex Williamson wrote:
> > This series replaces our current gPXE based PXE ROMs with iPXE
> > versions from the iPXE project (http://ipxe.org). This version
> > adds ipxe to our submodules so it can be easily included in
> > releases. I'm still including a script for updating these,
> > perhaps someone better with Makefiles can eventually adopt this
> > to a build target.
> >
> > This email series is mainly for reference, there's too much
> > renaming and replacing binary files to send out to the mailing
> > list. I'll strip out the binaries here so the rest can be
> > reviewed. For the real code, please pull:
> >
> > git://github.com/awilliam/qemu.git (ipxe branch)
> >
> > Thanks to Anthony for already setting up an ipxe mirror.
> > Thanks,
>
> Looks good to me. How different is this from what we've been shipping?
> Have you tested PXE boot from the builtin TFTP server and from an
> external one (like dnsmasq)?
We were shipping v0.9.9, which was tagged 10/2009. There's been a gpxe
v1.0.0 release since then, plus the split between ipxe and gpxe. I
think Michael is hoping to have a release soon, but the code feels
pretty stable to me as is.
I've tested external booting from dhcp/tftp server for all the NICs.
I'll make a pass through testing with the builtin server and report
back. Thanks,
Alex
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/3] pc-bios: Use iPXE ROMs
2011-04-11 19:57 ` Alex Williamson
@ 2011-04-11 20:10 ` Alex Williamson
2011-04-12 9:38 ` Stefan Hajnoczi
2011-04-18 17:25 ` Alex Williamson
1 sibling, 1 reply; 13+ messages in thread
From: Alex Williamson @ 2011-04-11 20:10 UTC (permalink / raw)
To: Anthony Liguori; +Cc: qemu-devel, stefanha, mcb30
On Mon, 2011-04-11 at 13:57 -0600, Alex Williamson wrote:
> On Mon, 2011-04-11 at 14:48 -0500, Anthony Liguori wrote:
> > On 04/11/2011 02:35 PM, Alex Williamson wrote:
> > > This series replaces our current gPXE based PXE ROMs with iPXE
> > > versions from the iPXE project (http://ipxe.org). This version
> > > adds ipxe to our submodules so it can be easily included in
> > > releases. I'm still including a script for updating these,
> > > perhaps someone better with Makefiles can eventually adopt this
> > > to a build target.
> > >
> > > This email series is mainly for reference, there's too much
> > > renaming and replacing binary files to send out to the mailing
> > > list. I'll strip out the binaries here so the rest can be
> > > reviewed. For the real code, please pull:
> > >
> > > git://github.com/awilliam/qemu.git (ipxe branch)
> > >
> > > Thanks to Anthony for already setting up an ipxe mirror.
> > > Thanks,
> >
> > Looks good to me. How different is this from what we've been shipping?
> > Have you tested PXE boot from the builtin TFTP server and from an
> > external one (like dnsmasq)?
>
> We were shipping v0.9.9, which was tagged 10/2009. There's been a gpxe
> v1.0.0 release since then, plus the split between ipxe and gpxe. I
> think Michael is hoping to have a release soon, but the code feels
> pretty stable to me as is.
>
> I've tested external booting from dhcp/tftp server for all the NICs.
> I'll make a pass through testing with the builtin server and report
> back. Thanks,
Check, tested virtio-net-pci, e1000, rtl8139, ne2k_pci, pcnet, and
i82550 using builtin server, with bootfile and tftp loaded
kernel/initrd. All work. Thanks,
Alex
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/3] pc-bios: Use iPXE ROMs
2011-04-11 20:10 ` Alex Williamson
@ 2011-04-12 9:38 ` Stefan Hajnoczi
0 siblings, 0 replies; 13+ messages in thread
From: Stefan Hajnoczi @ 2011-04-12 9:38 UTC (permalink / raw)
To: mcb30; +Cc: Alex Williamson, qemu-devel, stefanha
On Mon, Apr 11, 2011 at 9:10 PM, Alex Williamson
<alex.williamson@redhat.com> wrote:
> On Mon, 2011-04-11 at 13:57 -0600, Alex Williamson wrote:
>> On Mon, 2011-04-11 at 14:48 -0500, Anthony Liguori wrote:
>> > On 04/11/2011 02:35 PM, Alex Williamson wrote:
>> > > This series replaces our current gPXE based PXE ROMs with iPXE
>> > > versions from the iPXE project (http://ipxe.org). This version
>> > > adds ipxe to our submodules so it can be easily included in
>> > > releases. I'm still including a script for updating these,
>> > > perhaps someone better with Makefiles can eventually adopt this
>> > > to a build target.
>> > >
>> > > This email series is mainly for reference, there's too much
>> > > renaming and replacing binary files to send out to the mailing
>> > > list. I'll strip out the binaries here so the rest can be
>> > > reviewed. For the real code, please pull:
>> > >
>> > > git://github.com/awilliam/qemu.git (ipxe branch)
>> > >
>> > > Thanks to Anthony for already setting up an ipxe mirror.
>> > > Thanks,
>> >
>> > Looks good to me. How different is this from what we've been shipping?
>> > Have you tested PXE boot from the builtin TFTP server and from an
>> > external one (like dnsmasq)?
>>
>> We were shipping v0.9.9, which was tagged 10/2009. There's been a gpxe
>> v1.0.0 release since then, plus the split between ipxe and gpxe. I
>> think Michael is hoping to have a release soon, but the code feels
>> pretty stable to me as is.
>>
>> I've tested external booting from dhcp/tftp server for all the NICs.
>> I'll make a pass through testing with the builtin server and report
>> back. Thanks,
>
> Check, tested virtio-net-pci, e1000, rtl8139, ne2k_pci, pcnet, and
> i82550 using builtin server, with bootfile and tftp loaded
> kernel/initrd. All work. Thanks,
Whenever QEMU wants to merge a new iPXE build it would be nice to run
the tests that Alex performed, plus:
* PXELINUX (to test the PXE interface)
* undionly.kpxe (to test the UNDI interface)
It's fairly easy to do using the builtin DHCP/TFTP servers, but not
that hard with dnsmasq either. The guest could be a Linux kernel and
initramfs that boots and writes "PASS" to the serial port (or over a
TCP connection). We can launch this with a timeout to catch failures
or hangs.
Or maybe iPXE has automated tests that we can run?
Stefan
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/3] pc-bios: Use iPXE ROMs
2011-04-11 19:57 ` Alex Williamson
2011-04-11 20:10 ` Alex Williamson
@ 2011-04-18 17:25 ` Alex Williamson
2011-04-18 17:34 ` Anthony Liguori
1 sibling, 1 reply; 13+ messages in thread
From: Alex Williamson @ 2011-04-18 17:25 UTC (permalink / raw)
To: Anthony Liguori; +Cc: qemu-devel, stefanha, mcb30
On Mon, 2011-04-11 at 13:57 -0600, Alex Williamson wrote:
> On Mon, 2011-04-11 at 14:48 -0500, Anthony Liguori wrote:
> > On 04/11/2011 02:35 PM, Alex Williamson wrote:
> > > This series replaces our current gPXE based PXE ROMs with iPXE
> > > versions from the iPXE project (http://ipxe.org). This version
> > > adds ipxe to our submodules so it can be easily included in
> > > releases. I'm still including a script for updating these,
> > > perhaps someone better with Makefiles can eventually adopt this
> > > to a build target.
> > >
> > > This email series is mainly for reference, there's too much
> > > renaming and replacing binary files to send out to the mailing
> > > list. I'll strip out the binaries here so the rest can be
> > > reviewed. For the real code, please pull:
> > >
> > > git://github.com/awilliam/qemu.git (ipxe branch)
> > >
> > > Thanks to Anthony for already setting up an ipxe mirror.
> > > Thanks,
> >
> > Looks good to me. How different is this from what we've been shipping?
> > Have you tested PXE boot from the builtin TFTP server and from an
> > external one (like dnsmasq)?
>
> We were shipping v0.9.9, which was tagged 10/2009. There's been a gpxe
> v1.0.0 release since then, plus the split between ipxe and gpxe. I
> think Michael is hoping to have a release soon, but the code feels
> pretty stable to me as is.
>
> I've tested external booting from dhcp/tftp server for all the NICs.
> I'll make a pass through testing with the builtin server and report
> back. Thanks,
Ping, any reason this isn't going in? Testing passed, I updated the
script to use bash and alphabetized the Makefile per Stefan Weil's
suggestions. These are updated in the above github tree. Let me know.
Thanks,
Alex
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/3] pc-bios: Use iPXE ROMs
2011-04-18 17:25 ` Alex Williamson
@ 2011-04-18 17:34 ` Anthony Liguori
2011-04-18 20:43 ` Stefan Weil
0 siblings, 1 reply; 13+ messages in thread
From: Anthony Liguori @ 2011-04-18 17:34 UTC (permalink / raw)
To: Alex Williamson; +Cc: qemu-devel, stefanha, mcb30
On 04/18/2011 12:25 PM, Alex Williamson wrote:
> On Mon, 2011-04-11 at 13:57 -0600, Alex Williamson wrote:
>> On Mon, 2011-04-11 at 14:48 -0500, Anthony Liguori wrote:
>>> On 04/11/2011 02:35 PM, Alex Williamson wrote:
>>>> This series replaces our current gPXE based PXE ROMs with iPXE
>>>> versions from the iPXE project (http://ipxe.org). This version
>>>> adds ipxe to our submodules so it can be easily included in
>>>> releases. I'm still including a script for updating these,
>>>> perhaps someone better with Makefiles can eventually adopt this
>>>> to a build target.
>>>>
>>>> This email series is mainly for reference, there's too much
>>>> renaming and replacing binary files to send out to the mailing
>>>> list. I'll strip out the binaries here so the rest can be
>>>> reviewed. For the real code, please pull:
>>>>
>>>> git://github.com/awilliam/qemu.git (ipxe branch)
>>>>
>>>> Thanks to Anthony for already setting up an ipxe mirror.
>>>> Thanks,
>>>
>>> Looks good to me. How different is this from what we've been shipping?
>>> Have you tested PXE boot from the builtin TFTP server and from an
>>> external one (like dnsmasq)?
>>
>> We were shipping v0.9.9, which was tagged 10/2009. There's been a gpxe
>> v1.0.0 release since then, plus the split between ipxe and gpxe. I
>> think Michael is hoping to have a release soon, but the code feels
>> pretty stable to me as is.
>>
>> I've tested external booting from dhcp/tftp server for all the NICs.
>> I'll make a pass through testing with the builtin server and report
>> back. Thanks,
>
> Ping, any reason this isn't going in? Testing passed, I updated the
> script to use bash and alphabetized the Makefile per Stefan Weil's
> suggestions. These are updated in the above github tree. Let me know.
> Thanks,
I actually was just testing the github tree. Unfortunately, it looks
like there's something broken.
You renamed all of the pxe roms to end with .bin but Makefile still
refers to everything as .rom.
This makes make install break along with building from a separate build
directory.
Regards,
Anthony Liguori
>
> Alex
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/3] pc-bios: Use iPXE ROMs
2011-04-18 17:34 ` Anthony Liguori
@ 2011-04-18 20:43 ` Stefan Weil
0 siblings, 0 replies; 13+ messages in thread
From: Stefan Weil @ 2011-04-18 20:43 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Alex Williamson, qemu-devel, stefanha, mcb30
Am 18.04.2011 19:34, schrieb Anthony Liguori:
> On 04/18/2011 12:25 PM, Alex Williamson wrote:
>> On Mon, 2011-04-11 at 13:57 -0600, Alex Williamson wrote:
>>> On Mon, 2011-04-11 at 14:48 -0500, Anthony Liguori wrote:
>>>> On 04/11/2011 02:35 PM, Alex Williamson wrote:
>>>>> This series replaces our current gPXE based PXE ROMs with iPXE
>>>>> versions from the iPXE project (http://ipxe.org). This version
>>>>> adds ipxe to our submodules so it can be easily included in
>>>>> releases. I'm still including a script for updating these,
>>>>> perhaps someone better with Makefiles can eventually adopt this
>>>>> to a build target.
>>>>>
>>>>> This email series is mainly for reference, there's too much
>>>>> renaming and replacing binary files to send out to the mailing
>>>>> list. I'll strip out the binaries here so the rest can be
>>>>> reviewed. For the real code, please pull:
>>>>>
>>>>> git://github.com/awilliam/qemu.git (ipxe branch)
>>>>>
>>>>> Thanks to Anthony for already setting up an ipxe mirror.
>>>>> Thanks,
>>>>
>>>> Looks good to me. How different is this from what we've been shipping?
>>>> Have you tested PXE boot from the builtin TFTP server and from an
>>>> external one (like dnsmasq)?
>>>
>>> We were shipping v0.9.9, which was tagged 10/2009. There's been a gpxe
>>> v1.0.0 release since then, plus the split between ipxe and gpxe. I
>>> think Michael is hoping to have a release soon, but the code feels
>>> pretty stable to me as is.
>>>
>>> I've tested external booting from dhcp/tftp server for all the NICs.
>>> I'll make a pass through testing with the builtin server and report
>>> back. Thanks,
>>
>> Ping, any reason this isn't going in? Testing passed, I updated the
>> script to use bash and alphabetized the Makefile per Stefan Weil's
>> suggestions. These are updated in the above github tree. Let me know.
>> Thanks,
>
> I actually was just testing the github tree. Unfortunately, it looks
> like there's something broken.
>
> You renamed all of the pxe roms to end with .bin but Makefile still
> refers to everything as .rom.
>
> This makes make install break along with building from a separate build
> directory.
>
> Regards,
>
> Anthony Liguori
Acked-by: Stefan Weil <weil@mail.berlios.de>
The patch renames .bin to .rom, so the Makefile should be ok.
Regards,
Stefan Weil
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/3] pc-bios: Use iPXE ROMs
2011-04-11 19:35 [Qemu-devel] [PATCH v2 0/3] pc-bios: Use iPXE ROMs Alex Williamson
` (3 preceding siblings ...)
2011-04-11 19:48 ` [Qemu-devel] [PATCH v2 0/3] pc-bios: Use iPXE ROMs Anthony Liguori
@ 2011-04-11 21:13 ` Stefan Weil
2011-04-11 21:26 ` Alex Williamson
4 siblings, 1 reply; 13+ messages in thread
From: Stefan Weil @ 2011-04-11 21:13 UTC (permalink / raw)
To: Alex Williamson; +Cc: stefanha, qemu-devel, mcb30
Am 11.04.2011 21:35, schrieb Alex Williamson:
> This series replaces our current gPXE based PXE ROMs with iPXE
> versions from the iPXE project (http://ipxe.org). This version
> adds ipxe to our submodules so it can be easily included in
> releases. I'm still including a script for updating these,
> perhaps someone better with Makefiles can eventually adopt this
> to a build target.
>
> This email series is mainly for reference, there's too much
> renaming and replacing binary files to send out to the mailing
> list. I'll strip out the binaries here so the rest can be
> reviewed. For the real code, please pull:
>
> git://github.com/awilliam/qemu.git (ipxe branch)
>
> Thanks to Anthony for already setting up an ipxe mirror.
> Thanks,
>
> Alex
>
> ---
>
> Alex Williamson (3):
> PXE: Refresh all PXE ROMs from the ipxe submodule
> PXE: Use consistent naming for PXE ROMs
> Add ipxe submodule
>
>
> .gitmodules | 3 +
> Makefile | 16 +++---
> hw/e1000.c | 2 -
> hw/eepro100.c | 2 -
> hw/ne2000.c | 2 -
> hw/pcnet-pci.c | 2 -
> hw/rtl8139.c | 2 -
> hw/virtio-pci.c | 2 -
> pc-bios/README | 19 +++----
> pc-bios/gpxe-eepro100-80861209.rom | Bin
> pc-bios/pxe-e1000.bin | Bin
> pc-bios/pxe-e1000.rom | Bin
> pc-bios/pxe-eepro100.rom | Bin
> pc-bios/pxe-ne2k_pci.bin | Bin
> pc-bios/pxe-ne2k_pci.rom | Bin
> pc-bios/pxe-pcnet.bin | Bin
> pc-bios/pxe-pcnet.rom | Bin
> pc-bios/pxe-rtl8139.bin | Bin
> pc-bios/pxe-rtl8139.rom | Bin
> pc-bios/pxe-virtio.bin | Bin
> pc-bios/pxe-virtio.rom | Bin
> roms/ipxe | 1
> scripts/refresh-pxe-roms.sh | 99 ++++++++++++++++++++++++++++++++++++
> 23 files changed, 126 insertions(+), 24 deletions(-)
> delete mode 100644 pc-bios/gpxe-eepro100-80861209.rom
> delete mode 100644 pc-bios/pxe-e1000.bin
> create mode 100644 pc-bios/pxe-e1000.rom
> create mode 100644 pc-bios/pxe-eepro100.rom
> delete mode 100644 pc-bios/pxe-ne2k_pci.bin
> create mode 100644 pc-bios/pxe-ne2k_pci.rom
> delete mode 100644 pc-bios/pxe-pcnet.bin
> create mode 100644 pc-bios/pxe-pcnet.rom
> delete mode 100644 pc-bios/pxe-rtl8139.bin
> create mode 100644 pc-bios/pxe-rtl8139.rom
> delete mode 100644 pc-bios/pxe-virtio.bin
> create mode 100644 pc-bios/pxe-virtio.rom
> create mode 160000 roms/ipxe
> create mode 100755 scripts/refresh-pxe-roms.sh
>
Hi,
thanks for your patches. I have two small remarks:
$ scripts/refresh-pxe-roms.sh
scripts/refresh-pxe-roms.sh: 29: Syntax error: "(" unexpected
Obviously this script depends on features only supported by
more advanced shells like bash. It fails with /bin/sh -> dash.
My second remark is about lists like those in Makefile:
they should be sorted alphabetically.
This may seem a cosmetic change, but it improves readability,
avoids errors like duplicate or missing entries and also can
avoid merge conflicts.
Regards,
Stefan Weil
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/3] pc-bios: Use iPXE ROMs
2011-04-11 21:13 ` Stefan Weil
@ 2011-04-11 21:26 ` Alex Williamson
0 siblings, 0 replies; 13+ messages in thread
From: Alex Williamson @ 2011-04-11 21:26 UTC (permalink / raw)
To: Stefan Weil; +Cc: stefanha, qemu-devel, mcb30
On Mon, 2011-04-11 at 23:13 +0200, Stefan Weil wrote:
> Am 11.04.2011 21:35, schrieb Alex Williamson:
> > This series replaces our current gPXE based PXE ROMs with iPXE
> > versions from the iPXE project (http://ipxe.org). This version
> > adds ipxe to our submodules so it can be easily included in
> > releases. I'm still including a script for updating these,
> > perhaps someone better with Makefiles can eventually adopt this
> > to a build target.
> >
> > This email series is mainly for reference, there's too much
> > renaming and replacing binary files to send out to the mailing
> > list. I'll strip out the binaries here so the rest can be
> > reviewed. For the real code, please pull:
> >
> > git://github.com/awilliam/qemu.git (ipxe branch)
> >
> > Thanks to Anthony for already setting up an ipxe mirror.
> > Thanks,
> >
> > Alex
> >
> > ---
> >
> > Alex Williamson (3):
> > PXE: Refresh all PXE ROMs from the ipxe submodule
> > PXE: Use consistent naming for PXE ROMs
> > Add ipxe submodule
> >
> >
> > .gitmodules | 3 +
> > Makefile | 16 +++---
> > hw/e1000.c | 2 -
> > hw/eepro100.c | 2 -
> > hw/ne2000.c | 2 -
> > hw/pcnet-pci.c | 2 -
> > hw/rtl8139.c | 2 -
> > hw/virtio-pci.c | 2 -
> > pc-bios/README | 19 +++----
> > pc-bios/gpxe-eepro100-80861209.rom | Bin
> > pc-bios/pxe-e1000.bin | Bin
> > pc-bios/pxe-e1000.rom | Bin
> > pc-bios/pxe-eepro100.rom | Bin
> > pc-bios/pxe-ne2k_pci.bin | Bin
> > pc-bios/pxe-ne2k_pci.rom | Bin
> > pc-bios/pxe-pcnet.bin | Bin
> > pc-bios/pxe-pcnet.rom | Bin
> > pc-bios/pxe-rtl8139.bin | Bin
> > pc-bios/pxe-rtl8139.rom | Bin
> > pc-bios/pxe-virtio.bin | Bin
> > pc-bios/pxe-virtio.rom | Bin
> > roms/ipxe | 1
> > scripts/refresh-pxe-roms.sh | 99 ++++++++++++++++++++++++++++++++++++
> > 23 files changed, 126 insertions(+), 24 deletions(-)
> > delete mode 100644 pc-bios/gpxe-eepro100-80861209.rom
> > delete mode 100644 pc-bios/pxe-e1000.bin
> > create mode 100644 pc-bios/pxe-e1000.rom
> > create mode 100644 pc-bios/pxe-eepro100.rom
> > delete mode 100644 pc-bios/pxe-ne2k_pci.bin
> > create mode 100644 pc-bios/pxe-ne2k_pci.rom
> > delete mode 100644 pc-bios/pxe-pcnet.bin
> > create mode 100644 pc-bios/pxe-pcnet.rom
> > delete mode 100644 pc-bios/pxe-rtl8139.bin
> > create mode 100644 pc-bios/pxe-rtl8139.rom
> > delete mode 100644 pc-bios/pxe-virtio.bin
> > create mode 100644 pc-bios/pxe-virtio.rom
> > create mode 160000 roms/ipxe
> > create mode 100755 scripts/refresh-pxe-roms.sh
> >
>
> Hi,
>
> thanks for your patches. I have two small remarks:
>
> $ scripts/refresh-pxe-roms.sh
> scripts/refresh-pxe-roms.sh: 29: Syntax error: "(" unexpected
>
> Obviously this script depends on features only supported by
> more advanced shells like bash. It fails with /bin/sh -> dash.
Ok, switched to bash, hopefully that works better for you. Thanks for
finding that.
> My second remark is about lists like those in Makefile:
> they should be sorted alphabetically.
> This may seem a cosmetic change, but it improves readability,
> avoids errors like duplicate or missing entries and also can
> avoid merge conflicts.
Simple enough. I fixed both of these in the git tree, please verify.
Thanks,
Alex
^ permalink raw reply [flat|nested] 13+ messages in thread