Simics & Solaris Sparc

用 simics 模拟运行 Solaris SPARC 版。

环境

  • 机器: Macbook Pro 11,1
  • OS: Ubuntu Desktop 14.04.3 LTS 64 位
  • Simics: 3.0.31 64 位

安装

安装过程遇到的问题和解决办法:

  • 从 Oracle 下载的单个 DVD 版 Solaris 无法安装
boot 后报告内存分配失败,kernel panic。没办法,只能换 6 CD 的版本。
  • CD 2 安装失败,提示找不到 CD 文件 "o"
simics 文档不对。文档说在文件前面增加 $cdrom_path = CD2文件路径,
但是 simics/targets/sunfire/ 下的安装脚本里,要求 $cdrom_path 是
个 Array,列出6个CD文件路径。
没办法,暴力 patch 脚本解决。
不过看安装脚本,可以自动依次安装到CD5,比较智能。

使用

控制台

默认 simics 开启一个串口控制台,窗口和字体都特别特别小,完全看不清楚。 可以调整这个控制台的属性:

con0->width=120
con0->height=96
con0->x11_font="12x24"

不过还是不好看,主要是字体麻烦,不知道怎么设置。发现一个更简单的解决办法:

con0.switch-to-server-console 2323

把串口控制台切换到服务器模式,然后 host 机器上:
telnet localhost 2323 就可以了。

网络

安装 libpcap:

apt-get install libpcap-dev
cd /usr/lib/x86_64-linux-gnu
ln -s libpcap.so.1.5.3 libpcap.so.0

** 没有这个操作,虚拟机里无法访问外网,且没有任何提示**

配置 openif

  • chown root [simics]/amd64-linux/bin/openif
  • chmod u+s [simics]/amd64-linux/bin/openif

simics 配置

connect-real-network
connect-real-network-port-in 22 link0 4022 -tcp
connect-real-network-router ip = 10.10.0.1 interface = wlan0

包管理

使用 opencsw:

pkgadd -d http://get.opencsw.org/now

万恶的 GFW 把这个地址墙了。先把这个 now 文件下载到本机,然后咆一个小 Python 程序模拟 HTTP 服务器:

import SimpleHTTPServer
import SocketServer

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
Handler.protocol_version='HTTP/1.1'

httpd = SocketServer.TCPServer(("", 8080), Handler)
httpd.serve_forever()

pkgadd 要求必须 HTTP/1.1,否则直接 python -m SimpleHTTPServer 8080 就行了。

然后 pkgadd -U,结果发现访问的 mirror.opencsw.org 也被墙了! 修改 /etc/opt/csw/pkgutil.conf:

mirror=http://reflector.westga.edu/repos/OpenCSW/stable

找到一个新的 Solaris SPARC 软件 repo:

https://www.ibiblio.org/pub/packages/solaris/sparc/

你可能感兴趣的:(Simics & Solaris Sparc)