安裝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 supportNetwork block device support 都設置為有效Networking option 該項目下面的kernel level autoconfigurationDHCP support (NEW) 都設置為有效Network device support 該項目下面的選項必須根據無盤工作站使用的網卡進行設置,本例中使用的是NE2000兼容網卡,選項Ethernet (10 or 100Mbit) Other ISA cardsNE2000/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) supportFM 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/floopycp /usr/src/linux/arch/i386/boot/bzImage /mnt/floppyumount /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.domain192.168.0.1 c1 c1.domain192.168.0.2 c2 c2.domain192.168.0.3 c3 c3.domain192.168.0.4 c4 c4.domain第一臺工作站的工作目錄設置方法如下:mkdir /tftpboot/192.168.0.1cd /tftpboot/192.168.0.1c000p -a /bin .cp -a /dev .mknod dev/nd0 b 43 0chmod 600 dev/nd0cp -a /etc .cp -a /home .cp -a /lib .rm -rf lib/modulescp -a /root .cp -a /sbin .cp -a /var .mkdir procmkdir usrmkdir tmpchmod 777 tmptouch fastbootchattr +i fastbootcd etc編輯文件 sysconfig/network-scripts/ifcfg-eth0保留其中的DEVICE=eth0ONBOOT=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 /tftpbootcp -a 192.168.0.1 192.168.0.2cp -a 192.168.0.1 192.168.0.3cp -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 ettools etsetup plimage.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_nwesysloginumount /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 選項有效(剛才編譯內核時就是這麼作的),再從下載實用程序 nbd.14.tar.gz ,執行下面的命令tar zxvf nbd.14.tar.gz cd nbd./configuremake編譯完後會得到文件 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=1024mkswap swap在每個工作站目錄下文件 /etc/rc.d/rc.sysinit 的最後加上兩行/usr/sbin/nbd-client server 7999 /dev/nd0swapon /dev/nd0就這麼簡單,再打開無盤工作站試一試啟動成功後登錄系統,執行命令 free 就會看到在顯示信息的最後有這樣一行:Swap: 32764 XX XXXX說明交換區設置成功了。這樣,一個完整的 Linux 無盤工作站網絡就作好了,Linux 無盤工作站的用法很靈活,既可以象使用普通有盤工作站一樣使用,還可以把無盤工作站當成別的 Unix 主機的終端,特別是可以作為 X 終端,運行遠程 Unix 主機上的 X 應用。最後告訴大家,如果你想採用BOOTP方式作 Linux 遠程引導,我可以提供 EPROM 刻錄服務,當然要收取少量的刻錄費用.

相關問題答案