Linux 安裝經驗之安裝無盤工作站
2024-07-21 02:33:47
供稿:網友
當年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)
都設置為有效
以上設置完成后,退出內核編譯設置程序,會出現一個對話框: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.80server 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
c000p -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/procprocdefaults0 0
其余的行全部刪除,然后增加一行
server:/tftpboot/192.168.0.1/nfs defaults1 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,找到下面的行
# 40x10eth0802.31
將該行開頭的'#'去掉,再找到
40x0 *802.31
在該行開頭加上'#'
制作啟動映象
進入Win95,將Win95(早期的版本,可以用服務器安裝方式安裝)安裝光盤的admin/nettools/netsetup/rplimage.exe 復制到硬盤,將啟動軟盤插入軟驅,然后在純MSDOS方式下執行 rplimage a: 就會得到啟動映象 net$dos.sys,再將啟動映象 net$dos.sys 復制到啟動盤上(假如啟動盤空間不夠,可以先刪除啟動盤上的一些文件以留出空間)。
啟動 Linux 服務器,以 root 用戶登錄,將啟動軟盤插入軟驅,執行下面的命令 mount -t vfat /dev/fd0 /mnt/floppycp /mnt/floppy/net/$dos.sys /var/mars_nwe/sys/login 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
下一次再啟動服務器時,上述服務進程會自動