Novell NetWare supports the RPL network boot protocol, which predates the PXE standard. It is often found as a boot ROM on very old network cards.
You can use your RPL boot ROM to chainload into iPXE, and then use iPXE to boot via HTTP (or HTTPS, or iSCSI, or PXE, or any other boot mechanism that iPXE supports).
You will need to install rpld to serve the iPXE binary to your RPL boot clients.
If you are using Fedora, you can use the prepackaged version:
sudo dnf install -y rpld
For other distributions, you will probably have to build rpld from its source code.
You will need to build a .raw iPXE binary for booting via RPL. For example, to build with all supported drivers, you can use:
make bin/ipxe.raw
Copy your iPXE binary to a directory on your RPL server. For example:
sudo mkdir -p /var/rpl sudo cp bin/ipxe.raw /var/rpl/ipxe.raw
Create the configuration file /etc/rpld.conf containing:
HOST {
ethernet = 00:00:00:00:00:00/6;
FILE {
path="/var/rpl/ipxe.raw";
load=0x2000;
};
execute=0x2000;
};
This will instruct rpld to serve your iPXE binary ipxe.raw to all clients.
The load and execute addresses must be the same and must be aligned on a 16-byte boundary. The value 0x2000 should work on all systems.
You will need to restart rpld after creating the configuration file. For example:
systemctl restart rpld
Try booting one of your RPL clients. You should see output similar to:
Novell NetWare Ready Firmware v3.00 (980108)
(C) Copyright 1995 - 1997 Novell, Inc. All Rights Reserved.
Realtek 8029 PCI Ethernet MLID v6.20 (971113)
(C) Copyright 1993 - 1997 Realtek Semiconductor Co., LTD. All Rights Reserved.
RPL-ROM-ADR: 0050 BF4E FCA0
RPL-ROM-IRQ: 10
RPL-ROM-PIO: 6000
RPL-ROM-FFC: 1
RPL-ROM-SFC: 1
RPL-ROM-SEQ: 229
iPXE initialising devices...ok
iPXE 1.21.1 -- Open Source Network Boot Firmware -- http://ipxe.org
Features: DNS HTTP iSCSI TFTP SRP AoE ELF MBOOT PXE bzImage Menu PXEXT
net0: 00:50:bf:4e:fc:a0 using rtl8029 on 0000:00:09.0 (Ethernet) [open]
[Link:up, TX:0 TXE:0 RX:0 RXE:0]
Configuring (net0 00:50:bf:4e:fc:a0)....ok
net0: 192.168.0.42/255.255.255.0 gw 192.168.0.1
Congratulations on successfully using RPL chainloading!