4.3. 为使用 TFTP 网络引导准备文件

如果您的机器连接到了一个局域网,您可以从网络上的另外一台机器上面通过 TFTP 来引导它。如果您倾向从另外一台机器上面引导安装系统,则引导文件需要放在那台机器上面的某个特殊地方,并且配置好能够能够支持对您的机器进行引导。

您需要设置一台 TFTP 服务器,并且对于很多机器来说,还需要一台 BOOTP 服务器 。

不像 Sparc 和 PowerPC 机器上的 Open Firmware, SRM 控制台将 使用 RARP 来获得它的 IP 地址。因此您必须使用 BOOTP 来从网络启动您的 Alpha 机器[2]。您也可以直接在 SRM 控制台中直接输入网络接口的 IP 配置。

普通文件传输协议(Trivial File Transfer Protocol (TFTP))被用于为客户提供引导映像。理论上,任意服务器,在任意平台上只要实现了这些协议就都能够被应用。在这一节的一些例子里面,我们将提供在 SunOS 4.x、SunOS 5.x (即 Solaris) 和 GNU/Linux 上面的一些操作例子。

4.3.1. 开启 TFTP 服务器

要准备好 TFTP 服务器,您首先需要确定 tftpd 已经启动。这通常可以在 /etc/inetd.conf添加如下字句来实现:

tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot

Debian 包通常在安装后会自动把这条设置好。

检查那个文件并且记住被用作 in.tftpd 的参数的目录,您接下来将会需要它。-l 参数能够让某些版本的 in.tftpd 将所有的请求记录到系统日志中。这将在检查错误的时候会很有用。如果您必须修改 /etc/inetd.conf,您将必须提醒正在运行的 inetd进程该文件已经被改变。在 Debian 系统中,您应该执行 /etc/init.d/inetd reload;而在其它系统中,找到 inetd 所对应的进程 ID,并且运行 kill -HUP inetd-pid

4.3.2. 将 TFTP 映像放到适当的位置

接下来,将在 第 4.2.1 节 “在哪里能找到安装映像”中找到的 TFTP 启动映像放置到tftpd引导映像目录中。一般来说,这个目录将是 /tftpboot。您必须将该文件链接到 tftpd 所使用的引导特定客户端的文件名。不幸的是,这个文件名完全决定于 TFTP 客户程序,并且没有一个强制的标准。

4.3.2.1. Alpha TFTP 引导

在 Alpha 上,您必须通过 -file 参数将文件名(与启动引导映像目录的相对路径形式)指定给 SRM 的boot 命令,或者设置 BOOT_FILE 环境变量。或者,也可以通过 BOOTP 给出文件名(在 ISC 的 dhcpd 中,使用 filename 指令)。与 Open Firmware 不同的是,这里的 SRM 中没有缺省文件名,因此您 必须 通过以上方法之一来指定一个文件名。



[2] Alpha 系统也可以通过 DECNet MOP (Maintenance Operations Protocol) 从网络启动,但在此不作阐述。在您急切需要使用 MOP 来启动 Alpha 系统上的 Linux 时,估计 OpenVMS 操作员很乐意帮您完成。