More CDROM madness.

Well I found that one of the things that was preventing me from booting up this “Solaris 1.1.2” AKA SunOS 4.1.4 CD is that Qemu on Win32 using raw devices has issues with all these slices and whatnot.

Slices you say?

Yeah, back in the ISO9660 Rock Ridge days, CD-ROMS were basically given a common format for the “LCD” of the day. In that case MS-DOS. Naturally people like Unix vendors were not to keen on that, as they wanted file attributes, long file names, symbolic links etc… So a *LOT* of people started to split up their CD’s into partitions like hard disks, and slap down actual filesystems on the disks. NeXT just used one giant partition on the CD-ROM, but their exe format let them ‘bind’ all the CISC machines onto one CD, and all the RISC machines on another. Meanwhile SUN decided to make all these ‘boot’ partitions for various machines, a miniroot, then an I9660 partition for basic tar files of the OS…

Like this:

2,998,272 DEBUGGING
4,161,536 DEMO
3,219,456 GAMES
1,826,816 GRAPHICS
999,424 INSTALL
1,073,152 NETWORKING
7,815,168 OPENWINDOWS_DEMO
9,748,480 OPENWINDOWS_FONTS
23,756,800 OPENWINDOWS_PROGRAMMERS
34,316,288 OPENWINDOWS_USERS
925,696 RFS
327,680 SECURITY
1,409,024 SHLIB_CUSTOM
524,288 SUNVIEW_DEMO
1,884,160 SUNVIEW_PROGRAMMERS
2,727,936 SUNVIEW_USERS
4,104,192 SYSTEM_V
729,088 TEXT
49,152 TLI
7,872,512 USER_DIAG
29,638,656 USR
622,592 UUCP
6,103,040 VERSATEC

Which is kind of funny seeing how some BSD derived OS’s still keep some of these package names alive.

Anyways, the problem is that I tried to use \\.\d: for the cdrom, and booting didn’t work at all. I even tried reading an ISO from the CD, but all it ended up doing was skipping to the ISO9660 part, and dumping that, ignoring the slices, giving me this:

243,599,360 sol14.iso

So after googling around, trying to at least find a way to back up this CD (it was a souvenir from Japan!) I found someone mentioning to backup their Solaris CD, they had to use the “readcd” program.

Well, I’d never explored that much with the cdrtools, but behold there is a readcd program that’ll dump an entire CD out!

So running it with –scan-bus to find your CD drive…

readcd -scanbus
scsibus0:
0,0,0 0) *
0,1,0 1) ‘HL-DT-ST’ ‘BDDVDRW GBC-H20L’ ‘1.B8’ Removable CD-ROM
0,2,0 2) *

We can go on to dump a full image of the CD.

readcd -dev=0,1,0 f=sunos.iso

Which now gives us a much larger ISO image…

329,605,120 sunos.iso

Sadly it crashes on bootup… But on Win32 it’s a lot better then not reading *ANYTHING* at all!

ok boot disk1:d -vs
Boot device: /iommu/sbus/espdma@5,8400000/esp@5,8800000/sd@1,0:d File and args: -vs
Boot Release 4.1.4 (sun4m) #2: Fri Oct 14 11:07:52 PDT 1994
Copyright (c) 1983-1990, Sun Microsystems, Inc.
Boot: Romvec version 3.
root on /iommu@0,10000000/sbus@0,10001000/espdma@5,8400000/esp@5,8800000/sd@1,0:d fstype 4.2
Boot: vmunix
.Size: 868352…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………+2319136+75288 bytes
Statistics:

–edit

I should also add that Qemu’s CDROM (like 99% in the world) are fixed block, while SUN (and other vendors) had these CD ROM’s that could change block size… So in Qemu you have to use the DISK driver vs the CDROM driver….

ie use -hdb sunos.iso instead of -cdrom sunos.iso

8 thoughts on “More CDROM madness.

  1. bah. Didn't noticed this. SunOS 4.1.4 turned out to have a problem with too much memory. And 256m is too much. Unfortunately that's the only amount or RAM supported in vanilla qemu with OBP.

  2. Huh, now thats interesting…. But it makes sense, I don't think there is any way someone could have afforded 256MB of ram back when SunOS ruled the world…..

  3. Did you try again with 0.15.1?
    I can copy miniroot to sd3b and boot from it, but no further installation can be done.

  4. I don’t understand the statement about SunOS having a problem with too much memory and 256mb is too much? I have an operating (still) shell server with SunOS 4.1.4 and 512k or RAM, Ross Hypersparc CPUs and if anything it could use more RAM not less.

    For those who might be interested in playing with it, you can apply for a trial shell account for free at the above website.

    I got interested in this thread primarily because I want to retire this old piece of hardware but keep it alive for nostalgic reasons, hence the interest in emulating it with Qemu.

  5. Hello. I got the Sunos to boot using: “sparc-softmmu/qemu-system-sparc -M SS5 -bios ./ss5.bin -nographic -hda ./hda.img -hdb ./cd.sio”

    Then I get the ok prompt. I type in boot disk1:d -vs and it boots up to the install of sunos 4.1.4 (asking me if I want to install the mini root). I say yes. Then it asks me which disk – i point to the virtual disk I created. It then asks me to format it. I go through all the partitioning, etc. When I finally write and then format – it gives me an error thati t can’t read or write to it. Fatal Error.

    Any words of wisdom? I am using everything new and updated. I’m on a poweredge 2400

    • wow sounds like its come much further along.. Id try dd’ing around with the disk to see how it behaves…

      What version of Qemu is that you are using?

  6. I’m adding a quick reminder to myself: if you’re working with a real machine whithout a CD drive, check how to set 512 block size on the drive (CD drives usually have an 8192 block size) before going mad while trying to boot from that drive…

    • It seems SUN equipment is getting popular again… a few other people were asking about the stuff… Also don’t forget how SUN likes to put the CD at weird ID’s like 2 or 6..

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.