4.3. 从网络启动

仅在某些情况下才需要从网络启动。当您拥有不受支持的 I/O 设备、无盘系统或硬件损坏的系统时,从网络启动非常有用。网络启动的详细信息如下。

4.3.1. 准备从网络启动

从网络启动涉及两台机器:启动服务器启动客户端,后者是您尝试启动的 PA-RISC 系统,前者是通过网络为客户端提供所需文件的机器。本节的其余部分将大量介绍如何设置启动服务器,因为这可能是最棘手的部分。

Important

您将需要一个 lifimage 来执行网络启动。请参阅第 3.2 节以了解如何创建一个。您也可以使用来自 Debian 安装程序中的一个。

Note

无需多言,所有服务器端设置都应由超级用户执行,也称为root.

4.3.2. rboot 还是 bootp?

所有“较新的”机器都可以使用BOOTP启动,从 715/100、715/120 和 712s 开始。较旧的机器,主要是早期的 715s、710s 和 725s 需要RBOOT.

Note

要使用BOOTP您必须启用“IP:内核级别自动配置”->“IP:BOOTP 支持”,如果您想使用自制内核,请在内核配置的“网络选项”部分中进行设置。有关详细信息,请参阅第 5 章

请注意,尽管第 4.3.3 节讨论的是RBOOT,但在 第 4.3.4 节第 4.3.5 节 中详细介绍了该BOOTP协议的两种不同实现。我们详细介绍这两种实现是因为我们可以,但如果您需要使用BOOTP协议,您将必须选择一种。

Tip

如果您不知道要使用哪种BOOTP实现,请选择 dhcp 实现,它更容易处理。

4.3.3. 使用 rboot

4.3.3.1. 获取 rbootd

如果您的旧机器需要 rboot 才能通过网络启动,请使用以下步骤设置和配置启动服务器,并使用 PA-RISC/Linux 内核启动。

包括 Scorpio 715s 在内的旧机器使用RBOOT协议。您需要 rbootd 来处理它们的启动请求。在您最喜欢的发行版存档中查找它(假设您将从 Linux 机器处理启动请求)。以下是获取 rboot 守护程序的两种方法

  • 如果您使用的是基于 Debian 的服务器(您真的应该这样做 ;o),那么您几乎完成了。从命令行 shell 运行

    [user@machine ~/dir]> apt-get install rbootd
    							
  • 如果您找不到适用于您系统的任何 rbootd 软件包(这很有可能,因为它是一个非常旧的网络启动协议),您可以在 Debian 存档中找到其源代码:rbootd。您将必须从源代码构建它。

4.3.3.2. 配置 rbootd

正如我们已经说过的,要启动一个RBOOT系统,您需要一台单独的机器,其上安装了 rbootd(这是“启动服务器”),您将在其上存储您想用来启动 PA-RISC 系统的 PA-RISC/Linux 内核 lifimage

安装 rbootd 服务器软件后,请阅读以下内容以配置它以与您的 PA-RISC 系统一起工作

/etc/rbootd.conf中,您将需要添加类似这样的行

ethernet_addr            bootfile

  1. 替换bootfile为您 PA-RISC/Linux 内核映像的名称,通常是“lifimage'.

  2. 现在,通过在“BOOT_ADMIN>”提示符下键入 lanaddress 来获取您的 PA-RISC 系统的以太网地址(请参阅第 2.1.2.3 节)。

    它将返回一个类似于080009-7004b6的数字。记下这个数字。

  3. /etc/rbootd.conf在您的启动服务器上,以太网地址必须以冒号分隔。这意味着您将必须修改您刚刚获得的数字,以便每两个字符(删除“-”后)之间用冒号分隔。例如080009-7004b6变为08:00:09:70:04:b6。将冒号分隔的以太网地址添加到/etc/rbootd.conf在您的启动服务器上。结果文件将如下所示

    # ethernet addr        boot file           comments
    
    08:00:09:87:e4:8f      lifimage_715        # PA/Linux kernel for 715/33
    08:00:09:70:04:b6      lifimage_720        # PA/Linux kernel for 720
    							

    rbootd.conf示例包含两台不同机器的以太网地址和启动文件名。

    更改配置文件后,重新启动 rbootd

