Firstly, my goal: to run MazeWar on something other than a NeXT. I thought this would be fairly straightforward, starting with getting SunOS 4.1.3 booting with QEMU. Turns out, I've not had much luck. I get different error messages depending on what machine type I'm emulating. I can start booting from the .iso running this command:
$ qemu-system-sparc -bios ss5.bin -M SS-5 -m 64M -drive file=sunos413.img,if=scsi,bus=0,unit=3,media=disk -drive file=SunOS_4.1.3_sparc.iso,format=raw,if=scsi,bus=0,unit=6,media=cdrom,readonly=on -boot d and get a near immediate panic: machine type 0x80 in NVRAM panic: No known machine types configured in! Data Access Exception ok Okay, how about trying the default BIOS and SS-20? It definitely gets further, but no dice... Boot: vmunix Size: 843776+2315672+64016 bytes SuperSPARC/SuperCache: PAC ENABLED SunOS Release 4.1.3 (MUNIX) #3: Mon Jul 27 16:47:33 PDT 1992 Copyright (c) 1983-1992, Sun Microsystems, Inc. cpu = SUNW,SPARCstation-20 mod0 = TI,TMS390Z55 (mid = 8) mem = 49020K (0x2fdf000) avail mem = 44707840 Ethernet address = 52:54:0:12:34:56 espdma0 at SBus slot f 0x400000 esp0 at SBus slot f 0x800000 pri 4 (onboard) sd2: non-CCS device found at target 2 lun 0 on esp0 sd2 at esp0 target 2 lun 0 sd2: <QEMU 0 blocks> sd2: Vendor 'QEMU', product 'QEMU', (unknown capacity) sd3: non-CCS device found at target 0 lun 0 on esp0 sd3 at esp0 target 0 lun 0 sd3: corrupt label - wrong magic number sd3: Vendor 'QEMU', product 'QEMU', (unknown capacity) ledma0 at SBus slot f 0x400010 le0 at SBus slot f 0xc00000 pri 6 (onboard) zs0 at obio 0x100000 pri 12 (onboard) zs1 at obio 0x0 pri 12 (onboard) SUNW,fdtwo0 at obio 0x700000 pri 11 (onboard) BAD TRAP: cpu=0 type=29 rp=f00daba4 addr=0 mmu_fsr=0 rw=0 MMU sfsr=0: No Error regs at f00daba4: psr=40400cc7 pc=f00a0968 npc=f00a096c y: 20000 g1: f00c1e78 g2: 40900ce6 g3: fb005ff0 g4: 2c g5: f00db000 g6: 0 g7: 30000000 o0: 1 o1: 8 o2: f00dac00 o3: f0076e50 o4: 0 o5: 0 sp: f00dabf0 ra: f1000000 (unknown): bad trap = 41 rp=0xf00daba4, pc=0xf00a0968, sp=0xf00dabf0, psr=0x40400cc7, context=0x0 g1-g7: f00c1e78, 40900ce6, fb005ff0, 2c, f00db000, 0, 30000000 Begin traceback... sp = f00dabf0 Called from f00c1eb8, fp=f00dac58, args=ff009000 f00dacbc 0 f0314a70 1000 1000 Called from f00a7d34, fp=f00dacc0, args=ff009000 0 ff009000 fb002098 f0314a70 ff009000 Called from f00a7708, fp=f00dad20, args=1080000 d f0102d50 f0102db3 0 2 Called from f00a74e0, fp=f00dad80, args=f0305bd4 f0102d50 fb001000 fb001050 0 0 Called from f00a5028, fp=f00dade0, args=f00fc000 fefe0014 0 0 f0102d50 f0305bd4 Called from f00ac084, fp=f00dae40, args=72 1000 1 1 86 800000 Called from f0015f7c, fp=f00daef8, args=800000 100000 fb000000 2fdd 2000 2 Called from f000539c, fp=f00daf58, args=f00dafb4 f00076c0 10801522 821020ff 200 f00ce600 Called from 403f0c, fp=0, args=4000 3ffd60 1 235598 4000 0 End traceback... panic: trap rebooting... Then I thought, why not use The Machine Emulator to emulate a Sun 3 and play with something even older? I can't get that to build using clang under OS X 10.9. I've changed a few lines of source already to get it further along in the compilation process, but now I'm stuck: In file included from module.c:48:0: module.c: In function 'tme_module_init': module.c:93:3: error: 'lt_preloaded_symbols' undeclared (first use in this function); did you mean 'lt_dlloader_remove'? LTDL_SET_PRELOADED_SYMBOLS(); ^ Okay, now I'm tired of trying to emulate it (actually, I still would like to play with QEMU or TME...), so I pulled a SS-20 off the shelf and threw a SCSI2SD card in it. I didn't have a means of burning a CD, so I used the SCSI2SD to also emulate a CDROM drive at device 6, and unplugged the existing CDROM drive. I can boot off of it just fine, and I get now even further along the process of installation, and am able to format the hard drive. Right when I think things are going well, I get this: esp0: Target 6.0 reverting to async. mode sr0: SCSI transport failed: reason 'data_ovr': giving up m partition number 3 fastread: can't read label on /dev/rsr0:I/O error ERROR while loading miniroot disk: /dev/rsd0b # Any ideas? Thanks, Kyle
