安装 Linux 无盘工作站

说起无盘工作站,大家一定不会陌生,当年Novell下的无盘DOS工作站很是流行,后来又
流行过Win95无盘工作站,只是由于问题多多,后来微软自己停止了对无盘Windows的支持 。
随着Linux的日益流行,使用Linux的人越来越多,其实Linux 对远程引导的支持非常好,
Linnx内核自身又支持网络文件系统,因此非常适合做无盘工作站,本文将以一个实例向大家
详细介绍无盘Linux工作站的安装办法 。
这个网络是一个小的局域网,有1台服务器和4台 Linux 无盘工作站,彼此之间用双绞
线通过HUB连接,服务器的IP地址定为192.168.0.80 ,名字是server ,5台无盘工作站的
地址由服务器动态分配,地址范围从 192.168.0.1 到 192.168.0.4 ,名字分别是c1,c2,
c3,c4,服务器和无盘工作站使用的都是 NE2000 兼容网卡,无盘工作站使用的网卡上都安
装了BOOTROM 启动芯片,服务器操作系统安装的是 RedHat Linux 6.0 ,安装时选用定制
安装,并安装了全部软件 。
Linux的远程引导有两种方式,一是利用Bootp协议,有一个专门的项目EtherBoot 提供
支持(http://www.slug.org.au/etherboot/),这种方式引导 Linux 的速度是最快的,
但这种方式有一个最大的问题,就是在市场上找不到支持这种远程引导协议的 BOOTROM 启动
芯片(除非自己刻录),因为市场上几乎所有的 BOOTROM 启动芯片都是遵循NOVELL远程引导
协议的,于是有人提出另外一种方式,就是服务器端用 NetWare 服务器,客户端就可以用现
有的BOOTROM 启动芯片了,说到这里大家一定胡涂了,作Linux无盘工作站岂不是还一台
NetWare 服务器?不是的,因为神通广大的 Linux 可以模拟 NetWare 服务器,就象Samba
可以把 Linux 模拟成 NT 一样,mars_nwe 可以把 Linux 模拟成 NetWare,不仅能提供
NetWare 文件和打印服务,还能提供远程引导支持(知道Linux的厉害了吧),本文讲述的
Linux 无盘工作站就是用这种方式作远程引导的 。
准备启动盘
由于在 Linux 下没有制作符合 NetWare 远程引导协议启动映象的工具,所以只能用早
期的Win95()提供的工具(遗憾) 。找一台装有 Win95 的机器启动后按 F8 进入纯DOS方式,
格式化一张启动盘 format a: /s ,然后将RedHat Linux安装光盘上 dosutils 目录下的
loadlin.exe复制到启动盘,在启动盘上作一个 autoexec.bat 文件,代码只有一行
loadlin.exe bzImage root=/dev/nfsroot
从 Windows 95 安装光盘的 Win95 目录下的cab文件中解出 rplboot.sys 文件放在启动
盘上,命令如下:
extract.exe /a /l a: win95-27.cab rplboot.sys
一张用来做启动映象的启动盘就作好了,保存好启动盘,以后作启动映象时会用到它 。
编译内核
用于无盘工作站的Linux内核与用于从本地硬盘引导的Linux内核是不同的,无盘工作
站的内核必须支持NFS作为根文件系统,即远程根文件系统,所以必须编译无盘工作站专
用的内核 。笔者使用的内核代码版本是2.2.16,将内核源代码解压到/usr/src下,
cd /usr/src/linux 进入内核子目录,执行命令make menuconfig 进行内核编译配置,下
列项目必须按要求设置:
Processor type and features 该项目下面的选项必须根据无盘工作站的CPU类型设
置,而不是根据服务器的CPU类型设置
Loadable module support 该项目下面的所有选项都禁止,即不支持模块功能
Plug and Play support 设置为有效
Block devices 该项目下面的
Loopback device support
Network block device support
都设置为有效
Networking option 该项目下面的

推荐阅读