跳转至

驱动程序测试:UNDI API

测试原理

iPXE 通常在禁用中断的轮询模式下运行。驱动程序可以选择支持使用中断,但这不是必需的。

可以通过使用 iPXE 引导进入 iPXE 的 undionly.kpxe 构建来测试基于中断的操作。

准备

创建一个包含伪随机数据的 512MB 文件,例如使用:

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

下载 undionly.kpxe

把你的伪随机数据文件和 undionly.kpxe 都复制到本地网络上的一台 Web 服务器。

测试步骤

  1. 开始之前,确保网线已连接到提供 DHCP 服务器的网络,并且网络上有一台可以提供你的伪随机数据文件和 undionly.kpxe 的 Web 服务器。
  2. 使用 ifstat 确定你的网络接口名称(下文假定为 net0)。
  3. 使用 dhcp net0 打开接口并获取 IP 地址。
  4. 使用 chain 下载并引导 undionly.kpxe
  5. Ctrl-B 进入 undionly.kpxe 提供的 iPXE shell。
  6. 使用 ifstat 验证 undionly.kpxe 检测到了单个接口 net0,其 MAC 地址正确,且使用 undionly 驱动程序。
  7. 使用 dhcp net0 打开接口并发起 DHCP 请求。
  8. 验证 dhcp 命令无错误完成。
  9. 使用 imgfetch 下载伪随机数据文件。
  10. 使用 imgstat 验证下载的文件大小正确。