Dell UNIX Lives Again!

(please note that this is a guest post from Antoni Sawicki)

Dell UNIX is so ultra rare among rare Unix species that it doesn’t even have a Wikipedia entry. I have been hunting this elusive but important piece of computer history for well over 15 years now. Fortunately thanks to Charles H. Sauer and his excellent blog post I was finally able to lay my hands on disk and tape images and the restoration process begun.

The install tape

The system can be installed from either a tape or network server (presumably NFS). Unfortunately no virtualization software can emulate a tape drive. Hopes for a network install are even slimmer since the required network support floppy disk has been lost and chances of suitable Ethernet driver working in Bochs or Qemu are equal to that of finding the lost floppy disk.

I have decided to try a hard disk image from a readily pre-installed system. The original Dell 486 workstation had a 1GB SCSI hard disk. Unfortunately neither Dell UNIX supports LBA mode nor Qemu/Bochs support the Adaptec 154x controller required by the OS.

As all normal install options have been exhausted, the only option left was to use a second hard disk image as source of cpio archive files. Booting from the two install floppies and attaching two disk images was a snap. The next step was to inject the tape “file” in to a right place on the disk, so it can be read by cpio command. A hard disk in Dell UNIX is pretty much unusable without a valid SysV partition and VTOC. Fortunately dellsetup command does it all for you. Once VTOC was put in place I’ve attached the transfer disk image as a loopback device in my host OS. In couple of iterations I was able to aim the host os dd if=file1 of=/dev/loop0 bs=512 seek=offset at the right place, which you work out using prtvtoc /dev/rdsk/1s0 command. Then cpio -ict < /dev/dsk/1s1 was able to list contents of the emulated tape… with errors…

In my infinite wisdom, for some unknown reason I’ve assumed that LBA addressing is required above 540MB. So to be on a safe side I have made the hard disk images 512 MB. What a mistake it was! I have lost several hours trying to figure out cpio header errors coming from the disk… By pure coincidence, while the tape archive was installing (with errors) I was researching for this very blog article and found that LBA starts at 504 MB… Recreating the hard disk images just few MB smaller took all tape and prior boot problems away!

Once the cpio archive was extracted I have made few final touches taken from the original tape install script. After a reboot Dell UNIX booted perfectly. You can experience this by using the firstboot image file. The final part of installation was injecting the second tape file containing System V PKG file to the transfer disk image and running pkgadd -d /dev/dsk/1s1. This is what’s included on allsoft.img.

Dell Unix at First Boot

Some final notes on running the OS:

  • To enable mouse to work:
    • Qemu just add “-chardev msmouse,id=msmouse -device isa-serial,chardev=msmouse” to the launch arguments.
    • Bochs add to the config file:
      mouse: type=serial, enabled=1      
      com1: enabled=1, mode=mouse
      then you have to kill mousemgr process and prevent from starting by deleting /etc/rc2.d/S25mse
      then edit /usr/lib/X11/Xconfig:
      disable Xqueue      
      enable Microsoft Mouse
  • To enable keyboard to work correctly in VirtualBOX start with Num Lock OFF.
  • You can use qemu-img utility to convert the image to VMware vmdk to use in VirtualBox.
  • To run X window type startx

X11 and all its glory

  • To attach it to internet use SLIP as there is no working Ethernet driver.  Contrary to most UNIXen of the time, the command is not slattach, but rather slipattach.  Thankfully it does work the same way.  I have found that running Dell Unix with VirtualBOX, along with Windows NT 4.0 I was able to connect into the Dell Unix VM, and get network access.  Just set the two VM’s up for a named pipe (\\.\pipe\dellunix) and make one of them a server, and start that VM 1st.  The steps to prepare Windows NT have been outlined before.

Telnet via SLIP

Legal disclaimer: Dell UNIX is a commercial software and should not be distributed without manufacturers permission. However as the operating system has been dead for 20 years and with a long tradition from Unix Heritage Society and Bitsavers I’m publishing this in good faith under abandonware category. If Dell or any other copyright holder wishes this software removed, please let me know.

Attached are:

  • firstboot image
  • all (pkg) software installed
  • setup instructions if you wish to install from scratch.

Download:

You may also be interested in my post about a sister System V operating system – Interactive UNIX:

