用 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/
网友评论