當年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 該項目下面的
Loopbac