跳转至

添加 NFS 支持

已完成目标
  • 2012/05/21 - 实现与 NFSv3 服务器的连接。
  • 2012/05/30 - 为 iPXE 设计一个 SUN ONC RPC 层。
  • 实现通过 RPC 层发送 NULL 查询。NULL 查询类似于 NO-OP 指令,可用于测试 RPC 层是否正确实现。
  • 2012/06/22 - 获取 NFS 服务器和 MOUNT 服务的端口。
  • 实现与 PORTMAP 服务的连接。
  • 2012/06/22 - 实现 PORTMAP 协议。
    • 2012/05/30 - 发起 PORTMAP_GETPORT 调用。
    • 2012/06/22 - 获取 PORTMAP_GETPORT 回复。
  • 2012/06/25 - 获取根文件句柄
  • 2012/06/25 - 向 MOUNT 服务发起 MNT 请求。
  • 2012/06/25 - 解析 MNT 回复。
  • 2012/06/27 - 实现通过 RPC 层发送 LOOKUP 查询。LOOKUP 查询允许从路径获取文件句柄,然后可以使用该句柄访问文件。
  • 2012/06/27 - 向 NFS 服务发起 LOOKUP 请求
  • 2012/06/27 - 解析 LOOKUP 回复。
  • 2012/07/01 - 实现通过 RPC 层发送 READ 查询。READ 查询允许通过文件句柄获取文件内容。
  • 2012/06/27 - 向 NFS 服务发起 READ 调用
  • 2012/07/01 - 获取文件内容。
  • 2012/07/01 - iPXE 现在能够通过 NFS 加载镜像。
  • 2012/08/06 - 现在可以下载符号链接的镜像。

如何在 iPXE 中通过 NFS 获取文件

由于 NFS 支持已合并到主树中,你不再需要检出我的仓库。

启用 NFS 支持:

  echo "#define DOWNLOAD_PROTO_NFS" >> config/local/general.h

现在你可以编译 iPXE:

  make

URI 的格式如下:

 nfs://server-address/mountpoint/path/to/file

其中 path/to/the/file 相对于挂载点。

链接和参考