40 thoughts on “Dell UNIX Lives Again!

  1. Interesting. 🙂 Never had my hands on Sys V. I’ll have to try it out. 🙂

    Do you know any other commercial unices (of the past time) running on PC?

    • There once was so many, although SCO & Microsoft seemed involved in them all… Xenix, OpenServer, UnixWare, and of course the Unix v7 clone Coherent. Sun had an i386 ages ago, but it wasn’t PC compatible, but there was their Solaris for x86 (now x64) I’ll have to look at the tree to see the rest, but there has to be more (not even thinking of the BSD’s).

  2. after setting msmouse, you should query mice from qemu monitor:
    “info mice” ; after then select “mouse_set 0” (replace “0” to the serial of serial mouse)

    At aixps2 in bochs has the similar network setup solution as dell unix’: I connected bochs’ and qemu’s serial ports with a _raw_ tcp socket, the qemu was a gateway, and bochs’ guest was aixps2.

    Is there an easily deployable solution for connecting a slip/cslip/ppp*/whatever serial tcp/ip to the internet from a vm that only has a serial2tcp socket? (*n*x host solutions are preferred, I mean some kind of tcp socket bridging could be a hint)

    • I think what you want is “qemu -serial pty” and maybe bind it to a random pty which you can slattach to… Although I recall something about ‘modern’ systems not liking the lower MTU’s of ancient UNIX systems, where as NT 4.0 did….

  3. Hello it will be great if you can post the QIC tape image made with dd. I have tapes and device and would like to install it on real machine.

  4. this *is* truly awesome.

    now, not that i’m complaining, but..

    the boot.img and system.img mentioned in the readme are not in the archive (also missing are the BIOS-bochs-latest and VGABIOS-lgpl-latest files configured in the bochsrc.txt, but those are obtainable from the net).

    on a slightly different note, i got a set of floppies for SVR4.2 from vetusware and managed to install them in bochs. sadly, there are no manpages or c compiler.. maybe the gcc package for this one could work.. dunno. you should check it out, it’s worth a look. here’s the link: http://vetusware.com/download/AT_T%20UNIX%20System%20V%20Release%204%202.1.4
    if you’d like, i can share the installed system to spare you the hassle of swapping some 25 floppy images in bochs. 🙂

    lastly, is that middle picture (showing bochs) taken on centos? 🙂

    cheers,
    bamdad

  5. one more thing: if you could point me in the right direction on how to use slip, it would be really appreciated. i am totally clueless how to do it on qemu.

    • love the window title… lol but yeah I got that ahead of time….. Qemu would do that periodically, I had better luck with virtualbox, just hit numlock and caps a bunch of times to sort out the CAPLOcK thing.

  6. As for posting the QIC tape images and missing floppy disk images. I have obtained them from Charles H. Sauer for the sole purpose of bringing it back to life under a virtual machine. I would talk to him to obtain it for other purposes. Also I was hinted that a different version of Dell Unix has surfaced on beta archive.

  7. I’m also wondering the same thing as bamdad. The boot and system.img aren’t in the archive. And bochs is giving me the message “FATAL, no bootable devices”. Can anyone point me to the boot.img and system.img file? I’m new to this os, and had never dealt with a tape image.

    • You don’t need the boot.img and system.img. They are only needed for installation. You need to set Bochs or Qemu to boot from hdd/c.

  8. came back to dell unix after days of fooling around with amix (i actually got an ancient version of gcc to compile – it took more than 8 hours), and i was wondering two things:

    1, is the original installation media available (i mean the tapes)? i might have a box laying around that could run the os natively..

    2, have you ever gotten the mouse to work under vmware/virtualbox?

    thanks,
    bamdad

  9. I haven’t built it, but I suspect the only way to really deal with AMIX in this day/age is to cross compile from a modern machine… Although building config scripts is always a pain in the butt.. I imagine it supports NFS.. Not that I have tried, I was happy doing IRC and ftp.

  10. yeah, cross-compiling would make a lot more sense, but i was just fooling around. in its current state, the emulation under winuae is anything but stable. i’m surprised it somehow managed to stay alive for more than 8 hours..

    by the way, my questions above were about dell unix, but never mind, lol, i suppose the distribution of original installation media is a sensitive topic to bring up in a public comment..

  11. You can find the media yourself if you do a bit of search. You can try to get from the original source where I got mine. Also AFAIK slightly different version surfaced on Beta Archive.

  12. i know this is an old post, but has anyone got the mouse to work in virtualbox/vmware? serial mouse emulation is out of the question, and playing with /usr/lib/mousetab didn’t help either. intriguing, since mousemgr does support ps/2 mice – at least in theory.

    also, i wouldn’t advise anyone to try installing this on actual hardware. the supported controllers and peripherals are so hard to come by, it’s near impossible. believe me, i’ve contacted the original source of this system, who kindly sent me the detailed hardware requirements.

  13. I have tried it with qemu,boot ok
    and recognize also ethernet card(ne2k_pci or rtl8139)
    Configure eth0 works
    ifconfig eth0 192.168.0.155 netmask 255.255.255.0 up
    ping eth0 ok
    but how to route?
    I have try route add default 192.168.0.1 1
    but no way..no ping,and arp incomplete.

    • I don’t think you can use ethernet with Dell Unix. What we tried was SLIP. Does it actually recognize the network card correctly? Can you send some screenshots? How did you configure qemu to route packets?

      • I didn’t think the NE2000 or RTL8139 would work… It has been forever and I don’t recall about adding routes, but some SYSV’s TCP/IP’s are BSD based so you have to put in the metric for the gateway….

        route add default 192.168.0.1 1

        man route will tell you all kinds of things, although not sure if it is terribly useful, grep through the /etc directory and see if there is anything.

        I thought this thing only supported ancient ISA 3com cards & Token Ring.

    • if you type
      netstat -i you weel see:
      Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Collis
      lo0 2048 loopback localhost 0 0 0 0 0
      eth0 1500 192.168 amnesia.UUCP 0 0 0 0 0

      It is not Ethernet interface, just UUCP

      • It is ethernet. UUCP name comes from /etc/hosts, first of all try ‘netstat -in’ instead and also see ‘ifconfig eth0’

  14. If anyone is still interested in this!
    You can instal on both Virtual;Box and VMware Workstation

    The secret is select eCommStation as your machine type, I used 128mb ram and a 256mb hdd it installed without issue, I don’t know if it will work with more ram or HDD as I got bored quite quickly as I had no software to speak of, and I’m quite familiar with UNIX and Linux but nowhere near this old so not very proficient but hey! it works so great for studying UNIX and how it has evolved.

    Hope this is useful to someone else!

  15. Preinstalled dell unix vm image’s url is broken :'( Please fix it! Anyway, got it before, and configured slip well and working under linux host and qemu. At least, telnet $URL 80 \ GET / 1.0 # worked fine 😉

Leave a Reply

Your email address will not be published.

Notify me of followup comments via e-mail. You can also subscribe without commenting.