2018年1月19日 星期五

Solaris Sparc 模擬軟體 on x86

Reference:
simics虚拟机 + solaris 9 sparc系统 for memory compiler

需求:
有部分舊的軟體必須在 Sun Sparc CPU 上執行,但現在只能找二手機器,如果找廠商維護費用高。

解法:
在 x86 CPU 硬體上安裝 Simics 模擬軟體,可以模擬出 Sparc CPU 安裝 Solaris。

安裝步驟:
1. 在 Windows 7 上安裝 Simics (安裝時提示要裝 WinPcap 3.0,但建議裝 4.x)
2. 將 Solaris 9 的 ISO 檔放到 C:\Users\admin\Virtutech Simics\workspace\targets\sunfire
3. 開啟 Simics,用 New Session 分三次打開 workspace\targets\sunfire 的
        peanut-sol9-cd-install1
        peanut-sol9-cd-install2
        peanut-sol9-cd-install3
    安裝 Solaris 9 完成。
4. 啟動安裝好的系統
    New Session 選 workspace\targets\sunfire\peanut-common.simics 就可以了



啟用 CDE 圖形介面
按照 Reference 這篇文章的方法可以做出 CDE 圖形介面,但是實際操作時 Keyboard, Mouse 會亂跑,猜測可能是現在的 CPU 比以前快太多造成的。

暫時解法:
只做顯示卡設定,開機後用 Console 文字模式操作,設定 DISPLAY 到其他的 linux。

只修改 C:\Program Files (x86)\Virtutech\Simics-3.04\targets\sunfire\peanut-common.simics
在 run-command-file "%script%/sunfire-6500-system.include"之前加上以下代碼

script-branch {
wait-for-variable machine_defined
$pcibrd = (create-sunfire-pci-board mac_address = "10:10:10:10:10:14")
$pgx64 = (create-sun-pci-pgx64)
$gfxcon = (create-std-graphics-console)
$keyboard = (create-sun-type5-keyboard)
$mouse = (create-sun-type5-mouse)
$scsi_bus1 = (create-std-scsi-bus)
$system.connect slot2 $pcibrd
$pcibrd.connect pci-slot0 $pgx64
$pcibrd.connect $scsi_bus1
$system.connect keyboard $keyboard
$system.connect mouse $mouse
$pgx64.connect console $gfxcon
$gfxcon.connect keyboard $keyboard
$gfxcon.connect mouse $mouse
}

注意:將滑鼠移入 graphics console 中,按住 shift 鍵,點滑鼠右鍵, 就可以進入 graphics
console 中。再次按住 shift,點滑鼠右鍵離開 graphics console。就像 vmware 中的 control+alt
一樣。


和實體網路連接
Reference 這篇文章的方法是用 NAPT (Network Address Port Translation),但這方法必須改變操作習慣。我參考安裝好時提供的文件改用 Ethernet Bridging。
C:\Program Files (x86)\Virtutech\Simics-3.04\doc\simics-user-guide-windows.pdf
好處是操作方式跟原本的一樣,不需要指定 port。缺點是 Ethernet Bridging 不支援 IP Routing,只能在同網段連線。

做法:
1. 開啟 Simics 時必須用管理員權限執行
2. Solaris 開機後,在 (simics) 輸入指令 connect-real-network-bridge host-access = raw

注意:
請確認使用 WinPcap 4.x。如果使用 WinPcap 3.0 會造成 Simics 異常跳出。(可能 Simics 當時是搭配 Windows XP 可以正常使用)



沒有留言:

張貼留言