3. JavaStationLinux 的背景需求

本章介绍在 JavaStation 上启用 Linux 的基本硬件和软件需求。

3.1. 完整的硬件需求

对于硬件,您将需要一台或多台 JavaStation 客户端以及一台服务器,用于向其提供 Linux 镜像,所有设备都在同一网段上联网。

您使用的此服务器可以是任何支持 DHCPTFTPRARP 的服务器。 这些是执行 JavaStations 网络启动所需的基本协议。 您可能还需要 NFS 服务,但这在本文档描述的一种配置中不是必需的。 此外,在 KrupsEspresso 型号上,您可以无需 RARP

本文档将介绍如何设置从运行 SparcLinux 的 Sun 服务器向 JavaStation 提供网络 Linux OS 镜像。 虽然您不需要 Sun 服务器来提供您的 Linux 镜像,但如果您希望编译自己的内核,或为您的 JavaStations 原型化新的文件系统,则建议使用 Sun SparcLinux 服务器。 否则,您将需要使用其他人预先构建并公开提供的预打包内核和文件系统。(您也可以使用交叉编译器来生成内核镜像,但在 Sun SparcLinux 服务器上原型化文件系统是最好的。)

已成功使用的启动服务器报告包括运行 Sparclinux 的 Sun 服务器、运行 Solaris 的 Sun 服务器和运行 MS Windows 的 PC。 仅当您构建新的内核或文件系统时,运行 Linux 的 Sun 服务器才变得有价值。

您的网络可以是简单的 10 Mbps 以太网 LAN,但是当您开始一次使用超过 50 台 JavaStations 时,交换式 100 Mbps 网络对于您的服务器处理多个并发启动请求来说变得理想。

本 HOWTO 包括指向示例内核、文件系统和完整开箱即用解决方案的指针,供您使用,从而消除您对 Linux/SPARC 服务器的需求,但您仍然需要某种类型的服务器来在 JavaStations 启动时向其提供镜像。

3.2. 网络服务需求

正如上一节讨论的那样,JavaStation 启动周期将使用 DHCPTFTP,可能还会使用 NFSRARP。 要了解原因,请阅读下一节中的 JavaStation 启动顺序。

3.3. 了解 JavaStation 启动顺序

JavaStations 遵循典型的无盘工作站启动顺序。

通电后,JavaStation 发送广播请求以获取其 IP。 它通过 RARPDHCP 获取其 IP 信息。 通过 DHCP 响应,它获取有关其所在网络的信息,以及从何处通过 TFTP 下载其启动镜像的信息。

从一台无盘机器到下一台无盘机器,无盘启动存在细微差异。 例如,有时可以用 BOOTP 代替 DHCP,并且可以取消 RARP 而支持两者中的任何一个。 但总的来说,客户端和服务器之间的顺序通常是相同的

  1. 客户端:“我是谁?”

  2. 服务器:“你是 xxx”

  3. 客户端:“我应该去哪里获取我的启动镜像?”

  4. 服务器:“你去这里。”

  5. 客户端:“请从这里给我我的镜像……拜托?”

  6. 服务器:“这是你的镜像。”

内核加载完成后,您的无盘客户端通常通过 NFS 从网络挂载其根文件系统。 或者,它可以从 RAM 磁盘加载并挂载它。

最初的 JavaOS 和 Hotjava Views 环境在 JavaStation 上运行时,需要设置和维护上述核心服务,以及 NIS、HTTP、DNS、POP 和 NTP 服务器。 如果设置 JavaStation 启动服务器看起来工作量很大,请想象一下将这些额外的服务也添加到其中。

3.4. 其他软件需求:替换固件 (PROLL)

JavaStations 配备了两种不同的 PROM。 版本 2.30 随最早的 Mr. Coffee 型号一起发布,并通过更高版本的 Sun Netra J 软件环境更新为 3.11。KrupsEspresso 默认配备了 3.x 版本的 PROM

事实证明,后来的 3.x 系列 PROM 不利于启动 Linux。 幸运的是,现在存在一个名为 PROLL 的完整 PROM 替代品来克服此限制。

PROLL 成为您的 JavaStation 通过 TFTP 获取的第一个镜像。 然后,它将加载您的真实内核镜像并启动进入 Linux

无论您拥有哪个 PROM 版本,都获取 PROLL。 这可以使新的安装故障排除更容易。

当前的 PROLL 主版本可从以下网址获取: http://people.redhat.com/zaitcev/linux/

在撰写本文时,当前版本为 “14”

PROLL 也可以在 “VGER ”上找到镜像,也可以在本 HOWTO 的发行站点上找到: http://dubinski-family.org/~jshowto/Files/proll/proll_14.tar.bz2(HOWTO 网站镜像 - 版本 14)

3.5. 决定您的文件系统类型:NFS-Root 还是嵌入式?

在开始之前,您必须决定要为您的无盘 JavaStation 使用的根文件系统类型。 有两种可能性。

3.5.1. NFS-Root” 文件系统

在此设置中,在从网络检索启动内核后,运行的 JavaStation 为其根文件系统建立 NFS 连接。 根目录 “/” 从网络挂载,持续当前会话。

对于初学者来说,NFS-Root” 解决方案是推荐的方式,因为它在出现问题时更容易排除故障。 它还可以更轻松地原型化正确的文件系统,因为您在运行系统上所做的任何更改都可以为下一个启动周期传播(只要您处于读写模式,当然)。

这种类型系统的缺点是网络活动增加,因为运行的 JavaStations 查找和执行文件,以及大型环境中的文件组织。

3.5.2. “嵌入式-Root” 文件系统

在此设置中,根文件系统直接加载到 RAM 中并从那里访问。

此设置的优点是不必担心 NFS 流量,从而产生简洁的解决方案。

此配置的缺点是您不能再对文件系统进行快速原型设计,因为您对运行系统所做的任何更改都会丢失。 如果您没有可用的 “NFS-Root” 设置,您可以通过进行小的调整和执行重启来测试来开发嵌入式文件系统。 其他缺点包括需要将完整的文件系统放入可用 RAM 中; 由于 PROLL 的限制,此要求在 JavaStations 上远低于预期。 尽管如此,嵌入式根目录仍然是获得最简洁环境的方式。

首次用户将希望设置 “NFS-Root” 配置。 当您使事情稳定下来后,请移动到 “嵌入式-Root” 以利用其优势。

3.6. 要查看的支持站点:Zaitcev 的 Linux 站点

当您开始考虑在 JavaStation 上安装 Linux 时,要参考的一个网站是内核黑客 Pete Zaitcev 的网站: http://people.redhat.com/zaitcev/linux/,在本文档中通篇被称为 “ZLS” 站点(“Zaitcev's Linux Site”的缩写)。 在这里,您将找到最新版本的 PROLL 以及有关处理 JavaStations 的许多底层细节。 ZLS 上的许多项目已合并到本文档中,但并非全部。

2001 年 10 月更新:在深入设置 JavaStation 和 Linux 之前,您最好查看 Pete 站点、本文档以及指向的参考文献中的所有信息。 人们在设置系统时遇到的几乎所有问题都已在提供的材料中涵盖。