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