Table of Contents

Driver test: UNDI API

Rationale

iPXE normally operates in polling mode with interrupts disabled. Drivers may choose to support the use of interrupts, but this is not required.

Interrupt-based operation can be tested by using iPXE to boot into the undionly.kpxe build of iPXE.

Preparation

Create a 512MB file containing pseudo-random data, using e.g.:

  dd if=/dev/urandom of=512mb bs=1M count=512

Download undionly.kpxe.

Copy both your pseudo-random data file and undionly.kpxe to a web server on your local network.

Test sequence

  1. Before starting, ensure the network cable is connected to a network which provides a DHCP server and a web server which can serve your pseudo-random data file and undionly.kpxe.
  2. Use ifstat to identify the name of your network interface (hereafter assumed to be net0).
  3. Open the interface and obtain an IP address using dhcp net0.
  4. Download and boot undionly.kpxe using chain.
  5. Press Ctrl-B to enter the iPXE shell provided by undionly.kpxe.
  6. Use ifstat to verify that undionly.kpxe has detected a single interface net0 with the correct MAC address and using the undionly driver.
  7. Open the interface and initiate a DHCP request using dhcp net0.
  8. Verify that the DHCP command completes without an error.
  9. Download the pseudo-random data file using imgfetch.
  10. Use imgstat to verify that the downloaded file has the correct size.