SIMH

http://simh.trailing-edge.com/
これは歴史的なコンピュータのシミュレーションを行うプロジェクトだが、今回試した中ではもっとも軽い動作感だった。
参考にできるサイトがとても多いことが特徴だと思う。
良くある例としてはUNIX V6やらV7を動かしてある。
今回は入手性とドキュメントの多さからNetBSDにしてみた。
SIMHはさまざまなハードのエミュレータだが今回はVAXシミュレーションを選ぶ。
http://www.jp.netbsd.org/ja/Ports/vax/emulator-howto.html
NetBSD用の文書がある。
他にもいいページとしては
http://www.netside.co.jp/~mochid/comp/simh/simh-netbsd.html
この御仁(mochid氏)に感謝。氏のページに知りたいことはすべて載っている。
氏のページにもあるとおり、Cygwinか何かで別の端末を使わないとインストーラの画面が崩れるのだが、PINGできればよいので今回のところは気にしなかった。
以下作業ログ

vax.exe

VAX simulator V3.1-0
sim> load -r ka655.bin
sim> set xq MAC=XX-XX-XX-XX-XX-XX(実機のMACアドレス)
sim> att xq eth0
Eth: opened \ Device\ NPF__{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
sim> set rq0 ra82
sim> att rq0 vdisk0.img
sim> set rq1 cdrom
sim> att rq1 vaxcd.iso]
RQ: creating new file
sim> att rq1 vaxcd.iso
sim> boot cpu


KA655-B V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.
>>>boot dua1
(BOOT/R5:0 DUA1



2..

  • DUA1

1..0..

>> NetBSD/vax boot [1.11 Wed Apr 9 05:16:34 UTC 2003] <<
>> Press any key to abort autoboot 0

getdisklabel: no disk label
nfs_open: must mount first.
2370516+117728=0x25f950
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights

NetBSD 1.6.1 (INSTALL) #0: Wed Apr 9 05:46:18 UTC 2003
autobuild@tgm.daemon.org:/autobuild/netbsd-1-6/vax/OBJ/a
src/sys/arch/vax/compile/INSTALL

MicroVAX 3800/3900
cpu: KA655, CVAX microcode rev 6 Firmware rev 83
total memory = 16328 KB
avail memory = 11384 KB
using 229 buffers containing 916 KB of memory
mainbus0 (root)
ibus0 at mainbus0
uba0 at ibus0: Q22
dz1 at uba0 csr 160100 vec 304 ipl 15
mtc0 at uba0 csr 174500 vec 774 ipl 15
mscpbus0 at mtc0: version 5 model 3
mscpbus0: DMA burst size set to 4
mt0 at mscpbus0 drive 0: TK50
mt1 at mscpbus0 drive 1: TK50
mt2 at mscpbus0 drive 2: TK50
mt3 at mscpbus0 drive 3: TK50
uda0 at uba0 csr 172150 vec 770 ipl 15
mscpbus1 at uda0: version 3 model 3
mscpbus1: DMA burst size set to 4
ra0 at mscpbus1 drive 0: RA82
ra1 at mscpbus1 drive 1: RRD40
ra2 at mscpbus1 drive 2: RD54
rx0 at mscpbus1 drive 3: RX50
qe0 at uba0 csr 174440 vec 764 ipl 15
qe0: delqa, hardware address 00:0d:9d:46:1d:07
md0: internal 1536 KB image area
boot device: ra1
root on md0a dumps on md0b
Clock has lost 59 day(s) - CHECK AND RESET THE DATE.
root file system type: ffs
erase ^?, werase ^W, kill ^U, intr ^C

[?1h=
Welcome to sysinst, the NetBSD-1.6.1 system installation tool. This
menu-driven tool is designed to help you install NetBSD to a hard disk, or
upgrade an existing NetBSD system, with a minimum of work. In the following
menus, you may change the current selection by either typing the reference
letter (a, b, c, ...). Arrow keys may also work. You activate the current
selection from the menu by typing the enter key.

If you booted from a floppy, you may now remove the disk.

Thank you for using NetBSD!
+-----------------------------------------------+| NetBSD-1.6.1
Install System||||>a: Install NetBSD to har
d disk|| b: Upgrade NetBSD on a hard disk|| c

Re-install sets or install additional sets || d
Reboot the computer[

19;64H|| e: Utility menu|| x: Exit Install System[21;64
H|+-----------------------------------------------+

化け化けなので中略。ユーティリティ→ネットワーク設定

I have found the following network interfaces: qe0

Which device shall I use? [qe0]:


To be able to use the network, we need answers to the following:

Your DNS domain: hoge
Your host name: emu3
Your IPv4 number: 192.168.1.181
IPv4 Netmask [0xffffff00]:
IPv4 gateway: 192.168.1.1
IPv4 name server: 192.168.1.1

中略

a: Run /bin/sh

# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=10.002 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.004 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=10.000 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=10.000 ms
^C

        • 192.168.1.1 PING Statistics----

4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.004/7.502/10.002/4.998 ms

4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.004/7.502/10.002/4.998 ms
# ping -c 4 192.168.1.29
PING 192.168.1.29 (192.168.1.29): 56 data bytes

        • 192.168.1.29 PING Statistics----

4 packets transmitted, 0 packets received, 100.0% packet loss
#


# ping -c 13 インターネット上のIPアドレス
PING ホスト名 (インターネット上のIPアドレス): 56 data bytes
64 bytes from インターネット上のIPアドレス: icmp_seq=0 ttl=239 time=60.000 ms
64 bytes from インターネット上のIPアドレス: icmp_seq=1 ttl=239 time=90.000 ms
64 bytes from インターネット上のIPアドレス: icmp_seq=2 ttl=239 time=50.000 ms
64 bytes from インターネット上のIPアドレス: icmp_seq=3 ttl=239 time=90.000 ms
64 bytes from インターネット上のIPアドレス: icmp_seq=4 ttl=239 time=70.000 ms
64 bytes from インターネット上のIPアドレス: icmp_seq=5 ttl=239 time=60.000 ms
64 bytes from インターネット上のIPアドレス: icmp_seq=6 ttl=239 time=90.000 ms
64 bytes from インターネット上のIPアドレス: icmp_seq=7 ttl=239 time=90.000 ms
64 bytes from インターネット上のIPアドレス: icmp_seq=8 ttl=239 time=60.000 ms
64 bytes from インターネット上のIPアドレス: icmp_seq=9 ttl=239 time=70.000 ms
64 bytes from インターネット上のIPアドレス: icmp_seq=10 ttl=239 time=70.000 ms
64 bytes from インターネット上のIPアドレス: icmp_seq=11 ttl=239 time=70.000 ms
64 bytes from インターネット上のIPアドレス: icmp_seq=12 ttl=239 time=80.000 ms

        • ホスト名 PING Statistics----

13 packets transmitted, 13 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 50.000/73.077/90.000/13.775 ms

不思議なことに192.168.1.29つまりホストOSにはPINGが飛ばなかったがそういう実装なのだろう。