Running TME on Linux Subsystem for Windows (v1?)

I know in all the trade news everyone is excited that the newest Linux Subsystem for Windows will provide a native kernel. I would imagine it’s going to run along the lines of containers which means using the Hyper-V stuff. So good bye VMWare?

Anyways I want to run SunOS 2.0 which means no graphics are needed, but what I do need is a pty. I’m a n00b so I don’t know how to generate them myself, but I did see that I can piggyback on a ssh session. So first you need to enable & run sshd, which instructions are here, Although with Ubuntu 18.02 LTS there is further steps listed here. If everything is okay, you can SSH into your Windows machine, getting the Linux subsystem.

Some notes on building:

First let’s get the emulator and patches for SunOS 2

tar -zxvf tme-0.8.tar.gz
cd tme-0.8
patch -p1 < ../diffs-20111125

Using GCC 5 or 7 (probably everything post version 3, the -Werror will cause building TME to error out.

I just removed the following block from configure

if test "x$enable_warnings" = "xyes" -a "x$GCC" = "xyes"; then
  CFLAGS="${CFLAGS-} -Wundef -Wall -Werror"

Now you can run configure & make. I follow the general wisdom, which involves disabling shared libraries. Otherwise you can play with the dynamic linker. Yuck.

sh configure --disable-shared

It doesn’t like to build in parallel, so be prepared to wait.

And yes, building fb-xlat-auto.c & fb.c does take a long while. Also make sure to have bison & flex installed.

Using Debian 9/GCC 6.3.0 I do get a bomb compiling module.c

module.c: In function 'tme_module_init':
module.c:93:3: error: 'lt_preloaded_symbols' undeclared (first use in this function)

In this case I just copy the definition from libltdl/ltdl.h and put it into module.c It’ll complain about it being a duplicate, but it’ll compile. I don’t understand that either.

Now we need to set the variable LTDL_LIBRARY_PATH to pickup the config for each hardware component.

export LTDL_LIBRARY_PATH=$HOME/tme-0.8

Ok and now let’s get ready to install SunOS 2.0

$ mkdir sunos2
cd sunos2/
tar -zxvf sunos_2.0_sun2.tar.gz
mv sunos-2.0-sun2/tape1 .
perl $HOME/tme-0.8/machine/sun/tme-sun-idprom 2/120 8:0:20:02:02:02 &gt; my-sun2-idprom.bin

Now we can configure the emulator. One thing to take note of is what pts device has been created once you SSH’d into Windows.

$ ls -l /dev/pts/
total 0
crw--w---- 1 jsteve tty  136, 0 May 13 15:08 0
c--------- 1 root   root   5, 2 May 13 10:47 ptmx

So in this case it’s /dev/pts/0 for me, as I’m the first (and only) thing connected.

Now you need to edit the config. This is the one that I’m using:

mainbus0: tme/machine/sun2 multibus my-sun2-idprom.bin
cpu0 at mainbus0: tme/ic/m68010
obio0 at mainbus0 obio: tme/generic/bus size 8MB
obmem0 at mainbus0 obmem: tme/generic/bus size 16MB
ram0 at obmem0 addr 0x0: tme/host/posix/memory ram 4MB
rom0 at obmem0 addr 0xef0000: tme/host/posix/memory rom sun2-multi-rev-R.bin
rom0 at obmem0 addr 0xef8000
clock0 at obio0 addr 0x2800: tme/machine/sun2/clock
tod0 at obio0 addr 0x3800: tme/machine/sun2/tod
zs0 at obio0 addr 0x2000 ipl 6: tme/machine/sun2/zs
mbio0 at mainbus0 mbio: tme/generic/bus size 8MB
mbmem0: tme/generic/bus size 8MB
mainbus0 mbmem at mbmem0 addr 0x00000
sc0 at mbmem0 addr 0x80000 ipl 2: tme/bus/multibus/sun-sc
scsibus0 at sc0: tme/scsi/bus
console0 at zs0 channel A: tme/host/posix/serial device /dev/pts/0 break-carats
sd0 at scsibus0: tme/scsi/disk id 0 type acb4000
disk0 at sd0: tme/host/posix/disk file my-sun2-disk.img
st0 at scsibus0: tme/scsi/tape id 4 type emulex-mt02
tape0 at st0: tme/host/posix/tape
command tape0 load tape1/01  tape1/02  tape1/03  tape1/04  tape1/05 tape1/06  tape1/07  tape1/08  tape1/09  tape1/10
command mainbus0 power up

Now we are almost ready! Create a 1GB disk image with dd:

dd if=/dev/zero of=my-sun2-disk.img bs=1M count=1024

Now we are ready to go. From the ssh connection just type in ‘cat > /dev/pts/0’ and now everything we type in will be on the console. Now from a normal bash session type in ‘$HOME/tme-0.8/tmesh/tmesh SUN2-MULTIBUS’ If everything goes well the bootpromp text will pop up on your SSH session.

SUN-2/120 on Windows!

And if everything has gone right, we are now at the firmware prompt, ready to install SunOS 2.0!

Instructions from gives a pretty good walk through of configuring a 1GB disk, and the installation. Although as a hint use the -as flags when booting SunOS for the install. And after booting the miniroot, follow the instructions on heeltoe regarding doing the 1st tape of the install.

>b st()
Boot: st(0,0,0)
Boot: sd(0,0,1)vmunix -as
Size: 368640+57344+66652 bytes
Sun UNIX 4.2 Release 2.0 (GENERIC) #1: Mon May 20 15:32:06 PDT 1985
Copyright (c) 1985 by Sun Microsystems, Inc.
mem = 4096K (0x400000)
avail mem = 3575808
Ethernet address = 8:0:20:2:2:2
sc0 at mbmem 80000 pri 2
sd0 at sc0 slave 0
sd0: <TME1G cyl 14700 alt 2 hd 7 sec 15>
sd1 at sc0 slave 1
st0 at sc0 slave 32
zs0 at virtual eec800 pri 3
pi0 at virtual ee2000
root device? sd0*
using 100 buffers containing 366592 bytes of main memory

After that it’s a matter of working out which tar file goes where. Is there even an install process? I just untarred the rest of the tapes in the /usr directory.

For the impatient, tme-0.8-linux-x86_64_bin.tar.gz and
tme-0.8-SunOS-2.0.tar.gz. As always read the 404 page.

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.

Solaris 9 x86 on VMware

(Note this is a guest post from Tenox)

Despite having an unofficial and experimental support for some time now I was not able to install Solaris 9 on VMware Workstation. I have recently upgraded to Workstation 9.0 and Lorenzo Gatti send me a link to complete Solaris 9 x86 u5 media kit so I had an excuse to retry.

After several tries I have determined that the easiest route is to boot and install from cd1 instead of the install disk. Also make sure to select VESA driver instead of standard VGA to get a decent resolution. VMware tools won’t install but it’s not a big deal. Apart from that everything else including networking works out of the box.


Just as a final note Solaris 9 is now 10 years old, time flies fast!

I have also installed Solaris 8 in a similar manner. Unfortunately it doesn’t have VESA drivers so all I could get is 640×480.




Back in 1990 Commodore took the Amiga in a new direction with it’s new Amiga 3000, by commissioning a port of A&T SYSV Unix to the Amiga. Taking advantage of the 3000’s 68030 CPU and 68881 Math coprocessor, along with its integrated SCSI controller. It certainly was the hallmark of typical UNIX machines of the time.

When originally announced there was some big interest in the platform by SUN, as their original SUN-1, SUN-2 & SUN-3 lines of workstations were all 68000 based machines, and being able to rebrand a mass produced Commodore model would have been a good thing, however the deal ultimately fell through.  The machine would have been the Amiga 3500, which later became the Amiga 3000T.

Another thing to keep in mind is that SUN’s SYSV (Solaris) was targeted to the SPARC processor, and it is unlikely that they would benefit from selling a 68030 based machine in 1991.

Typical of the time, AMIX installs from a set of boot floppies, and then pulls the rest of the installation from a tape drive, such as the A3070.

AMIX was released at a time when the UNIX world was rapidly moving to RISC processors, SUN had their SPARC, SGI had their MIPS, IBM and their POWER, Motorola built UNIX machines around their 88000 RISC processor, NeXT was also going to move to the 88000 until they gave up making their own hardware and shifted to a software company.  So who would want a then dated 68030 based machine when the industry had made their first steps into the world of RISC computing.

So how does it measure up?  Well it is SYSV, and if you’ve seen one, well honestly you’ve seen them all.  What is kind of neat is that AMIX includes OpenLook and a C compiler, which is kind of a rarity for the period.

Another flaw was that when the 68040 processor was released it’s MMU was incompatible with the 68030, and the VM subsystem for any UNIX would have to be rewritten.  While NetBSD can run on both the 68030 and 68040, AMIX never was updated, and so it can only run on 68030 based machines.

AMIX never did get any critical traction, and slipped into oblivion with the death of Commodore.

Up until recently it was impossible to run AMIX in any emulator, but there has been a lot of work on the ARANYM and Pervious emulators which included doing 68030 MMU support for the possibility of running early versions of NeXTSTEP. Toni Wilen was able to adapt their work onto WinUAE and it is not possible to run AMIX.!

Reading through this thread,  I was able to put together the needed bits, and get it running under CrossOver, by using the pre-configured settings for WinUAE, and replacing the exe with the new beta exe, the supplied hard disk image from and I was up and running in no time!  The only real change from the config was to change the SCSI ID of the hard disk from 0 to 6.

Screen Shot 2013-01-13 at 8.48.54 PM
AMIX starting up on WinUAE

The default password is wasp.  I thought it was kind of interesting that AMIX includes ‘dungeon’.  really cool!

Open Look on AMIX
Open Look on AMIX

I am unsure of how to enable the high resolution graphics, but sadly the Amiga known for its multimedia capabilities, AMIX with stock graphics runs in monochrome.  Such a major underwhelming thing.

Oh well, for anyone inclined you can now run AMIX, and enjoy another dead SYSV.


(please note that this is a guest post from Tenox)


I’ve been hunting for a complete INTERACTIVE UNIX System for past 12 years or so. While I had the basic set of it for a good bit of time, no one seem to have have the real stuff – Looking Glass graphical environment. In November I got my hands on a box containing a massive set of 50 5.25″ floppy disks. There is the first time you can look on the GUI:

Through the looking glass..

The fun really begins with this page:
As of 2010 it has an Oracle logo and tells about an operating system by Sun Microsystems (now Oracle) for which support ended just 4 years earlier. In reality the OS was rather little known to the general population.


First introduced by Kodak in 1985 was mostly used for specialized applications. Later Sun bought it to help porting Solaris to x86 platform. Enough of history.

Version 3.0 presented here unfortunately only works on Bochs 2.4.2. There are some issues with the IDE/ATA controller that make it boot up only every second time while clicking on reset button. Version 4.x has issues partitioning disks under VMware but I’m sure this can be worked around.

The installation is straight forward once you have correct settings for the emulator (bochsrc.bxrc included). With this blog post included is a fully working, ready installed system, just double click run.bat. If it hangs, click on the Reset button. The root password is root. To shutdown the system cleanly type “init 0”, but this must be done from the text mode console.

I’ve spent a bit of time trying to bring it to a higher resolution but so far I only managed 800×600. You have a number of graphics drivers available under the “xconfig” program. One of the most curious features of Looking Glass are the icons. Some of them ROTFLMAO.


The next task will be to install and configure networking. But this is for another post.


Unfortunately the floppy disk is all but unreadable.