默认情况下,rbootd 假定启动文件位于/var/lib/rbootd/。因此,您将必须将您的可启动内核映像放在该目录中,或者,如果您真的讨厌该目录,您可以重新构建 rbootd 以使用不同的目录。

当然,最简单的事情就是将您的内核映像放在默认目录中!

4.3.4. 使用 dhcp/tftp

我们将在此处看到如何设置一个DHCP服务器来处理BOOTP请求(因为 PA-RISC 盒子使用BOOTP,除非它们需要RBOOT,如上所述)。

Note

Windows™ 用户可能需要查看附录 A

4.3.4.1. 获取 dhcp/tftp

Debian 用户只需使用以下命令安装软件包,以root:

[user@machine ~/dir]> apt-get install dhcp tftpd
					

身份执行即可。如果您需要 rpm 软件包(对于 ISC dhcp 服务器),最好的方法是访问 http://rpmfind.net/

Note

dhcp 软件包的功能远不止一个简单的 bootp 守护程序。然而,它也被认为更容易配置。如果您真的想尝试常规的 bootp,请跳过此部分并转到 第 4.3.5 节

4.3.4.2. 配置 dhcp/tftp

以下是在您的启动服务器上设置 dhcp 的说明。为了使此说明简单明了,我们将假设您想为您的盒子分配一个固定的 IP,而无需 DNS 更新。您的子网将是192.168.1.0/24,可选:网关在192.168.1.1,域名foo.com和 DNS 在192.168.1.4。请随意在接下来的章节中用适合您需求的值替换这些值。

Note

本节专门针对 Debian 用户。对于其他发行版,它应该是类似的,尽管可能存在一些差异,例如默认目录。

  1. 编辑/etc/inetd.conf在您的启动服务器上添加以下行(如果它尚不存在)

    tftp           dgram   udp     wait    nobody  /usr/sbin/tcpd \
    														/usr/sbin/in.tftpd /tftpboot
    								
    在这里,/tftpboot/被用作 tftpd 服务器的根目录(您将在此处放置 lifimage 文件)。您可以根据需要选择另一个目录。根据 man tftpd,这是通常的默认目录。

    完成后,使用:/etc/init.d/inetd reload 重新加载 inetd。非 Debian 用户也可以发出 killall -HUP inetd

  2. 根据 man 5 dhcpd.conf,编辑/etc/dhcpd.conf文件以包含类似以下内容

    allow bootp;
    default-lease-time 600;
    max-lease-time 7200;
    # This will tell the box its hostname while booting:
    use-host-decl-names on;
    
    subnet 192.168.1.0 netmask 255.255.255.0 {
    		option routers 192.168.1.1;
    		option domain-name "foo.com";
    		option domain-name-server 192.168.1.4;
    }
    
    host [hostname] {
    		hardware ethernet [mac address];
    		fixed-address [ip address];
    		filename "[boot filename]";
    		option root-path "[root path]";
    }
    								
    您必须填写[hostname], [mac address], [ip address], [boot filename][root path]字段,其中

    • [hostname]是 PA-RISC 系统的名称。

    • [mac address]是 PA-RISC 系统的以冒号分隔的以太网地址,可以通过在“BOOT_ADMIN>”提示符下键入 lanaddress 来获取您的 PA-RISC 系统的以太网地址(请参阅第 2.1.2.3 节)。

    • [ip address]是您希望分配给 PA-RISC 系统的 IP 地址。

    • [boot filename]是您要使用其启动系统的可启动内核映像的名称。

    • [root path]是服务器导出的 NFS 根文件系统的路径。

    • 此外,如果您要使用的 tftp 服务器与运行 dhcp 服务器的服务器不同,您可以添加next-server[ip address];,将[ip address]替换为 tftp 服务器的实际 IP,添加到 dhcp 配置中。

    对于您要网络启动的每个盒子,您最终都会得到类似这样的内容

    host tatooine {
    		hardware ethernet 00:40:05:18:0c:dd;
    		fixed-address 192.168.1.22;
    		filename "lifimage-tatooine";
    		option root-path "/exports/tatooineroot";
    }
    								

