GXemul っていうemuをインストール その弐

前回は半端で終わりましたが、今回はゆっくり読みながらすすめてみました。
ubuntu11.10 i386 (仮想マシン)にて実行。

$ sudo apt-get install gxemul

これでエミュレータのインストールは終了です。

こちらのリンク先(ULTRIX FREEWARE ARCHIVES)から
VINTAGE DEC PAGES:http://www.xanthos.se/~joachim/
ULTRIXをダウンロード。(ultrix-risc-os-v4.5.mode1.ufs.bz2)

gxemul の使い方はこちら
GXemul:http://gxemul.sourceforge.net/gxemul-stable/doc/guestoses.html#ultrixinstall
を参考に。

まずはDiskImageの作成。
$ dd if=/dev/zero of=rootdisk.img bs=1024 count=1 seek=800000

gxemulを起動し、ultrix用のDiskの設定。 -dはたぶんDisk。bオプションはbootflag。
$ gxemul -X -e 3max -d rootdisk.img -d bc:ultrix-risc-os-v4.5.mode1.ufs -j vmunix
a0021920_20421644.jpg
rebootと表示されたまま止まってしまったので、gxemulを終了。

再びgxemulを起動し、インストール作業。もちろん英語だけど難しくは無いです。
$ gxemul -X -e 3max -d rootdisk.img -d c:ultrix-risc-os-v4.5.mode1.ufs -j vmunix
a0021920_20423266.jpg
やはりrebootと表示されたまま止まってしまったので、gxemulを終了。
今度はHDDイメージから起動。
$ gxemul -X -e 3max -j vmunix -d rootdisk.img
a0021920_20431344.jpg
a0021920_20431966.jpg


追記:
実マシンのUbuntu環境でも動かしてみました。
今度はフルインストール&DECwindows for OSF/Motifという感じ。
でもここで問題が。
どうもCPUが早すぎるとログインできないという不思議な現象があるようです。
そういう時は -I オプションでクロックを指定してねって雰囲気の事が書いてあったので実践してみましたが、効果なし…
(-I オプションは有効で -I 33000000 を指定して起動するとmachine: DECstation 5000/200 (3MAX, KN02) (33.00 MHz)となってるのです。)

偶然1度だけログインできた時のスクリーンショットです。
a0021920_138241.jpg




$ gxemul -h
GXemul 0.4.7.2 Copyright (C) 2003-2009 Anders Gavare
Read the source code and/or documentation for other Copyright messages.

usage: gxemul [machine, other, and general options] [file [...]]
or gxemul [general options] @configfile
or gxemul [userland, other, and general options] file [args ...]

Machine selection options:
-E t try to emulate machine type t. (Use -H to get a list of types.)
-e st try to emulate machine subtype st. (Use this with -E.)

Other options:
-C x try to emulate a specific CPU. (Use -H to get a list of types.)
-d fname add fname as a disk image. You can add "xxx:" as a prefix
where xxx is one or more of the following:
b specifies that this is the boot device
c CD-ROM
d DISK
f FLOPPY
gH;S; set geometry to H heads and S sectors-per-track
i IDE
oOFS; set base offset to OFS (for ISO9660 filesystems)
r read-only (don't allow changes to the file)
s SCSI
t tape
V add an overlay
0-7 force a specific ID
-I hz set the main cpu frequency to hz (not used by all combinations
of machines and guest OSes)
-i display each instruction as it is executed
-J disable dyntrans instruction combinations
-j name set the name of the kernel; for DECstation emulation, this passes
the name to the bootloader, for example:
-j netbsd (NetBSD/pmax) -j bsd (OpenBSD/pmax)
-j vmsprite (Sprite/pmax) -j vmunix (Ultrix/RISC)
For other emulation modes, if the boot disk is an ISO9660
filesystem, -j sets the name of the kernel to load.
-M m emulate m MBs of physical RAM
-N display nr of instructions/second average, at regular intervals
-n nr set nr of CPUs (for SMP experiments)
-O force netboot (tftp instead of disk), even when a disk image is
present (for DECstation, SGI, and ARC emulation)
-o arg set the boot argument, for DEC, ARC, or SGI emulation
(default arg for DEC is -a, for ARC/SGI -aN)
-p pc add a breakpoint (remember to use the '0x' prefix for hex!)
-Q no built-in PROM emulation (use this for running ROM images)
-R use random bootstrap cpu, instead of nr 0
-r register dumps before every instruction
-S initialize emulated RAM to random bytes, instead of zeroes
-s f:name write statistics to file 'name', f is one or more of the following:
v virtual program counter
p physical equivalent of program counter
i internal ic->f representation of the program counter
and optionally:
d disable statistics gathering at startup
o overwrite instead of append
-T halt on non-existant memory accesses
-t show function trace tree
-U enable slow_serial_interrupts_hack_for_linux
-X use X11
-x open up new xterms for emulated serial ports (default is on when
using configuration files or when X11 is used, off otherwise)
-Y n scale down framebuffer windows by n x n times
-Z n set nr of graphics cards, for emulating a dual-head or tripple-head
environment (only for DECstation emulation)
-z disp add disp as an X11 display to use for framebuffers

Userland options:
-u emul userland-only (syscall) emulation (use -H to get a list of
available emulation modes)

General options:
-c cmd add cmd as a command to run before starting the simulation
-D skip the srandom call at startup
-H display a list of possible CPU and machine types
-h display this help message
-k n set dyntrans translation caches to n MB (default size is 48 MB)
-K force the debugger to be entered at the end of a simulation
-q quiet mode (don't print startup messages)
-V start up in the single-step debugger, paused
-v verbose debug messages

If you are selecting a machine type to emulate directly on the command line,
then you must specify one or more names of files that you wish to load into
memory. Supported formats are: ELF a.out ecoff srec syms raw
where syms is the text produced by running 'nm' (or 'nm -S') on a binary.
To load a raw binary into memory, add "address:" in front of the filename,
or "address:skiplen:" or "address:skiplen:initialpc:".

Examples:
0xbfc00000:rom.bin for a raw ROM image
0xbfc00000:0x100:rom.bin for an image with 0x100 bytes header
0xbfc00000:0x100:0xbfc00884:rom.bin start with pc=0xbfc00884
[PR]
by tenten909 | 2012-05-03 20:47 | PC-Unix等