一、前言及背景
華能福州電廠二期2*350MW機組采用西門子EPERMXP系統(tǒng),在TerminalBus上有8臺OT、4臺PU以及2臺SU。配置情況如下:硬件采用了當時西門子利多富的PC,CPU為Pentium166,操作系統(tǒng)為SCOUNIX5.0.4,應用系統(tǒng)為西門子的OM650控制系統(tǒng)軟件。
這幾年來,計算機技術的發(fā)展越來越快,硬件的更新也非常的快,計算機的性能也得到了更大的提高。現(xiàn)有的西門子P166微機,是1997年的主流,但是現(xiàn)在已經(jīng)即將成為淘汰的產(chǎn)品,而且如果發(fā)生損壞,硬件的更換也很困難。在運行當中,曾經(jīng)發(fā)現(xiàn)系統(tǒng)響應緩慢的問題,這就是P166計算機本身固有的局限。雖然我們也從西門子購買了新的備品計算機,但是其價格昂貴而且沒有安裝好可以使用的OM650系統(tǒng),如果要將之投入運行還需要做進一步的配置和安裝上作,甚至還需要請西門子專家到現(xiàn)場才能夠解決。基于如上的一些情況,我們著手進行系統(tǒng)移植方法的探討。
二、系統(tǒng)情況以及解決方法
西門子的OM650系統(tǒng)采取了比較可靠的軟件保護措施,除了擁有安裝介質(zhì)以及西門子提供的許可證外,無法進行系統(tǒng)的重新安裝工作,因此現(xiàn)有的OM650的系統(tǒng)備份磁帶就成了手頭*的一個可以利用的資源。
OM650系統(tǒng)屬于上位系統(tǒng),其中OT為操作終端、PU為處理單元(PROCESSINGUNIT)、SU為服務器單元(SERVERUNIT)、ES為工程師系統(tǒng),如下圖所示:
其中OT、PU、SU上的操作系統(tǒng)為SCO5.04,ES上的為HPUNIXB.10.20而且ES的硬件為惠普的HP9000/715工作站,因此我們的系統(tǒng)移植以及硬件升級的目標就是安裝于PC機上的OT、PU以及SU系統(tǒng)。而且從網(wǎng)絡圖可以看到,PU還有與下位系統(tǒng)的連接,因此,還將牽涉到特定硬件的配置和安裝問題,因為PU上和下位系統(tǒng)連接的網(wǎng)卡是西門子*的網(wǎng)卡CPl413,普通的網(wǎng)卡是不能夠使用的。
要完成如上的目標,首先需要比較深入地了解SCOUNIX,其啟動方式、硬件管理以及文件系統(tǒng)管理方式等都應該能深入的理解和體會,并且對TXP系統(tǒng)也應有相當?shù)牧私狻H缦戮褪窃敿毜纳壐脑斓倪^程。
SCOUNIX的啟動方式如下:
ROMbios中的指令將硬盤O道O扇區(qū)上的主引導塊(masterboot)裝入內(nèi)存。
由已裝入內(nèi)存的主引導塊把活動分區(qū)的引導塊(bootblock)boot0裝入內(nèi)存。
Booto把UNIX分區(qū)上1KB處開始的bootl裝入內(nèi)存。
Bootl將UNIX文件系統(tǒng)中的/boot文件裝入內(nèi)存,boot程序被啟動。
然后啟動UNIX:
boot程序引導UNIX核心程序/stand/unix。
UNIX被引導后,啟動init進程,
該進程啟動/etc/inittab文件中所列的進程。
整個系統(tǒng)被啟動
一般而言,我們都采用的是SCSI硬盤,那么在自舉階段能否正確識別SCSI卡成了關鍵的問題。
SCOUNIX的工作方式:啟動讀入BOOT信息,其中包含了內(nèi)核的加載以及對SCSI卡的識別,然后在啟動連接在SCSI卡上的硬盤中的ROOT文件系統(tǒng),接下來才能繼續(xù)加載上其他的應用和文件系統(tǒng)。應該說BOOT過程是對硬件的識別過程,特別是對SCSI的識別,只要正確地識別了SCSI,系統(tǒng)就能正常啟動。換句話而言,只要系統(tǒng)在BOOT的過程中能夠正確識別到SCSI卡的類型,那么ROOT中SCSI的信息是怎么樣的,其實并不是很重要。
我們的思路是:采用故障恢復方式,將系統(tǒng)當作故障系統(tǒng)來對待,用新的系統(tǒng)的內(nèi)核和啟動程序來替換舊系統(tǒng)的內(nèi)核和啟動程序,這樣就能將系統(tǒng)引導并啟動。然后,修改SCSI卡的配置后重新編譯內(nèi)核,此時生成的新內(nèi)核就成了包含有新的計算機上的SCSI卡配置的系統(tǒng)。
我們認為倒入新計算機的系統(tǒng)是損壞的系統(tǒng),這樣就需要通過系統(tǒng)恢復來使之正常。
具體過程說明如下:
(1)新的機器上(我們用了研華的PIII工控機)安裝SCOUNIX(即使用新的SCSI卡,新的硬盤),在我們安裝的是SCOUNIX5.0.5。
(2)安裝成功之后,制作緊急盤(BOOT和ROOT盤),具體方法如下:
在超級用戶提示符#下敲入mkdevfd,回車,屏幕上將出現(xiàn)如r選項:
Choicesforcontentsofthefloppyfilesystems
i.Filesystem
iiEmergencyBootandRootfloppyfllesystems
因為創(chuàng)建的就是緊急盤,所以就選2。然后出現(xiàn)如下畫面:
Choicesfortypeoffloppyfllesystems:
1)96tpi,doublesided,15sectorspertrack(12Mb5.25inch)
2)135tpi,doublesided,18sectorspertrack(1.44Mb3.5inch)
3)135tpi,doublesided,36sectorspertrack(2.88Mb3.5inch)
因為一般我們用1.44MB的軟盤來制作緊急恢復盤,選擇2。
然后出現(xiàn)如下的畫面:
Pleasechoosethetypeoffllesystem:
1)ootfllesystem
2)ootfilesystem
3)SinglefloppyBootandRootfllesystem(288Mbonly)
Ifyouhavehighdensity(1.44M)disks,youmustcreateseparaterootandbootfilesystemfloppies.Therootfloppymustbepreparedfirst.
這樣依據(jù)提示,就可以順利地創(chuàng)建出所需要的BOOT和ROOT盤
(3)用BOOT和ROOT盤啟動,用dd命令將舊系統(tǒng)(無論是OT、PU或者SU)的磁帶備份倒入到新的硬盤中
(4)BOOT盤啟動,fd(64)/unix.Z即從軟盤啟動,使用硬盤的ROOT
(5)裝以建立文件系統(tǒng)的軟盤到硬盤的空目錄下
mount/dev/fd0135dsl8/mnt
將軟盤上的boot和unix.Z文件復制到硬盤的/stand目錄下(stand文件系統(tǒng)包含了系統(tǒng)引導時所需要的信息、引導程序,例如/stand/boot、/stand/boots等文件)
(6)后用SCSI卡所帶的支持SCO安裝的驅(qū)動盤升級安裝SCSI卡,修改/etc/conf/cf.d/mscsi文件,重新對一些新的硬件進行配置(如顯卡和網(wǎng)卡)
(7)生成新內(nèi)核/etc/conf/cf.d/Link-unix
(8)reboot重新啟動系統(tǒng)這樣,新的系統(tǒng)的移植就算真正完成了。對于PU的CPl413的網(wǎng)卡的配置,后來發(fā)現(xiàn)在PU上帶有該程序包,因此也節(jié)省了很多尋求的時間,只需要在內(nèi)存的配置上做了一些修改后,系統(tǒng)也啟動成功。經(jīng)過升級改造后的系統(tǒng)包括PU、SU和OT都經(jīng)過了在線的測試,完夠符合實際的需要,并且在性能上有了相當?shù)奶岣摺?br />
這樣我廠的西門子終端總線上的計算機的備品*可以用價格便宜,性能更好的微機來替換,不但節(jié)約了資金也在一定程度上提高了系統(tǒng)的性能。目前國內(nèi)幾十臺西門子TXP控制系統(tǒng)都面臨相似的計算機備品問題,本移植方法對同類電廠TXPOM650系統(tǒng)的全系統(tǒng)移植具有一定的借鑒作用,可廣泛推廣應用。