4.3.5. 使用 bootp/tftp

4.3.5.1. 获取 bootp/tftp

对于 Debian 用户,您只需键入以下命令以用户root:

[user@machine ~/dir]> apt-get install bootp tftpd
						
身份安装软件包即可。如果您需要 rpm 软件包,最好的方法是访问 http://rpmfind.net/

Warning

您已经被警告过!此守护程序在其配置中要模糊得多。

4.3.5.2. 配置 bootp/tftp

按照这些说明在您的启动服务器上使用 bootp 守护程序

Note

本节专门针对 Debian 用户。对于其他发行版,它应该是类似的,尽管可能存在一些差异,例如默认目录。

  1. 编辑/etc/inetd.conf在您的启动服务器上添加以下行(如果它们尚不存在)

    tftp            dgram   udp     wait    nobody  /usr/sbin/tcpd       \
    											/usr/sbin/in.tftpd /tftpboot
    bootps          dgram   udp     wait    root    /usr/sbin/bootpd     \
    														bootpd -i -t 120
    								
    在这里,/tftpboot/被用作 tftpd 服务器的根目录(您将在此处放置 lifimage 文件)。您可以根据需要选择另一个目录。根据 man tftpd,这是通常的默认目录。

    完成后,使用:/etc/init.d/inetd reload 重新加载 inetd。非 Debian 用户也可以发出 killall -HUP inetd

  2. 根据 man 5 bootptab,编辑/etc/bootptab文件以包含

    [hostname]:hd=/tftpboot:\
    			:rp=[root path]:\
    			:ht=ethernet:\
    			:ha=[mac address]:\
    			:ip=[ip address]:\
    			:bf=[boot filename]:\
    			:sm=255.255.255.0:\
    			:to=7200:
    								
    您必须填写[hostname], [mac address], [ip address][root path]字段,其中

    • [hostname]是 PA-RISC 系统的名称。

    • [mac address]是 PA-RISC 系统的未分隔的以太网地址,可以通过在“BOOT_ADMIN>”提示符下键入 lanaddress 来获取您的 PA-RISC 系统的以太网地址(请参阅第 2.1.2.3 节)。

    • [ip address]是您希望分配给 PA-RISC 系统的 IP 地址。

    • [boot filename]是您要使用其启动系统的可启动内核映像的名称。

    • [root path]是服务器导出的 NFS 根文件系统的路径。

    您最终会得到类似这样的内容

    vodka:hd=/tftpboot:\
    	 :rp=/usr/src/parisc/:\
    	 :ht=ethernet:\
    	 :ha=080069088717:\
    	 :ip=140.244.9.208:\
    	 :bf=lifimage:\
    	 :sm=255.255.255.0:\
    	 :to=7200:
    							

4.3.6. 有效地从网络启动

为了总结开发人员启动内核的方式,本节将告诉您如何实际从网络服务器启动系统。但这往往越来越少使用。大多数用户一旦系统正确设置,就会更喜欢坚持使用第 4.2 节

我们来了。我们假设您已完成上述所有操作,您的网络启动服务器与您的 PA-RISC 机器位于同一物理子网中,您的启动服务器上有一个可启动的 PA/Linux 内核 lifimage,并且您愿意尝试一下。如果一切准备就绪(包括您!),以下步骤将向您介绍将您的 PA 盒子网络启动到 Linux 的乐趣。

  1. 启动您的 PA-RISC 系统。

  2. 观看您的 PA-RISC 盒子启动。当以下消息在 PA-RISC 机器的启动过程中出现时,按住 Esc

    Searching for Potential Boot Devices.
    To terminate search, press and hold the ESCAPE key.
    							

  3. 如果需要,从菜单中选择“a) 进入 Boot Administration mode(启动管理模式)”。这将显示“BOOT_ADMIN>”提示符。

  4. 在提示符下键入以下内容:boot lan

  5. 观看您的 PA-RISC 系统神奇地变成 PA/Linux 系统。 成功了!

Note

当然,您应该在您的网络上一次只运行一个启动服务器,以避免冲突...