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!