分享
 
 
 

安装Linux无盘工作站

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

说起无盘工作站,大家一定不会陌生,当年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

该项目下面的都设置为有效

kernel

level

autoconfiguration

DHCP

support

(NEW)

Network

device

support

该项目下面的选项必须根据无盘工作站使用的网卡进行设置,本例中使用的是NE2000兼容网卡,选项都设置为有效

Ethernet

(10

or

100Mbit)

Other

ISA

cards

NE2000/NE1000

support

(NEW)

Filesystems

该项目下面的Network

File

Systems子项目下面的都设置为有效

NFS

filesystem

support

Root

file

system

on

NFS

(NEW)

其它的选项可以不用理会,直接用缺省值就可以了,当然如果你的无盘工作站有些其它需要使用的设备,你也可以将有关的选项设为有效,比如,本例中的无盘工作站使用了声霸

卡兼容的声卡,下面的选项

OSS

sound

modules

(NEW)

100%

Sound

Blaster

compatibles

(SB16/32/64,

ESS,

Jazz16)

support

FM

synthesizer

(YM3812/OPL-3)

support

(NEW)

都设置为有效

以上设置完成后,退出内核编译设置程序,会出现一个对话框

Do

you

wish

to

save

your

new

kernel

configuration?

回答

然后执行

make

dep

&&

make

bzImage

进行内核编译,这个过程得花一点时间,特别是如果计算机的速度不快的话,花的时间会更长一些。编译内核如果没有错误,会得到内核映象文件/usr/src/linux/arch/i386/boot/bzImage,将启动软盘插入计算机,执行下面的命令

mount

-t

vfat

/dev/fd0

/mnt/floopy

cp

/usr/src/linux/arch/i386/boot/bzImage

/mnt/floppy

umount

/dev/fd0

好了,启动盘上的文件都准备齐全了,等会儿用它到Win95环境下制作启动映象。

服务器设置

服务器端需要运行nfsd、dhcpd、mars_new等几个服务进程,这些软件在ReHat

Linux发行套件里都有,如果在安装

Linux

的时候选择全部安装,这些软件都会随着安装操作系统而装好了,下面对这些软件进行设置,注意,下面的操作要以

root

身份进行。

1、

NFS

守护进程nfsd

首先要建立几个供无盘工作站使用的目录,并通过nfsd

导出,命令如下:

mkdir

/tftpboot

然后编辑文件

/etc/hosts

,加入下面的内容

192.168.0.80

server

server.domain

192.168.0.1

c1

c1.domain

192.168.0.2

c2

c2.domain

192.168.0.3

c3

c3.domain

192.168.0.4

c4

c4.domain

第一台工作站的工作目录设置方法如下:

mkdir

/tftpboot/192.168.0.1

cd /tftpboot/192.168.0.1

cp -a /bin

.

cp -a /dev

.

mknod dev/nd0 b 43 0

chmod 600 dev/nd0

cp

-a

/etc

.

cp

-a

/home

.

cp

-a

/lib

.

rm

-rf

lib/modules

cp

-a

/root

.

cp

-a

/sbin

.

cp

-a

/var

.

mkdir

proc

mkdir

usr

mkdir

tmp

chmod

777

tmp

touch

fastboot

chattr

+i

fastboot

cd

etc

编辑文件

sysconfig/network-scripts/ifcfg-eth0

保留其中的

DEVICE=eth0

ONBOOT=yes

其余的行全部删除,然后增加一行

BOOTPROTO=dhcp

编辑文件rc.d/rc.sysinit,在文件最后加上两行

mount

-t

nfs

server:/usr

/usr

/usr/X11R6/bin/xfs

编辑文件fstab,保留其中的

none

/proc

proc

defaults

0

0

其余的行全部删除,然后增加一行

server:/tftpboot/192.168.0.1

/

nfs

defaults

1

1

其它工作站的工作目录设置方法就简单多了

cd

/tftpboot

cp

-a

192.168.0.1

192.168.0.2

cp

-a

192.168.0.1

192.168.0.3

cp

-a

192.168.0.1

192.168.0.4

编辑文件

/etc/exports

,加入以下内容

/usr

(ro,no_root_squash)

/tftpboot/192.168.0.1

(rw,no_root_squash)

/tftpboot/192.168.0.2

(rw,no_root_squash)

/tftpboot/192.168.0.3

(rw,no_root_squash)

/tftpboot/192.168.0.4

(rw,no_root_squash)

2、动态主机配置协议服务器dpchd

检查一下文件/etc/dhcpd.leases是否存在,若不存在就用命令touch

/etc/dhcpd.leases

创建一个,然后编辑文件

