Compare commits
No commits in common. "c8" and "c10s" have entirely different histories.
5
.gitignore
vendored
5
.gitignore
vendored
@ -1 +1,4 @@
|
|||||||
SOURCES/ipxe-20181214-git133f4c47.tar.xz
|
noarch/
|
||||||
|
.build*.log
|
||||||
|
*.src.rpm
|
||||||
|
/ipxe-*.tar.xz
|
||||||
|
@ -1 +0,0 @@
|
|||||||
a79e649fbb476761a9e5a165f3467d783c0a5fe9 SOURCES/ipxe-20181214-git133f4c47.tar.xz
|
|
10
0001-build-customize-configuration.patch
Normal file
10
0001-build-customize-configuration.patch
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
diff -Naupr ipxe-20240119-gitde8a0821/src/config/local/general.h ipxe-20240119-gitde8a0821.new/src/config/local/general.h
|
||||||
|
--- ipxe-20240119-gitde8a0821/src/config/local/general.h 1970-01-01 03:00:00
|
||||||
|
+++ ipxe-20240119-gitde8a0821.new/src/config/local/general.h 2024-02-24 13:34:58
|
||||||
|
@@ -0,0 +1,6 @@
|
||||||
|
+// enable additional options
|
||||||
|
+#define NET_PROTO_IPV6 /* IPv6 protocol */
|
||||||
|
+#define DOWNLOAD_PROTO_HTTPS /* Secure Hypertext Transfer Protocol */
|
||||||
|
+#define DOWNLOAD_PROTO_NFS /* Network File System Protocol */
|
||||||
|
+#define REBOOT_CMD /* Reboot command */
|
||||||
|
+#define POWEROFF_CMD /* Power off command */
|
@ -1,129 +0,0 @@
|
|||||||
From c2226b3d1a4d9fc1daeb8dc6b9034d1fb46c1308 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michael Brown <mcb30@ipxe.org>
|
|
||||||
Date: Sun, 14 Jul 2019 15:27:01 +0100
|
|
||||||
Subject: [PATCH] [arm] Provide dummy implementations for {in,out}[s]{b,w,l}
|
|
||||||
|
|
||||||
It is currently not possible to build the all-drivers iPXE binaries
|
|
||||||
for ARM, since there is no implementation for inb(), outb(), etc.
|
|
||||||
|
|
||||||
There is no common standard for accessing I/O space on ARM platforms,
|
|
||||||
and there are almost no ARM-compatible peripherals that actually
|
|
||||||
require I/O space accesses.
|
|
||||||
|
|
||||||
Provide dummy implementations that behave as though no device is
|
|
||||||
present (i.e. ignore writes, return all bits high for reads). This is
|
|
||||||
sufficient to allow the all-drivers binaries to link, and should cause
|
|
||||||
drivers to behave as though no I/O space peripherals are present in
|
|
||||||
the system.
|
|
||||||
|
|
||||||
Signed-off-by: Michael Brown <mcb30@ipxe.org>
|
|
||||||
---
|
|
||||||
src/arch/arm/include/ipxe/arm_io.h | 77 +++++++++++++++++++++++-------
|
|
||||||
1 file changed, 59 insertions(+), 18 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/arch/arm/include/ipxe/arm_io.h b/src/arch/arm/include/ipxe/arm_io.h
|
|
||||||
index f8765af752..105f22bfbf 100644
|
|
||||||
--- a/src/arch/arm/include/ipxe/arm_io.h
|
|
||||||
+++ b/src/arch/arm/include/ipxe/arm_io.h
|
|
||||||
@@ -43,42 +43,83 @@ IOAPI_INLINE ( arm, bus_to_phys ) ( unsigned long bus_addr ) {
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
-#define ARM_READX( _api_func, _type, _insn_suffix, _reg_prefix ) \
|
|
||||||
+#define ARM_READX( _suffix, _type, _insn_suffix, _reg_prefix ) \
|
|
||||||
static inline __always_inline _type \
|
|
||||||
-IOAPI_INLINE ( arm, _api_func ) ( volatile _type *io_addr ) { \
|
|
||||||
+IOAPI_INLINE ( arm, read ## _suffix ) ( volatile _type *io_addr ) { \
|
|
||||||
_type data; \
|
|
||||||
__asm__ __volatile__ ( "ldr" _insn_suffix " %" _reg_prefix "0, %1" \
|
|
||||||
: "=r" ( data ) : "Qo" ( *io_addr ) ); \
|
|
||||||
return data; \
|
|
||||||
}
|
|
||||||
#ifdef __aarch64__
|
|
||||||
-ARM_READX ( readb, uint8_t, "b", "w" );
|
|
||||||
-ARM_READX ( readw, uint16_t, "h", "w" );
|
|
||||||
-ARM_READX ( readl, uint32_t, "", "w" );
|
|
||||||
-ARM_READX ( readq, uint64_t, "", "" );
|
|
||||||
+ARM_READX ( b, uint8_t, "b", "w" );
|
|
||||||
+ARM_READX ( w, uint16_t, "h", "w" );
|
|
||||||
+ARM_READX ( l, uint32_t, "", "w" );
|
|
||||||
+ARM_READX ( q, uint64_t, "", "" );
|
|
||||||
#else
|
|
||||||
-ARM_READX ( readb, uint8_t, "b", "" );
|
|
||||||
-ARM_READX ( readw, uint16_t, "h", "" );
|
|
||||||
-ARM_READX ( readl, uint32_t, "", "" );
|
|
||||||
+ARM_READX ( b, uint8_t, "b", "" );
|
|
||||||
+ARM_READX ( w, uint16_t, "h", "" );
|
|
||||||
+ARM_READX ( l, uint32_t, "", "" );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#define ARM_WRITEX( _api_func, _type, _insn_suffix, _reg_prefix ) \
|
|
||||||
+#define ARM_WRITEX( _suffix, _type, _insn_suffix, _reg_prefix ) \
|
|
||||||
static inline __always_inline void \
|
|
||||||
-IOAPI_INLINE ( arm, _api_func ) ( _type data, volatile _type *io_addr ) { \
|
|
||||||
+IOAPI_INLINE ( arm, write ## _suffix ) ( _type data, \
|
|
||||||
+ volatile _type *io_addr ) { \
|
|
||||||
__asm__ __volatile__ ( "str" _insn_suffix " %" _reg_prefix "0, %1" \
|
|
||||||
: : "r" ( data ), "Qo" ( *io_addr ) ); \
|
|
||||||
}
|
|
||||||
#ifdef __aarch64__
|
|
||||||
-ARM_WRITEX ( writeb, uint8_t, "b", "w" );
|
|
||||||
-ARM_WRITEX ( writew, uint16_t, "h", "w" );
|
|
||||||
-ARM_WRITEX ( writel, uint32_t, "", "w" );
|
|
||||||
-ARM_WRITEX ( writeq, uint64_t, "", "" );
|
|
||||||
+ARM_WRITEX ( b, uint8_t, "b", "w" );
|
|
||||||
+ARM_WRITEX ( w, uint16_t, "h", "w" );
|
|
||||||
+ARM_WRITEX ( l, uint32_t, "", "w" );
|
|
||||||
+ARM_WRITEX ( q, uint64_t, "", "" );
|
|
||||||
#else
|
|
||||||
-ARM_WRITEX ( writeb, uint8_t, "b", "" );
|
|
||||||
-ARM_WRITEX ( writew, uint16_t, "h", "" );
|
|
||||||
-ARM_WRITEX ( writel, uint32_t, "", "" );
|
|
||||||
+ARM_WRITEX ( b, uint8_t, "b", "" );
|
|
||||||
+ARM_WRITEX ( w, uint16_t, "h", "" );
|
|
||||||
+ARM_WRITEX ( l, uint32_t, "", "" );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+/*
|
|
||||||
+ * Dummy PIO reads and writes up to 32 bits
|
|
||||||
+ *
|
|
||||||
+ * There is no common standard for I/O-space access for ARM, and
|
|
||||||
+ * non-MMIO peripherals are vanishingly rare. Provide dummy
|
|
||||||
+ * implementations that will allow code to link and should cause
|
|
||||||
+ * drivers to simply fail to detect hardware at runtime.
|
|
||||||
+ *
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+#define ARM_INX( _suffix, _type ) \
|
|
||||||
+static inline __always_inline _type \
|
|
||||||
+IOAPI_INLINE ( arm, in ## _suffix ) ( volatile _type *io_addr __unused) { \
|
|
||||||
+ return ~( (_type) 0 ); \
|
|
||||||
+} \
|
|
||||||
+static inline __always_inline void \
|
|
||||||
+IOAPI_INLINE ( arm, ins ## _suffix ) ( volatile _type *io_addr __unused, \
|
|
||||||
+ _type *data, unsigned int count ) { \
|
|
||||||
+ memset ( data, 0xff, count * sizeof ( *data ) ); \
|
|
||||||
+}
|
|
||||||
+ARM_INX ( b, uint8_t );
|
|
||||||
+ARM_INX ( w, uint16_t );
|
|
||||||
+ARM_INX ( l, uint32_t );
|
|
||||||
+
|
|
||||||
+#define ARM_OUTX( _suffix, _type ) \
|
|
||||||
+static inline __always_inline void \
|
|
||||||
+IOAPI_INLINE ( arm, out ## _suffix ) ( _type data __unused, \
|
|
||||||
+ volatile _type *io_addr __unused ) { \
|
|
||||||
+ /* Do nothing */ \
|
|
||||||
+} \
|
|
||||||
+static inline __always_inline void \
|
|
||||||
+IOAPI_INLINE ( arm, outs ## _suffix ) ( volatile _type *io_addr __unused, \
|
|
||||||
+ const _type *data __unused, \
|
|
||||||
+ unsigned int count __unused ) { \
|
|
||||||
+ /* Do nothing */ \
|
|
||||||
+}
|
|
||||||
+ARM_OUTX ( b, uint8_t );
|
|
||||||
+ARM_OUTX ( w, uint16_t );
|
|
||||||
+ARM_OUTX ( l, uint32_t );
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* Slow down I/O
|
|
||||||
*
|
|
@ -1,17 +0,0 @@
|
|||||||
From: Paolo Bonzini <pbonzini@redhat.com>
|
|
||||||
Date: Tue, 17 Nov 2015 11:56:06 -0500
|
|
||||||
Subject: [PATCH ipxe] build: customize configuration
|
|
||||||
|
|
||||||
diff --git a/src/config/local/general.h b/src/config/local/general.h
|
|
||||||
index 5814511..47d0e1a 100644
|
|
||||||
--- a/src/config/local/general.h
|
|
||||||
+++ b/src/config/local/general.h
|
|
||||||
@@ -0,0 +1,5 @@
|
|
||||||
+#undef ROM_BANNER_TIMEOUT
|
|
||||||
+#define ROM_BANNER_TIMEOUT 0
|
|
||||||
+
|
|
||||||
+/* Enable IPv6. */
|
|
||||||
+#define NET_PROTO_IPV6
|
|
||||||
--
|
|
||||||
2.9.3
|
|
||||||
|
|
@ -1,119 +0,0 @@
|
|||||||
From 2de005e9ac399f7064968a2611f266dc86a96700 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Date: Fri, 24 Jul 2020 19:15:28 +0200
|
|
||||||
Subject: [PATCH] [efi] perform cable detection at NII initialization on HPE
|
|
||||||
557SFP+
|
|
||||||
|
|
||||||
Commit c0b61bad99ba ("[efi] Work around bugs in Emulex NII driver",
|
|
||||||
2015-08-17) added PXE_OPFLAGS_INITIALIZE_DETECT_CABLE to nii_open() for
|
|
||||||
working around Emulex NII driver bugs.
|
|
||||||
|
|
||||||
That broke some Mellanox drivers, so commit 6324227dcaa8 ("[efi] Skip
|
|
||||||
cable detection at initialisation where possible", 2017-03-19) predicated
|
|
||||||
PXE_OPFLAGS_INITIALIZE_DETECT_CABLE on the NII driver's *inability* to
|
|
||||||
report link status.
|
|
||||||
|
|
||||||
This in turn breaks the NII driver on (some?) HPE 557SFP+ cards, as those
|
|
||||||
drivers are capable of reporting link status, but they still need cable
|
|
||||||
detection.
|
|
||||||
|
|
||||||
So check for this card (through PCI vendor / device / subsys vendor /
|
|
||||||
subsys device identifiers), and opt for cable detection regardless of link
|
|
||||||
status reporting.
|
|
||||||
|
|
||||||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1740827
|
|
||||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
---
|
|
||||||
src/drivers/net/efi/nii.c | 43 ++++++++++++++++++++++++++++++++++++---
|
|
||||||
1 file changed, 40 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/drivers/net/efi/nii.c b/src/drivers/net/efi/nii.c
|
|
||||||
index 2d87e0c63f14..0cf065e0818f 100644
|
|
||||||
--- a/src/drivers/net/efi/nii.c
|
|
||||||
+++ b/src/drivers/net/efi/nii.c
|
|
||||||
@@ -193,6 +193,9 @@ struct nii_nic {
|
|
||||||
|
|
||||||
/** Mapping list */
|
|
||||||
struct list_head mappings;
|
|
||||||
+
|
|
||||||
+ /** quirk needed for HPE 557SFP+ */
|
|
||||||
+ int quirk_hpe557sfpp;
|
|
||||||
};
|
|
||||||
|
|
||||||
/** Maximum number of received packets per poll */
|
|
||||||
@@ -219,6 +222,7 @@ static int nii_pci_open ( struct nii_nic *nii ) {
|
|
||||||
int bar;
|
|
||||||
EFI_STATUS efirc;
|
|
||||||
int rc;
|
|
||||||
+ uint16_t vid, did, subsys_vid, subsys_did;
|
|
||||||
|
|
||||||
/* Locate PCI I/O protocol */
|
|
||||||
if ( ( rc = efi_locate_device ( device, &efi_pci_io_protocol_guid,
|
|
||||||
@@ -255,7 +259,7 @@ static int nii_pci_open ( struct nii_nic *nii ) {
|
|
||||||
rc = -EEFI ( efirc );
|
|
||||||
DBGC ( nii, "NII %s could not get BAR %d attributes: "
|
|
||||||
"%s\n", nii->dev.name, bar, strerror ( rc ) );
|
|
||||||
- goto err_get_bar_attributes;
|
|
||||||
+ goto err_pci;
|
|
||||||
}
|
|
||||||
if ( desc.acpi->ResType == ACPI_ADDRESS_SPACE_TYPE_MEM ) {
|
|
||||||
nii->mem_bar = bar;
|
|
||||||
@@ -276,9 +280,36 @@ static int nii_pci_open ( struct nii_nic *nii ) {
|
|
||||||
DBGC ( nii, "no I/O BAR\n" );
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /* Check if HPE 557SFP+ quirk is needed */
|
|
||||||
+ if ( ( efirc = nii->pci_io->Pci.Read ( nii->pci_io,
|
|
||||||
+ EfiPciIoWidthUint16,
|
|
||||||
+ PCI_VENDOR_ID, 1,
|
|
||||||
+ &vid ) ) != 0 ||
|
|
||||||
+ ( efirc = nii->pci_io->Pci.Read ( nii->pci_io,
|
|
||||||
+ EfiPciIoWidthUint16,
|
|
||||||
+ PCI_DEVICE_ID, 1,
|
|
||||||
+ &did ) ) != 0 ||
|
|
||||||
+ ( efirc = nii->pci_io->Pci.Read ( nii->pci_io,
|
|
||||||
+ EfiPciIoWidthUint16,
|
|
||||||
+ PCI_SUBSYSTEM_VENDOR_ID, 1,
|
|
||||||
+ &subsys_vid ) ) != 0 ||
|
|
||||||
+ ( efirc = nii->pci_io->Pci.Read ( nii->pci_io,
|
|
||||||
+ EfiPciIoWidthUint16,
|
|
||||||
+ PCI_SUBSYSTEM_ID, 1,
|
|
||||||
+ &subsys_did ) ) != 0 ) {
|
|
||||||
+ rc = -EEFI ( efirc );
|
|
||||||
+ DBGC ( nii, "NII %s could not read PCI config space: %s\n",
|
|
||||||
+ nii->dev.name, strerror ( rc ) );
|
|
||||||
+ goto err_pci;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ nii->quirk_hpe557sfpp = ( vid == 0x10df &&
|
|
||||||
+ did == 0x0720 &&
|
|
||||||
+ subsys_vid == 0x103c &&
|
|
||||||
+ subsys_did == 0x803f );
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
- err_get_bar_attributes:
|
|
||||||
+ err_pci:
|
|
||||||
bs->CloseProtocol ( pci_device, &efi_pci_io_protocol_guid,
|
|
||||||
efi_image_handle, device );
|
|
||||||
err_open:
|
|
||||||
@@ -1144,8 +1175,14 @@ static int nii_open ( struct net_device *netdev ) {
|
|
||||||
* cable detection at this point if any only if the driver is
|
|
||||||
* not capable of reporting link status changes at runtime via
|
|
||||||
* PXE_OPCODE_GET_STATUS.
|
|
||||||
+ *
|
|
||||||
+ * HPE 557SFP+ seems to break with
|
|
||||||
+ * PXE_OPFLAGS_INITIALIZE_DO_NOT_DETECT_CABLE, but works with
|
|
||||||
+ * PXE_OPFLAGS_INITIALIZE_DETECT_CABLE, so ignore link status reporting
|
|
||||||
+ * for that NIC, and always request cable detection.
|
|
||||||
*/
|
|
||||||
- flags = ( nii->media ? PXE_OPFLAGS_INITIALIZE_DO_NOT_DETECT_CABLE
|
|
||||||
+ flags = ( ( ! nii->quirk_hpe557sfpp ) && nii->media
|
|
||||||
+ ? PXE_OPFLAGS_INITIALIZE_DO_NOT_DETECT_CABLE
|
|
||||||
: PXE_OPFLAGS_INITIALIZE_DETECT_CABLE );
|
|
||||||
if ( ( rc = nii_initialise_flags ( nii, flags ) ) != 0 )
|
|
||||||
goto err_initialise;
|
|
||||||
|
|
||||||
base-commit: b76052335788d0ad2c4b0bded116c3b02dd4bbc2
|
|
||||||
--
|
|
||||||
2.19.1.3.g30247aa5d201
|
|
||||||
|
|
@ -1,150 +0,0 @@
|
|||||||
From 1a921ececb22bbc41d1fda34576564e84d124a83 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ladi Prosek <lprosek@redhat.com>
|
|
||||||
Date: Mon, 11 Jul 2016 14:17:36 +0200
|
|
||||||
Subject: Strip 802.1Q VLAN 0 priority tags
|
|
||||||
|
|
||||||
RH-Author: Ladi Prosek <lprosek@redhat.com>
|
|
||||||
Message-id: <1468246656-15560-1-git-send-email-lprosek@redhat.com>
|
|
||||||
Patchwork-id: 71112
|
|
||||||
O-Subject: [RHEL7.3 ipxe PATCH] [netdevice] Strip 802.Q VLAN 0 priority tags
|
|
||||||
Bugzilla: 1316329
|
|
||||||
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
|
|
||||||
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
RH-Acked-by: Xiao Wang <jasowang@redhat.com>
|
|
||||||
|
|
||||||
iPXE was unable to receive priority tagged packets specified in
|
|
||||||
the 802.1Q standard and supported by all major networking stacks.
|
|
||||||
|
|
||||||
This commit adds a new function net_pull_tags which is called by
|
|
||||||
all consumers of incoming packets after stripping their link-layer
|
|
||||||
headers.
|
|
||||||
|
|
||||||
Upstream patch:
|
|
||||||
http://lists.ipxe.org/pipermail/ipxe-devel/2016-July/005099.html
|
|
||||||
|
|
||||||
There is a difference between the upstream patch and this patch in the
|
|
||||||
path prefix of "interface/pxe/pxe_undi.c" because we don't have upstream
|
|
||||||
commit f468f12b1eca.
|
|
||||||
|
|
||||||
Signed-off-by: Ladi Prosek <lprosek@redhat.com>
|
|
||||||
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
||||||
---
|
|
||||||
src/arch/x86/interface/pxe/pxe_undi.c | 6 +++++
|
|
||||||
src/include/ipxe/netdevice.h | 2 ++
|
|
||||||
src/interface/efi/efi_snp.c | 7 ++++++
|
|
||||||
src/net/netdevice.c | 44 +++++++++++++++++++++++++++++++++++
|
|
||||||
4 files changed, 59 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/arch/x86/interface/pxe/pxe_undi.c b/src/arch/x86/interface/pxe/pxe_undi.c
|
|
||||||
index 2eb6817..2ea1451 100644
|
|
||||||
--- a/src/arch/x86/interface/pxe/pxe_undi.c
|
|
||||||
+++ b/src/arch/x86/interface/pxe/pxe_undi.c
|
|
||||||
@@ -976,6 +976,12 @@ static PXENV_EXIT_t pxenv_undi_isr ( struct s_PXENV_UNDI_ISR *undi_isr ) {
|
|
||||||
}
|
|
||||||
ll_hlen = ( len - iob_len ( iobuf ) );
|
|
||||||
|
|
||||||
+ /* Strip link-layer-independent headers */
|
|
||||||
+ if ( ( rc = net_pull_tags ( iobuf, pxe_netdev, &net_proto ) ) != 0 ) {
|
|
||||||
+ /* Assume unknown net_proto */
|
|
||||||
+ net_proto = 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
/* Determine network-layer protocol */
|
|
||||||
switch ( net_proto ) {
|
|
||||||
case htons ( ETH_P_IP ):
|
|
||||||
diff --git a/src/include/ipxe/netdevice.h b/src/include/ipxe/netdevice.h
|
|
||||||
index a1d207f..cea87f7 100644
|
|
||||||
--- a/src/include/ipxe/netdevice.h
|
|
||||||
+++ b/src/include/ipxe/netdevice.h
|
|
||||||
@@ -719,6 +719,8 @@ extern int net_tx ( struct io_buffer *iobuf, struct net_device *netdev,
|
|
||||||
extern int net_rx ( struct io_buffer *iobuf, struct net_device *netdev,
|
|
||||||
uint16_t net_proto, const void *ll_dest,
|
|
||||||
const void *ll_source, unsigned int flags );
|
|
||||||
+extern int net_pull_tags ( struct io_buffer *iobuf, struct net_device *netdev,
|
|
||||||
+ uint16_t *net_proto );
|
|
||||||
extern void net_poll ( void );
|
|
||||||
extern struct net_device_configurator *
|
|
||||||
find_netdev_configurator ( const char *name );
|
|
||||||
diff --git a/src/interface/efi/efi_snp.c b/src/interface/efi/efi_snp.c
|
|
||||||
index e6388bf..d1a1a44 100644
|
|
||||||
--- a/src/interface/efi/efi_snp.c
|
|
||||||
+++ b/src/interface/efi/efi_snp.c
|
|
||||||
@@ -745,6 +745,13 @@ efi_snp_receive ( EFI_SIMPLE_NETWORK_PROTOCOL *snp,
|
|
||||||
goto out_bad_ll_header;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /* Strip link-layer-independent headers */
|
|
||||||
+ if ( ( rc = net_pull_tags ( iobuf, snpdev->netdev, &iob_net_proto ) ) ) {
|
|
||||||
+ DBGC ( snpdev, "SNPDEV %p could not parse tags: %s\n",
|
|
||||||
+ snpdev, strerror ( rc ) );
|
|
||||||
+ goto out_bad_ll_header;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
/* Return link-layer header parameters to caller, if required */
|
|
||||||
if ( ll_header_len )
|
|
||||||
*ll_header_len = ll_protocol->ll_header_len;
|
|
||||||
diff --git a/src/net/netdevice.c b/src/net/netdevice.c
|
|
||||||
index 9df2119..c53d5e3 100644
|
|
||||||
--- a/src/net/netdevice.c
|
|
||||||
+++ b/src/net/netdevice.c
|
|
||||||
@@ -1028,6 +1028,44 @@ int net_rx ( struct io_buffer *iobuf, struct net_device *netdev,
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
+ * Strip extra link-layer-independent tags from a received packet
|
|
||||||
+ *
|
|
||||||
+ * @v iobuf I/O buffer
|
|
||||||
+ * @v netdev Network device
|
|
||||||
+ * @v net_proto Network-layer protocol, in network-byte order
|
|
||||||
+ * @ret rc Return status code
|
|
||||||
+ *
|
|
||||||
+ * This function should be called after stripping link-layer headers but
|
|
||||||
+ * before inspecting the network-layer protocol.
|
|
||||||
+ */
|
|
||||||
+int net_pull_tags ( struct io_buffer *iobuf, struct net_device *netdev,
|
|
||||||
+ uint16_t *net_proto ) {
|
|
||||||
+ struct vlan_header *vlanhdr;
|
|
||||||
+ uint16_t tag;
|
|
||||||
+
|
|
||||||
+ /* Strip 802.1Q VLAN 0 priority tags if present */
|
|
||||||
+ while ( *net_proto == htons ( ETH_P_8021Q ) ) {
|
|
||||||
+ if ( iob_len ( iobuf ) < sizeof ( *vlanhdr ) ) {
|
|
||||||
+ DBG ( "VLAN header too short at %zd bytes (min %zd bytes)\n",
|
|
||||||
+ iob_len ( iobuf ), sizeof ( *vlanhdr ) );
|
|
||||||
+ return -EINVAL;
|
|
||||||
+ }
|
|
||||||
+ vlanhdr = ( struct vlan_header * ) iobuf->data;
|
|
||||||
+ tag = VLAN_TAG ( ntohs ( vlanhdr->tci ) );
|
|
||||||
+
|
|
||||||
+ if ( tag == 0 && ! vlan_find ( netdev, tag ) ) {
|
|
||||||
+ /* VLAN 0, strip and continue */
|
|
||||||
+ *net_proto = vlanhdr->net_proto;
|
|
||||||
+ iob_pull ( iobuf, sizeof ( *vlanhdr ) );
|
|
||||||
+ } else {
|
|
||||||
+ /* Real VLAN tag, leave it alone */
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
* Poll the network stack
|
|
||||||
*
|
|
||||||
* This polls all interfaces for received packets, and processes
|
|
||||||
@@ -1078,6 +1116,12 @@ void net_poll ( void ) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /* Remove link-layer-independent headers */
|
|
||||||
+ if ( ( rc = net_pull_tags ( iobuf, netdev, &net_proto ) ) ) {
|
|
||||||
+ free_iob ( iobuf );
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
/* Hand packet to network layer */
|
|
||||||
if ( ( rc = net_rx ( iob_disown ( iobuf ), netdev,
|
|
||||||
net_proto, ll_dest,
|
|
||||||
--
|
|
||||||
1.8.3.1
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
|||||||
--- ./src/config/general.h.orig 2021-01-26 19:47:08.940559209 -0500
|
|
||||||
+++ ./src/config/general.h 2021-01-26 19:47:15.739526567 -0500
|
|
||||||
@@ -148,7 +148,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
|
||||||
//#define PCI_CMD /* PCI commands */
|
|
||||||
//#define PARAM_CMD /* Form parameter commands */
|
|
||||||
//#define NEIGHBOUR_CMD /* Neighbour management commands */
|
|
||||||
-//#define PING_CMD /* Ping command */
|
|
||||||
+#define PING_CMD /* Ping command */
|
|
||||||
//#define CONSOLE_CMD /* Console command */
|
|
||||||
//#define IPSTAT_CMD /* IP statistics commands */
|
|
||||||
//#define PROFSTAT_CMD /* Profiling commands */
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -up ./src/config/general.h.vlan ./src/config/general.h
|
|
||||||
--- ./src/config/general.h.vlan 2018-10-09 13:11:42.940904753 -0400
|
|
||||||
+++ ./src/config/general.h 2018-10-09 13:12:03.258821711 -0400
|
|
||||||
@@ -140,7 +140,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
|
||||||
//#define TIME_CMD /* Time commands */
|
|
||||||
//#define DIGEST_CMD /* Image crypto digest commands */
|
|
||||||
//#define LOTEST_CMD /* Loopback testing commands */
|
|
||||||
-//#define VLAN_CMD /* VLAN commands */
|
|
||||||
+#define VLAN_CMD /* VLAN commands */
|
|
||||||
//#define PXE_CMD /* PXE commands */
|
|
||||||
//#define REBOOT_CMD /* Reboot command */
|
|
||||||
//#define POWEROFF_CMD /* Power off command */
|
|
@ -1,3 +0,0 @@
|
|||||||
#!ipxe
|
|
||||||
imgexec file:rhcert-script.ipxe
|
|
||||||
|
|
484
SPECS/ipxe.spec
484
SPECS/ipxe.spec
@ -1,484 +0,0 @@
|
|||||||
# Resulting binary formats we want from iPXE
|
|
||||||
%global formats rom
|
|
||||||
|
|
||||||
# PCI IDs (vendor,product) of the ROMS we want for QEMU
|
|
||||||
#
|
|
||||||
# pcnet32: 0x1022 0x2000
|
|
||||||
# ne2k_pci: 0x10ec 0x8029
|
|
||||||
# e1000: 0x8086 0x100e
|
|
||||||
# rtl8139: 0x10ec 0x8139
|
|
||||||
# virtio-net: 0x1af4 0x1000
|
|
||||||
# eepro100: 0x8086 0x1209
|
|
||||||
# e1000e: 0x8086 0x10d3
|
|
||||||
# vmxnet3: 0x15ad 0x07b0
|
|
||||||
%global qemuroms 10222000 10ec8029 8086100e 10ec8139 1af41000 80861209 808610d3 15ad07b0
|
|
||||||
|
|
||||||
# We only build the ROMs if on an EFI build host. The resulting
|
|
||||||
# binary RPM will be noarch, so other archs will still be able
|
|
||||||
# to use the binary ROMs.
|
|
||||||
%global buildarches x86_64 aarch64
|
|
||||||
|
|
||||||
# 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}
|
|
||||||
|
|
||||||
# Upstream don't do "releases" :-( So we're going to use the date
|
|
||||||
# as the version, and a GIT hash as the release. Generate new GIT
|
|
||||||
# snapshots using the folowing commands:
|
|
||||||
#
|
|
||||||
# $ hash=`git log -1 --format='%h'`
|
|
||||||
# $ date=`git log -1 --format='%cd' --date=short | tr -d -`
|
|
||||||
# $ git archive --prefix ipxe-${date}-git${hash}/ ${hash} | xz -7e > ipxe-${date}-git${hash}.tar.xz
|
|
||||||
#
|
|
||||||
# And then change these two:
|
|
||||||
|
|
||||||
%global hash 133f4c47
|
|
||||||
%global date 20181214
|
|
||||||
|
|
||||||
Name: ipxe
|
|
||||||
Version: %{date}
|
|
||||||
Release: 11.git%{hash}%{?dist}
|
|
||||||
Summary: A network boot loader
|
|
||||||
|
|
||||||
Group: System Environment/Base
|
|
||||||
License: GPLv2 with additional permissions and BSD
|
|
||||||
URL: http://ipxe.org/
|
|
||||||
|
|
||||||
Source0: %{name}-%{version}-git%{hash}.tar.xz
|
|
||||||
Source1: script.ipxe
|
|
||||||
|
|
||||||
# Enable IPv6 for qemu's config
|
|
||||||
# Sent upstream: http://lists.ipxe.org/pipermail/ipxe-devel/2015-November/004494.html
|
|
||||||
Patch0001: 0001-build-customize-configuration.patch
|
|
||||||
Patch0002: 0002-Use-spec-compliant-timeouts.patch
|
|
||||||
Patch0003: 0003-Strip-802.1Q-VLAN-0-priority-tags.patch
|
|
||||||
Patch0004: ipxe-vlan-cmds.patch
|
|
||||||
Patch0005: 0001-efi-perform-cable-detection-at-NII-initialization-on-HPE-557SFP.patch
|
|
||||||
Patch0006: ipxe-ping-cmd.patch
|
|
||||||
Patch0007: 0001-arm-Provide-dummy-implementation-for-in-out-s-b-w-l.patch
|
|
||||||
|
|
||||||
%ifarch %{buildarches}
|
|
||||||
BuildRequires: perl-interpreter
|
|
||||||
BuildRequires: perl-Getopt-Long
|
|
||||||
BuildRequires: mtools
|
|
||||||
BuildRequires: mkisofs
|
|
||||||
BuildRequires: edk2-tools
|
|
||||||
BuildRequires: xz-devel
|
|
||||||
BuildRequires: binutils-devel
|
|
||||||
%endif
|
|
||||||
%ifarch x86_64
|
|
||||||
BuildRequires: syslinux
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Obsoletes: gpxe <= 1.0.1
|
|
||||||
|
|
||||||
%ifarch x86_64
|
|
||||||
%package rhcert
|
|
||||||
Summary: Redhat hwcert custom ipxe image
|
|
||||||
Group: Development/Tools
|
|
||||||
BuildArch: noarch
|
|
||||||
|
|
||||||
%package bootimgs-x86
|
|
||||||
Summary: X86 Network boot loader images in bootable USB, CD, floppy and GRUB formats
|
|
||||||
Group: Development/Tools
|
|
||||||
BuildArch: noarch
|
|
||||||
Provides: %{name}-bootimgs = %{version}-%{release}
|
|
||||||
Obsoletes: %{name}-bootimgs < 20181214-9.git133f4c47
|
|
||||||
Obsoletes: gpxe-bootimgs <= 1.0.1
|
|
||||||
|
|
||||||
%package roms
|
|
||||||
Summary: Network boot loader roms in .rom format
|
|
||||||
Group: Development/Tools
|
|
||||||
Requires: %{name}-roms-qemu = %{version}-%{release}
|
|
||||||
BuildArch: noarch
|
|
||||||
Obsoletes: gpxe-roms <= 1.0.1
|
|
||||||
|
|
||||||
%package roms-qemu
|
|
||||||
Summary: Network boot loader roms supported by QEMU, .rom format
|
|
||||||
Group: Development/Tools
|
|
||||||
BuildArch: noarch
|
|
||||||
Obsoletes: gpxe-roms-qemu <= 1.0.1
|
|
||||||
|
|
||||||
%description rhcert
|
|
||||||
Custom ipxe image for use in hardware certification and validation
|
|
||||||
|
|
||||||
%description bootimgs-x86
|
|
||||||
iPXE is an open source network bootloader. It provides a direct
|
|
||||||
replacement for proprietary PXE ROMs, with many extra features such as
|
|
||||||
DNS, HTTP, iSCSI, etc.
|
|
||||||
|
|
||||||
This package contains the iPXE boot images in USB, CD, floppy, and PXE
|
|
||||||
UNDI formats.
|
|
||||||
|
|
||||||
%description roms
|
|
||||||
iPXE is an open source network bootloader. It provides a direct
|
|
||||||
replacement for proprietary PXE ROMs, with many extra features such as
|
|
||||||
DNS, HTTP, iSCSI, etc.
|
|
||||||
|
|
||||||
This package contains the iPXE roms in .rom format.
|
|
||||||
|
|
||||||
%description roms-qemu
|
|
||||||
iPXE is an open source network bootloader. It provides a direct
|
|
||||||
replacement for proprietary PXE ROMs, with many extra features such as
|
|
||||||
DNS, HTTP, iSCSI, etc.
|
|
||||||
|
|
||||||
This package contains the iPXE ROMs for devices emulated by QEMU, in
|
|
||||||
.rom format.
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%ifarch aarch64
|
|
||||||
%package bootimgs-aarch64
|
|
||||||
Summary: AArch64 Network boot loader images in bootable USB and GRUB formats
|
|
||||||
Group: Development/Tools
|
|
||||||
BuildArch: noarch
|
|
||||||
|
|
||||||
%description bootimgs-aarch64
|
|
||||||
iPXE is an open source network bootloader. It provides a direct
|
|
||||||
replacement for proprietary PXE ROMs, with many extra features such as
|
|
||||||
DNS, HTTP, iSCSI, etc.
|
|
||||||
|
|
||||||
This package contains the iPXE ARM64 boot images in USB and GRUB formats.
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%description
|
|
||||||
iPXE is an open source network bootloader. It provides a direct
|
|
||||||
replacement for proprietary PXE ROMs, with many extra features such as
|
|
||||||
DNS, HTTP, iSCSI, etc.
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -q -n %{name}-%{version}-git%{hash}
|
|
||||||
%autopatch -p1
|
|
||||||
pushd src
|
|
||||||
# ath9k drivers are too big for an Option ROM, and ipxe devs say it doesn't
|
|
||||||
# make sense anyways
|
|
||||||
# http://lists.ipxe.org/pipermail/ipxe-devel/2012-March/001290.html
|
|
||||||
rm -rf drivers/net/ath/ath9k
|
|
||||||
|
|
||||||
cp %{SOURCE1} .
|
|
||||||
popd
|
|
||||||
|
|
||||||
|
|
||||||
%build
|
|
||||||
cd src
|
|
||||||
|
|
||||||
make_ipxe() {
|
|
||||||
make %{?_smp_mflags} \
|
|
||||||
NO_WERROR=1 V=1 \
|
|
||||||
GITVERSION=%{hash} \
|
|
||||||
"$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
%ifarch x86_64
|
|
||||||
|
|
||||||
make_ipxe bin-x86_64-efi/ipxe.efi EMBED=script.ipxe
|
|
||||||
mv bin-x86_64-efi/ipxe.efi bin-x86_64-efi/ipxe-rhcert.efi
|
|
||||||
|
|
||||||
make_ipxe bin-i386-efi/ipxe.efi bin-x86_64-efi/ipxe.efi \
|
|
||||||
bin-x86_64-efi/snponly.efi
|
|
||||||
|
|
||||||
make_ipxe ISOLINUX_BIN=/usr/share/syslinux/isolinux.bin \
|
|
||||||
bin/undionly.kpxe bin/ipxe.{dsk,iso,usb,lkrn} \
|
|
||||||
allroms
|
|
||||||
|
|
||||||
# build roms with efi support for qemu
|
|
||||||
mkdir bin-combined
|
|
||||||
for rom in %{qemuroms}; do
|
|
||||||
make_ipxe CONFIG=qemu bin/${rom}.rom
|
|
||||||
make_ipxe CONFIG=qemu bin-x86_64-efi/${rom}.efidrv
|
|
||||||
vid="0x${rom%%????}"
|
|
||||||
did="0x${rom#????}"
|
|
||||||
EfiRom -f "$vid" -i "$did" --pci23 \
|
|
||||||
-ec bin-x86_64-efi/${rom}.efidrv \
|
|
||||||
-o bin-combined/${rom}.eficrom
|
|
||||||
util/catrom.pl \
|
|
||||||
bin/${rom}.rom \
|
|
||||||
bin-combined/${rom}.eficrom \
|
|
||||||
> bin-combined/${rom}.rom
|
|
||||||
EfiRom -d bin-combined/${rom}.rom
|
|
||||||
# truncate to at least 256KiB
|
|
||||||
truncate -s \>256K bin-combined/${rom}.rom
|
|
||||||
# verify rom fits in 256KiB
|
|
||||||
test $(stat -c '%s' bin-combined/${rom}.rom) -le $((256 * 1024))
|
|
||||||
done
|
|
||||||
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%ifarch aarch64
|
|
||||||
make_ipxe bin-arm64-efi/snponly.efi
|
|
||||||
%if 0%{?fedora}
|
|
||||||
make_ipxe bin-arm64-efi/ipxe.efi
|
|
||||||
%endif
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%install
|
|
||||||
%ifarch x86_64
|
|
||||||
mkdir -p %{buildroot}/%{_datadir}/%{name}/
|
|
||||||
mkdir -p %{buildroot}/%{_datadir}/%{name}.efi/
|
|
||||||
pushd src/bin/
|
|
||||||
|
|
||||||
cp -a undionly.kpxe ipxe.{iso,usb,dsk,lkrn} %{buildroot}/%{_datadir}/%{name}/
|
|
||||||
|
|
||||||
for fmt in %{formats};do
|
|
||||||
for img in *.${fmt};do
|
|
||||||
if [ -e $img ]; then
|
|
||||||
cp -a $img %{buildroot}/%{_datadir}/%{name}/
|
|
||||||
echo %{_datadir}/%{name}/$img >> ../../${fmt}.list
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
popd
|
|
||||||
|
|
||||||
cp -a src/bin-i386-efi/ipxe.efi %{buildroot}/%{_datadir}/%{name}/ipxe-i386.efi
|
|
||||||
cp -a src/bin-x86_64-efi/ipxe.efi %{buildroot}/%{_datadir}/%{name}/ipxe-x86_64.efi
|
|
||||||
cp -a src/bin-x86_64-efi/ipxe-rhcert.efi %{buildroot}/%{_datadir}/%{name}/ipxe-x86_64-rhcert.efi
|
|
||||||
cp -a src/bin-x86_64-efi/snponly.efi %{buildroot}/%{_datadir}/%{name}/ipxe-snponly-x86_64.efi
|
|
||||||
|
|
||||||
# the roms supported by qemu will be packaged separatedly
|
|
||||||
# remove from the main rom list and add them to qemu.list
|
|
||||||
for fmt in rom ;do
|
|
||||||
for rom in %{qemuroms} ; do
|
|
||||||
sed -i -e "/\/${rom}.${fmt}/d" ${fmt}.list
|
|
||||||
echo %{_datadir}/%{name}/${rom}.${fmt} >> qemu.${fmt}.list
|
|
||||||
done
|
|
||||||
done
|
|
||||||
for rom in %{qemuroms}; do
|
|
||||||
cp src/bin-combined/${rom}.rom %{buildroot}/%{_datadir}/%{name}.efi/
|
|
||||||
echo %{_datadir}/%{name}.efi/${rom}.rom >> qemu.rom.list
|
|
||||||
done
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%ifarch aarch64
|
|
||||||
mkdir -p %{buildroot}/%{_datadir}/%{name}/arm64-efi
|
|
||||||
cp -a src/bin-arm64-efi/snponly.efi %{buildroot}/%{_datadir}/%{name}/arm64-efi/snponly.efi
|
|
||||||
%if 0%{?fedora}
|
|
||||||
cp -a src/bin-arm64-efi/ipxe.efi %{buildroot}/%{_datadir}/%{name}/arm64-efi/ipxe.efi
|
|
||||||
%endif
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%ifarch x86_64
|
|
||||||
%files bootimgs-x86
|
|
||||||
%dir %{_datadir}/%{name}
|
|
||||||
%{_datadir}/%{name}/ipxe.iso
|
|
||||||
%{_datadir}/%{name}/ipxe.usb
|
|
||||||
%{_datadir}/%{name}/ipxe.dsk
|
|
||||||
%{_datadir}/%{name}/ipxe.lkrn
|
|
||||||
%{_datadir}/%{name}/ipxe-i386.efi
|
|
||||||
%{_datadir}/%{name}/ipxe-x86_64.efi
|
|
||||||
%{_datadir}/%{name}/undionly.kpxe
|
|
||||||
%{_datadir}/%{name}/ipxe-snponly-x86_64.efi
|
|
||||||
%doc COPYING COPYING.GPLv2 COPYING.UBDL
|
|
||||||
|
|
||||||
%files roms -f rom.list
|
|
||||||
%dir %{_datadir}/%{name}
|
|
||||||
%doc COPYING COPYING.GPLv2 COPYING.UBDL
|
|
||||||
|
|
||||||
%files roms-qemu -f qemu.rom.list
|
|
||||||
%dir %{_datadir}/%{name}
|
|
||||||
%dir %{_datadir}/%{name}.efi
|
|
||||||
%doc COPYING COPYING.GPLv2 COPYING.UBDL
|
|
||||||
|
|
||||||
%files rhcert
|
|
||||||
%dir %{_datadir}/%{name}
|
|
||||||
%{_datadir}/%{name}/ipxe-x86_64-rhcert.efi
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%ifarch aarch64
|
|
||||||
%files bootimgs-aarch64
|
|
||||||
%dir %{_datadir}/%{name}
|
|
||||||
%dir %{_datadir}/%{name}/arm64-efi
|
|
||||||
%if 0%{?fedora}
|
|
||||||
%{_datadir}/%{name}/arm64-efi/ipxe.efi
|
|
||||||
%endif
|
|
||||||
%{_datadir}/%{name}/arm64-efi/snponly.efi
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
* Thu Sep 29 2022 Jarod Wilson <jarod@redhat.com> - 20181214-11.git133f4c47
|
|
||||||
- Revert LACP flood issue fix due to regressions is causes elsewhere
|
|
||||||
|
|
||||||
* Wed Jul 27 2022 Jarod Wilson <jarod@redhat.com> - 20181214-10.git133f4c47
|
|
||||||
- Fix LACP flood issue in ipxe-bootimgs (bz 2098761)
|
|
||||||
|
|
||||||
* Tue Mar 01 2022 Yaakov Selkowitz <yselkowi@redhat.com> - 20181214-9.git133f4c47
|
|
||||||
- Add ARM 64 EFI artifacts (bz 2059350)
|
|
||||||
|
|
||||||
* Fri Feb 19 2021 Jarod Wilson <jarod@redhat.com> - 20181210-8.git133f4c47
|
|
||||||
- combine BIOS and EFI roms using utils/catrom.pl [lersek] (bz 1926561)
|
|
||||||
|
|
||||||
* Tue Jan 26 2021 Jarod Wilson <jarod@redhat.com> - 20181210-7.git133f4c47
|
|
||||||
- Build ping command (bz 1913719)
|
|
||||||
|
|
||||||
* Mon Jul 27 2020 Neil Horman <nhorman@redhat.com> - 20181210-6.git133f4c47
|
|
||||||
- Add quirk for link detect on HP 557SFP cards (bz 1740827)
|
|
||||||
|
|
||||||
* Tue Jan 7 2020 Neil Horman <nhorman@redhat.com> - 20181210-5.git133f4c47
|
|
||||||
- Add rhcert subpackage (bz 1756012)
|
|
||||||
|
|
||||||
* Fri Dec 13 2019 Neil Horman <nhorman@redhat.com> - 20181210-4.git133f4c47
|
|
||||||
- Add snponly.efi image (bz 1776929)
|
|
||||||
|
|
||||||
* Tue Aug 13 2019 Danilo de Paula <ddepaula@redhat.com> - 20181210-3.git133f4c47
|
|
||||||
- Release bump
|
|
||||||
|
|
||||||
* Thu Jul 25 2019 Danilo de Paula <ddepaula@redhat.com> - 20181210-2.git133f4c47
|
|
||||||
- Resolves rhbz#1723702
|
|
||||||
(virtio rom near 256k boundary)
|
|
||||||
|
|
||||||
* Fri Dec 14 2018 Neil Horman <nhorman@redhat.com> - 20181210-1.git133f4c47
|
|
||||||
- Update to latest upstream
|
|
||||||
- Add vlan cmds
|
|
||||||
|
|
||||||
* Fri Nov 16 2018 Danilo C. L. de Paula <ddepaula@redhat.com> - 20170710-6.git0600d3ae
|
|
||||||
- rebuilt
|
|
||||||
|
|
||||||
* Thu Jul 12 2018 Danilo - 20170710-5.git0600d3ae
|
|
||||||
- Bumping release number and rebuilding ipxe for RHEL-8.0
|
|
||||||
|
|
||||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 20170710-3.git0600d3ae
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Nov 21 2017 Paolo Bonzini <pbonzini@redhat.com> - ipxe-20170710-2.git0600d3ae
|
|
||||||
- Include bugfix and configuration patches from RHEL
|
|
||||||
- Disable cross compilation on RHEL
|
|
||||||
|
|
||||||
* Thu Aug 03 2017 Cole Robinson <crobinso@redhat.com> - ipxe-20170710-1.git0600d3ae
|
|
||||||
- Update to ipxe 0600d3ae for qemu-2.10.0
|
|
||||||
|
|
||||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 20161108-4.gitb991c67
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 20161108-3.gitb991c67
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 20161108-2.gitb991c67
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sun Dec 04 2016 Cole Robinson <crobinso@redhat.com> - 20161108-1.gitb991c67
|
|
||||||
- Rebase to version shipped with qemu 2.8
|
|
||||||
|
|
||||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 20150821-3.git4e03af8
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Jan 26 2016 Cole Robinson <crobinso@redhat.com> 20150821-2.git4e03af8
|
|
||||||
- Build ipxe.efi (bug 1300865)
|
|
||||||
- Build eepro100 rom for qemu
|
|
||||||
|
|
||||||
* Tue Nov 17 2015 Cole Robinson <crobinso@redhat.com> - 20150821-1.git4e03af8
|
|
||||||
- Update to commit 4e03af8 for qemu 2.5
|
|
||||||
- Enable IPv6 (bug 1280318)
|
|
||||||
|
|
||||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20150407-3.gitdc795b9f
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Apr 16 2015 Paolo Bonzini <pbonzini@redhat.com> - 20150407-2.gitdc795b9f
|
|
||||||
- Fix virtio bug with UEFI driver
|
|
||||||
|
|
||||||
* Thu Apr 16 2015 Paolo Bonzini <pbonzini@redhat.com> - 20150407-1.gitdc795b9f
|
|
||||||
- Update to latest upstream snapshot
|
|
||||||
- Switch source to .tar.xz
|
|
||||||
- Include patches from QEMU submodule
|
|
||||||
- Use config file for configuration
|
|
||||||
- Distribute additional permissions on top of GPLv2 ("UBDL")
|
|
||||||
|
|
||||||
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20140303-3.gitff1e7fc7
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20140303-2.gitff1e7fc7
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
|
||||||
|
|
||||||
* 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
|
|
||||||
|
|
||||||
* Mon May 20 2013 Paolo Bonzini <pbonzini@redhat.com> - 20130103-3.git717279a
|
|
||||||
- Fix BuildRequires, use cross-compiler when building on 32-bit i686
|
|
||||||
- Build UEFI drivers for QEMU and include them (patch from Gerd Hoffmann.
|
|
||||||
BZ#958875)
|
|
||||||
|
|
||||||
* Fri May 17 2013 Daniel P. Berrange <berrange@redhat.com> - 20130517-1.gitc4bce43
|
|
||||||
- Update to latest upstream snapshot
|
|
||||||
|
|
||||||
* Fri May 17 2013 Daniel P. Berrange <berrange@redhat.com> - 20130103-3.git717279a
|
|
||||||
- Fix build with GCC 4.8 (rhbz #914091)
|
|
||||||
|
|
||||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20130103-2.git717279a
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Jan 3 2013 Daniel P. Berrange <berrange@redhat.com> - 20130103-1.git717279a
|
|
||||||
- Updated to latest GIT snapshot
|
|
||||||
|
|
||||||
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20120328-2.gitaac9718
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed Mar 28 2012 Daniel P. Berrange <berrange@redhat.com> - 20120328-1.gitaac9718
|
|
||||||
- Update to newer upstream
|
|
||||||
|
|
||||||
* Fri Mar 23 2012 Daniel P. Berrange <berrange@redhat.com> - 20120319-3.git0b2c788
|
|
||||||
- Remove more defattr statements
|
|
||||||
|
|
||||||
* Tue Mar 20 2012 Daniel P. Berrange <berrange@redhat.com> - 20120319-2.git0b2c788
|
|
||||||
- Remove BuildRoot & rm -rf of it in install/clean sections
|
|
||||||
- Remove defattr in file section
|
|
||||||
- Switch to use global, instead of define for macros
|
|
||||||
- Add note about Patch1 not going upstream
|
|
||||||
- Split BRs across lines for easier readability
|
|
||||||
|
|
||||||
* Mon Feb 27 2012 Daniel P. Berrange <berrange@redhat.com> - 20120319-1.git0b2c788
|
|
||||||
- Initial package based on gPXE
|
|
||||||
|
|
||||||
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.1-5
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Feb 21 2011 Matt Domsch <mdomsch@fedoraproject.org> - 1.0.1-4
|
|
||||||
- don't use -Werror, it flags a failure that is not a failure for gPXE
|
|
||||||
|
|
||||||
* Mon Feb 21 2011 Matt Domsch <mdomsch@fedoraproject.org> - 1.0.1-3
|
|
||||||
- Fix virtio-net ethernet frame length (patch by cra), fixes BZ678789
|
|
||||||
|
|
||||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.1-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Aug 5 2010 Matt Domsch <mdomsch@fedoraproject.org> - 1.0.1-1
|
|
||||||
- New drivers: Intel e1000, e1000e, igb, EFI snpnet, JMicron jme,
|
|
||||||
Neterion X3100, vxge, pcnet32.
|
|
||||||
- Bug fixes and improvements to drivers, wireless, DHCP, iSCSI,
|
|
||||||
COMBOOT, and EFI.
|
|
||||||
* Tue Feb 2 2010 Matt Domsch <mdomsch@fedoraproject.org> - 1.0.0-1
|
|
||||||
- bugfix release, also adds wireless card support
|
|
||||||
- bnx2 builds again
|
|
||||||
- drop our one patch
|
|
||||||
|
|
||||||
* Tue Oct 27 2009 Matt Domsch <mdomsch@fedoraproject.org> - 0.9.9-1
|
|
||||||
- new upstream version 0.9.9
|
|
||||||
-- plus patches from git up to 20090818 which fix build errors and
|
|
||||||
other release-critical bugs.
|
|
||||||
-- 0.9.9: added Attansic L1E and sis190/191 ethernet drivers. Fixes
|
|
||||||
and updates to e1000 and 3c90x drivers.
|
|
||||||
-- 0.9.8: new commands: time, sleep, md5sum, sha1sum. 802.11 wireless
|
|
||||||
support with Realtek 8180/8185 and non-802.11n Atheros drivers.
|
|
||||||
New Marvell Yukon-II gigabet Ethernet driver. HTTP redirection
|
|
||||||
support. SYSLINUX floppy image type (.sdsk) with usable file
|
|
||||||
system. Rewrites, fixes, and updates to 3c90x, forcedeth, pcnet32,
|
|
||||||
e1000, and hermon drivers.
|
|
||||||
|
|
||||||
* Mon Oct 5 2009 Matt Domsch <mdomsch@fedoraproject.org> - 0.9.7-6
|
|
||||||
- move rtl8029 from -roms to -roms-qemu for qemu ne2k_pci NIC (BZ 526776)
|
|
||||||
|
|
||||||
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.7-5
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue May 19 2009 Matt Domsch <mdomsch@fedoraproject.org> - 0.9.7-4
|
|
||||||
- add undionly.kpxe to -bootimgs
|
|
||||||
|
|
||||||
* Tue May 12 2009 Matt Domsch <mdomsch@fedoraproject.org> - 0.9.7-3
|
|
||||||
- handle isolinux changing paths
|
|
||||||
|
|
||||||
* Sat May 9 2009 Matt Domsch <mdomsch@fedoraproject.org> - 0.9.7-2
|
|
||||||
- add dist tag
|
|
||||||
|
|
||||||
* Thu Mar 26 2009 Matt Domsch <mdomsch@fedoraproject.org> - 0.9.7-1
|
|
||||||
- Initial release based on etherboot spec
|
|
6
gating.yaml
Normal file
6
gating.yaml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-10
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.hardware-ipxe.tier0.functional}
|
278
ipxe.spec
Normal file
278
ipxe.spec
Normal file
@ -0,0 +1,278 @@
|
|||||||
|
# ROMS we want for QEMU with format PCIID:QEMUNAME
|
||||||
|
%global qemuroms \\\
|
||||||
|
8086100e:e1000 \\\
|
||||||
|
10ec8139:rtl8139 \\\
|
||||||
|
1af41000:virtio \\\
|
||||||
|
808610d3:e1000e
|
||||||
|
|
||||||
|
%if 0%{?fedora}
|
||||||
|
# Fedora specific roms
|
||||||
|
%global qemuroms %{qemuroms} \\\
|
||||||
|
10222000:pcnet \\\
|
||||||
|
10ec8029:ne2k_pci \\\
|
||||||
|
80861209:eepro100 \\\
|
||||||
|
15ad07b0:vmxnet3
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# We only build the ROMs if on an EFI build host. The resulting
|
||||||
|
# binary RPM will be noarch, so other archs will still be able
|
||||||
|
# to use the binary ROMs.
|
||||||
|
%global buildarches x86_64 aarch64
|
||||||
|
|
||||||
|
# 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}
|
||||||
|
|
||||||
|
# Upstream don't do "releases" :-( So we're going to use the date
|
||||||
|
# as the version, and a GIT hash as the release. Generate new GIT
|
||||||
|
# snapshots using the folowing commands:
|
||||||
|
#
|
||||||
|
# $ hash=`git log -1 --format='%h'`
|
||||||
|
# $ date=`git log -1 --format='%cd' --date=short | tr -d -`
|
||||||
|
# $ git archive --prefix ipxe-${date}-git${hash}/ ${hash} | xz -7e > ipxe-${date}-git${hash}.tar.xz
|
||||||
|
#
|
||||||
|
# And then change these two:
|
||||||
|
|
||||||
|
%global hash de8a0821
|
||||||
|
%global date 20240119
|
||||||
|
|
||||||
|
Name: ipxe
|
||||||
|
Version: %{date}
|
||||||
|
Release: 5.git%{hash}%{?dist}
|
||||||
|
Summary: A network boot loader
|
||||||
|
|
||||||
|
License: BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-only AND (GPL-2.0-only OR MPL-1.1) AND GPL-2.0-or-later AND GPL-2.0-or-later WITH UBDL-exception AND ISC AND MIT
|
||||||
|
URL: http://ipxe.org/
|
||||||
|
|
||||||
|
Source0: %{name}-%{version}-git%{hash}.tar.xz
|
||||||
|
|
||||||
|
# Enable IPv6 for qemu's config
|
||||||
|
# Sent upstream: http://lists.ipxe.org/pipermail/ipxe-devel/2015-November/004494.html
|
||||||
|
Patch0001: 0001-build-customize-configuration.patch
|
||||||
|
Patch0002: 0002-Use-spec-compliant-timeouts.patch
|
||||||
|
|
||||||
|
%ifarch %{buildarches}
|
||||||
|
BuildRequires: perl-interpreter
|
||||||
|
BuildRequires: perl-Getopt-Long
|
||||||
|
%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9
|
||||||
|
BuildRequires: perl-FindBin
|
||||||
|
BuildRequires: perl-lib
|
||||||
|
%endif
|
||||||
|
%ifarch x86_64
|
||||||
|
BuildRequires: syslinux
|
||||||
|
%endif
|
||||||
|
BuildRequires: mtools
|
||||||
|
BuildRequires: xorriso
|
||||||
|
BuildRequires: edk2-tools
|
||||||
|
BuildRequires: xz-devel
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: binutils-devel
|
||||||
|
BuildRequires: make
|
||||||
|
|
||||||
|
Obsoletes: gpxe <= 1.0.1
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch x86_64
|
||||||
|
%package bootimgs-x86
|
||||||
|
Summary: X86 Network boot loader images
|
||||||
|
BuildArch: noarch
|
||||||
|
Provides: %{name}-bootimgs = %{version}-%{release}
|
||||||
|
Obsoletes: %{name}-bootimgs < 20200823-9.git4bd064de
|
||||||
|
Obsoletes: gpxe-bootimgs <= 1.0.1
|
||||||
|
|
||||||
|
%package roms-qemu
|
||||||
|
Summary: Network boot loader roms supported by QEMU, .rom format
|
||||||
|
BuildArch: noarch
|
||||||
|
Obsoletes: gpxe-roms-qemu <= 1.0.1
|
||||||
|
|
||||||
|
%description bootimgs-x86
|
||||||
|
iPXE is an open source network bootloader.
|
||||||
|
|
||||||
|
This package contains iPXE x86 boot images for UEFI (snponly.efi) and
|
||||||
|
BIOS (undionly.kpxe).
|
||||||
|
|
||||||
|
%description roms-qemu
|
||||||
|
iPXE is an open source network bootloader. It provides a direct
|
||||||
|
replacement for proprietary PXE ROMs, with many extra features such as
|
||||||
|
DNS, HTTP, iSCSI, etc.
|
||||||
|
|
||||||
|
This package contains the iPXE ROMs for devices emulated by QEMU, in
|
||||||
|
.rom format.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch aarch64
|
||||||
|
%package bootimgs-aarch64
|
||||||
|
Summary: ARM Network boot loader images
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description bootimgs-aarch64
|
||||||
|
iPXE is an open source network bootloader.
|
||||||
|
|
||||||
|
This package contains iPXE aarch64 boot images for UEFI (snponly.efi).
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
iPXE is an open source network bootloader. It provides a direct
|
||||||
|
replacement for proprietary PXE ROMs, with many extra features such as
|
||||||
|
DNS, HTTP, iSCSI, etc.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n %{name}-%{version}-git%{hash}
|
||||||
|
%autopatch -p1
|
||||||
|
# ath9k drivers are too big for an Option ROM, and ipxe devs say it doesn't
|
||||||
|
# make sense anyways
|
||||||
|
# http://lists.ipxe.org/pipermail/ipxe-devel/2012-March/001290.html
|
||||||
|
rm -rf src/drivers/net/ath/ath9k
|
||||||
|
|
||||||
|
%build
|
||||||
|
cd src
|
||||||
|
|
||||||
|
make_ipxe() {
|
||||||
|
make %{?_smp_mflags} \
|
||||||
|
NO_WERROR=1 V=1 \
|
||||||
|
GITVERSION=%{hash} \
|
||||||
|
"$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
%ifarch x86_64
|
||||||
|
|
||||||
|
make_ipxe bin-x86_64-efi/snponly.efi
|
||||||
|
|
||||||
|
make_ipxe ISOLINUX_BIN=/usr/share/syslinux/isolinux.bin \
|
||||||
|
bin/undionly.kpxe
|
||||||
|
|
||||||
|
# build roms with efi support for qemu
|
||||||
|
mkdir bin-combined
|
||||||
|
for romstr in %{qemuroms}; do
|
||||||
|
rom=$(echo "$romstr" | cut -d ":" -f 1)
|
||||||
|
|
||||||
|
make_ipxe CONFIG=qemu bin/${rom}.rom
|
||||||
|
make_ipxe CONFIG=qemu bin-x86_64-efi/${rom}.efidrv
|
||||||
|
vid="0x${rom%%????}"
|
||||||
|
did="0x${rom#????}"
|
||||||
|
EfiRom -f "$vid" -i "$did" --pci23 \
|
||||||
|
-ec bin-x86_64-efi/${rom}.efidrv \
|
||||||
|
-o bin-combined/${rom}.eficrom
|
||||||
|
util/catrom.pl \
|
||||||
|
bin/${rom}.rom \
|
||||||
|
bin-combined/${rom}.eficrom \
|
||||||
|
> bin-combined/${rom}.rom
|
||||||
|
EfiRom -d bin-combined/${rom}.rom
|
||||||
|
# truncate to at least 256KiB
|
||||||
|
truncate -s \>256K bin-combined/${rom}.rom
|
||||||
|
# verify rom fits in 256KiB
|
||||||
|
test $(stat -c '%s' bin-combined/${rom}.rom) -le $((256 * 1024))
|
||||||
|
done
|
||||||
|
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch aarch64
|
||||||
|
make_ipxe bin-arm64-efi/snponly.efi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%install
|
||||||
|
%ifarch x86_64
|
||||||
|
mkdir -p %{buildroot}/%{_datadir}/%{name}/
|
||||||
|
mkdir -p %{buildroot}/%{_datadir}/%{name}.efi/
|
||||||
|
|
||||||
|
pushd src/bin/
|
||||||
|
cp -a undionly.kpxe %{buildroot}/%{_datadir}/%{name}/
|
||||||
|
popd
|
||||||
|
|
||||||
|
cp -a src/bin-x86_64-efi/snponly.efi %{buildroot}/%{_datadir}/%{name}/ipxe-snponly-x86_64.efi
|
||||||
|
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/%{name}/qemu/
|
||||||
|
|
||||||
|
for romstr in %{qemuroms}; do
|
||||||
|
# the roms supported by qemu will be packaged separatedly
|
||||||
|
# remove from the main rom list and add them to qemu.list
|
||||||
|
rom=$(echo "$romstr" | cut -d ":" -f 1)
|
||||||
|
qemuname=$(echo "$romstr" | cut -d ":" -f 2)
|
||||||
|
echo %{_datadir}/%{name}/${rom}.rom >> qemu.rom.list
|
||||||
|
|
||||||
|
cp src/bin/${rom}.rom %{buildroot}/%{_datadir}/%{name}/
|
||||||
|
cp src/bin-combined/${rom}.rom %{buildroot}/%{_datadir}/%{name}.efi/
|
||||||
|
echo %{_datadir}/%{name}.efi/${rom}.rom >> qemu.rom.list
|
||||||
|
|
||||||
|
# Set up symlinks with expected qemu firmware names
|
||||||
|
ln -s ../../ipxe/${rom}.rom %{buildroot}%{_datadir}/%{name}/qemu/pxe-${qemuname}.rom
|
||||||
|
ln -s ../../ipxe.efi/${rom}.rom %{buildroot}%{_datadir}/%{name}/qemu/efi-${qemuname}.rom
|
||||||
|
done
|
||||||
|
|
||||||
|
# endif x86_64
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch aarch64
|
||||||
|
mkdir -p %{buildroot}/%{_datadir}/%{name}/arm64-efi
|
||||||
|
cp -a src/bin-arm64-efi/snponly.efi %{buildroot}/%{_datadir}/%{name}/arm64-efi/snponly.efi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch x86_64
|
||||||
|
%files bootimgs-x86
|
||||||
|
%dir %{_datadir}/%{name}
|
||||||
|
%{_datadir}/%{name}/undionly.kpxe
|
||||||
|
%{_datadir}/%{name}/ipxe-snponly-x86_64.efi
|
||||||
|
%doc COPYING COPYING.GPLv2 COPYING.UBDL
|
||||||
|
|
||||||
|
%files roms-qemu -f qemu.rom.list
|
||||||
|
%dir %{_datadir}/%{name}
|
||||||
|
%dir %{_datadir}/%{name}.efi
|
||||||
|
%{_datadir}/%{name}/qemu
|
||||||
|
%doc COPYING COPYING.GPLv2 COPYING.UBDL
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch aarch64
|
||||||
|
%files bootimgs-aarch64
|
||||||
|
%dir %{_datadir}/%{name}
|
||||||
|
%dir %{_datadir}/%{name}/arm64-efi
|
||||||
|
%{_datadir}/%{name}/arm64-efi/snponly.efi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 20240119-5.gitde8a0821
|
||||||
|
- Bump release for October 2024 mass rebuild:
|
||||||
|
Resolves: RHEL-64018
|
||||||
|
|
||||||
|
* Tue Jul 16 2024 Gerd Hoffmann <kraxel@redhat.com> - 20240119-4.gitde8a0821
|
||||||
|
- Strip down package, remove drivers except qemu drivers.
|
||||||
|
- Resolves: RHEL-37610
|
||||||
|
|
||||||
|
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 20240119-3.gitde8a0821
|
||||||
|
- Bump release for June 2024 mass rebuild
|
||||||
|
|
||||||
|
* Fri Feb 23 2024 Konstantin Shalygin <shalygin.k@selectel.com> - 20240119-2.gitde8a0821
|
||||||
|
- Added iPXE 'reboot' & 'poweroff' commands
|
||||||
|
|
||||||
|
* Tue Jan 30 2024 Daniel P. Berrangé <berrange@redhat.com> - 20240119-1.gitde8a0821
|
||||||
|
- Update to latest git snapshot
|
||||||
|
|
||||||
|
* Thu Jan 25 2024 Stid Official <stidofficiel@gmail.com> - 20220210-8.git64113751
|
||||||
|
- Add support of NFS protocol
|
||||||
|
|
||||||
|
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20220210-7.git64113751
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20220210-6.git64113751
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Dec 19 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 20220210-5.git64113751
|
||||||
|
- Fix build with binutils 2.41
|
||||||
|
|
||||||
|
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 20220210-4.git64113751
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 20220210-3.git64113751
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 20220210-2.git64113751
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun Apr 10 2022 Cole Robinson <crobinso@redhat.com> - 20220210-1.git64113751
|
||||||
|
- Update to newer git snapshot
|
||||||
|
|
||||||
|
* Tue Mar 01 2022 Yaakov Selkowitz <yselkowi@redhat.com> - 20200823-9.git4bd064de
|
||||||
|
- Add aarch64 EFI artifacts (bz 2058680)
|
||||||
|
|
||||||
|
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 20200823-8.git4bd064de
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
Loading…
Reference in New Issue
Block a user