Research UNIX v9

v9 on TME

This just in, I have just booted Research UNIX v9 on TME’s SUN-3 emulator!

And there we are booted up and logged in.. pardon the disk error..


I’m slightly hesitant about uploading it, as it clearly isn’t right… And this is only the binary component, I have integrated the source tree onto the disk image.  But I haven’t actually tried to compile anything except a simple hello-world program.  You can download it here from sourceforge: SUN3-research_v9.7z  If anyone want’s to browse the source, it’s on my CVS browser thing.

23 thoughts on “Research UNIX v9

  1. I can’t get tme to compile on linux 16.04, even following the guide. I keep getting errors along the lines of:
    /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/ undefined reference to symbol ‘g_source_remove’
    /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/ error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status

    • You are proably using someting far far too new. That’s why I was using Debian 4… Linux/GTK is far too unforgiving when it comes to code drift. Also I built it for the x86, not the x64, as I wasn’t even sure if it was 64bit friendly.. In my dump file I did include a binary

    • I’ve had plenty of disk issues stressing the system… And I wanted to get stuff like the source in, which I’ve fixed in the latest 30MB version. Nothing too scary.

  2. My first real Sun computer was a Sun 3-/180 full height 19-inch rack with two super eagle 575MB drives. I had to fire one drive up, let it spin up, then the second, let it spin up, and then finally the CPU, any other order and it would trip a 20 amp breaker.

    Now I am trying to get SunOS 4.1.4 running on a qemu sparc emulator. When I try to partition the drive, it fails to write saying drive is unformatted. If I attempt to format,
    it fails. Not sure how to get past this.

    • I ran 4.1.4 on qemu for some time, from memory I did “format -s” from a single-user session (booting off the cd). Did you chose an arbitrary size of disk? I think sunos is relatively picky about disks, and you must chose something that it has in its format table. On solaris 10 I commonly chose the same size as a ST39175LW, which is defined as 23397 cylinders, 2 alt cylinders, 19 heads, 40 sectors.

      Or perhaps you just forgot to enter the command “label” when in format.

      Maybe take a look at this:

      Or finally why don’t you just image one of the disks from your sun4m and boot it?

    • wow it’s hard to imagine a ‘little’ machine with a 68020 that could trip a 20amp breaker! I’ve read time and time again about those super eagle disks, they must have been so popular as they do come up from time to time.

      I recently installed 4.1.4 on SPARC, although I don’t recall doing anything special…

      I just see this in my scripts…

      qemu-system-sparc -monitor tcp::4444,server,nowait -bios ss5.bin -m 32 -nographic -hda sunos414.img -hdb SunOS-4.1.4.iso -net nic,netdev=qemu-lan -netdev vde,id=qemu-lan,sock=/tmp/local/ -nographic -serial mon:telnet:,server,nowait


      qemu-system-sparc -monitor tcp::4444,server,nowait -bios ss5.bin -m 32 -nographic -hda sunos414.img -net nic,netdev=qemu-lan -netdev vde,id=qemu-lan,sock=/tmp/local/ -nographic -serial mon:telnet:,server,nowait

      the second is to run it, the first is to install it… the disk image is 2GB, along with using version 2.8.0

  3. And in this case the system is running Slackware64-14.2 and the TME source code I grabbed, explodes in much the same fashion towards the end.

    I’d need to see about getting it to work inside a Docker image of 13.37 also 64 bit, that is built first then trying it out in similar fashion before I imported it back.

    I believe that the author who does not leave his contact info on the Alumni site does not support it any longer……

  4. One of the things that can go wrong with the size of the inode table is that there is a bug in mkfs. The instructions say to run mkfs without a proto file to get the size of the inode table. There is a maximum (cap) on the size of the inode table. The bug is that mkfs prints the wrong value when the inode cap is reached. It prints 65408 but the correct value, which is visible in proto0g.cdc is 65280.

  5. There are files in the batterpudding tar file like all the source code to cmd, etc. that the installation procedure in the README does not install into the constructed Ninth Edition UNIX.

  6. To simplify things, I created a disk geometry with 16 heads and 16 sectors so it was easy to create file systems that are a multiple of 16 disk blocks. The README in batterpudding tar says “The first number can be calculated by dividing the number of 512byte blocks recorded in step 2 by 16.”

  7. Appears that 9th Ed UNIX was a continuation of 8th Ed on the VAX, and the batterpudding tar from Norman Wilson for Sun3 was a snapshot of the VAX version. The VAX version underwent more development which the Sun3 version did not. It also seems likely that the origins of the Sun3 version started as something like plan9port, the 9th Ed. user-space tools running on Sun3.

    On the TUHS mailing list Norman Wilson wrote:
    Date: Sun, 26 Aug 2018 09:09:42 -0400
    It’s possible that someone did a semi-port, moving a lot of
    the user-mode tools like the shell and the Jerq software.
    Dave Kapilow did something like that for early SunOS, including
    a mux-like X11 terminal program called sux, built atop a
    library that did a simple mapping from Jerq graphics-library
    calls to X11.

    The V9 that Norman Wilson released on TUHS as batterpudding is more than that as it has a V9 kernel.

    In the V9/README
    David Kapilow wrote:
    This directory contains the source for the Ninth Edition(v9) system
    that was ported to the Sun. The source was derived from a snapshot of the
    VAX v9 system, sometime around the beginning of 1987. It has
    not been updated to incorporate changes that have been made
    to the v9 system since then.

Leave a Reply