/etc/dhcpd.conf

,加入以下内容

subnet

192.168.0.0

netmask

255.255.255.0

{

range

192.168.0.1

192.168.0.4;

}

3、NetWare

模拟器

marsw_nwe

编辑文件

/etc/nwserv.conf,找到下面的行

#

4

0x10

eth0

802.3

1

将该行开头的'#'去掉,再找到

4

0x0

*

802.3

1

在该行开头加上'#'

制作启动映象

进入Win95,将Win95(早期的版本,可以用服务器安装方式安装)安装光盘的admin、nettools、netsetup、plimage.exe复制到硬盘,将启动软盘插入软驱,然后在纯MSDOS方式下执行

rplimage

a:

就会得到启动映象

net$dos.sys,再将启动映象net$dos.sys复制到启动盘上(如果启动盘空间不够,可以先删除启动盘上的一些文件以留出空间)。

启动

Linux

服务器,以

root

用户登录,将启动软盘插入软驱,执行下面的命令

mount

-t

vfat

/dev/fd0

/mnt/floppy

cp

/mnt/floppy/net$dos.sys

/var/mars_nwesyslogin

umount

/dev/fd0

然后执行setup,移动光棒至System services选项回车,出现Services设置画面,将dhcpd,nfs,mars-nwe都设为有效,退出

setup

程序,执行以下的命令以启动上述服务进程:

/etc/rc.d/rc3.d/*mars-nwe

restart

/etc/rc.d/rc3.d/*dhcpd

restart

/etc/rc.d/rc3.d/*nfs

restart

下一次再启动服务器时,上述服务进程会自动执行。

至此,所有的设置工作全部完成了,联好网络随便打开一台无盘工作站,稍等一下,出现远程引导的信息,接着会启动Win95,接下来很快就会装载Linux,在一大堆Linux的启动信息之后如果看到Linux的登录提示,就说明远程启动成功了。

Linux

无盘工作站虽然运转起来了,但还有一个问题,就是交换的问题,因为Linux是一个支持虚拟存储的操作系统,当机器内存不够时,Linux

就会把内存中暂时不用的数据换出到交换设备上,等需要时再换回来,刚才我们没有设置交换区,在无盘工作站上用free

命令就会发现交换区为零,如果无盘工作站内存较大,运行一些不大的程序,没有交换区还是可以的,但若运行大型程序就会出问题,下面介绍在服务器上设置交换区即远程交换的方法。

对于2.1.101版以前的内核,要实现远程交换可有点费事,得从网络上下载有关的补丁来修改内核代码,然后再编译内核映象,从2.1.101版后内核支持网络块设备,实现远程交换就容易了,首先编译内核时要使

Network

block

device

support

选项有效(刚才编译内核时就是这么作的),再从http://atrey.karlin.mff.cuni.cz/~pavel/nbd/nbd.html下载实用程序

nbd.14.tar.gz

,执行下面的命令

tar

zxvf

nbd.14.tar.gz

cd

nbd

./configure

make

编译完后会得到文件

nbd-server

nbd-client,将它们复制到

/usr/sbin

下面:

cp

nbd-server

nbd-client

/usr/sbin

然后编辑文件

/etc/rc.d/rc.sysinit,在文件最后加上一行

/usr/sbin/nbd-server

7999

/tftpboot/%s/swap

>

/dev/null

&

执行刚才的命令激活nbd服务:

/usr/sbin/nbd-server

7999

/tftpboot/%s/swap

>

/dev/null

&

下一次服务器启动时,上述命令会自动执行。

再在服务器上每个工作站目录(/tftpboot/192.168.0.1,/tftpboot/192.168.0.2等等)下为各个无盘工作站建立交换文件,命令如下(本例中交换区大小为32M):

dd

if=/dev/zero

of=swap

count=32768

bs=1024

mkswap

swap

在每个工作站目录下文件

/etc/rc.d/rc.sysinit

的最后加上两行

/usr/sbin/nbd-client

server

7999

/dev/nd0

swapon

/dev/nd0

就这么简单,再打开无盘工作站试一试启动成功后登录系统,执行命令free就会看到在显示信息的最后有这样一行:

Swap:

32764

XX

XXXX

说明交换区设置成功了。

这样,一个完整的Linux无盘工作站网络就作好了,Linux无盘工作站的用法很灵活,既可以象使用普通有盘工作站一样使用,还可以把无盘工作站当成别的Unix主机的终端,特别是可以作为X终端,运行远程Unix主机上的X应用。

最后告诉大家,如果你想采用BOOTP方式作Linux远程引导,我可以提供EPROM刻录服务,当然要收取少量的刻录费用。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有