Chainloading iPXE from a NetWare RPL boot ROM

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).

Server software

A chain

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.

Building iPXE

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

Configuring the server

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

Testing

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!

Success

appnote/netware_rpl.txt ยท Last modified: 2021/02/19 17:29 by mcb30
Recent changes RSS feed CC Attribution-Share Alike 4.0 International Driven by DokuWiki
All uses of this content must include an attribution to the iPXE project and the URL https://ipxe.org
References to "iPXE" may not be altered or removed.