This is Version 2 of the SunOS 4.1.4 Starter Image. It was designed to be used with ZuluSCSI boards, but is likely adaptable to other storage media.
It should boot up on any Sun 4c machines, such as SPARCstation 1, 1+, 2, IPC, IPX, SLC, and ELC. I have several of these but not all of them.
Link to Version 2 SunOS 4.1.4 Disk Image Ready to run
HOW TO USE THIS IMAGE
This was taken off my ZuluZSCI SD-CARD. It was installed from a CD_ROM image and modified for all the stuff below. I use Zulu RP2040’s as they are a bit faster, but im sure the others will work fine as well. Format the SDCard for ExFAT and place the image on the card.
This image should work fine on a SCSI2SD as well if you bit copy it and config the card ahead of time. Probably should work on an actual Harddisk but i’ve never done that.
FILESYSTEM
In /home/jimmy you will find the prototype user I added to the system. On my systems I mount a second image and change /etc/fstab to mount it to /home2. Then I put my home directory in /home2/toddvernon. This is nice as you have a lot more space for user stuff.
[ipx2:[root]:/home/jimmy] more /etc/fstab
/dev/sd0a / 4.2 rw 1 1
/dev/sd0h /home 4.2 rw 1 3
/dev/sd0g /usr 4.2 rw 1 2
/dev/sd1h /home2 4.2 rw 1 2
/dev/fd0 /pcfs pcfs rw,noauto 0 0
ROOT
There are two accounts on the image. The first is root, with no password. Login and you're in! The second is Jimmy. Jimmy is prototype user you could likely just rename and be on your way. The Jimmy user has no password as well.
ROOT SHELL
I compiled tcsh from source and it’s in /usr/local/bin. The root account uses this as its default shell. To change the root shell edit /etc/passwd to the shell of your choice. In addition i also compiled an early version of bash from source and it is also in /usr/local/bin.
TELNET
You can telnet into the box by default after changing the IP address. Many modern machines present themselves as xterm-256color.
This terminal is not in the termcap file as it did not exist when the file was made. You can either just set the terminal by hand to "xterm" or you can modify the termcap file to have the xterm-256color alias.
PATCHED DNS
This image has been patched to use DNS without NIS. This was a non-standard configuration at the time. It was common, however for government agencies and academia to request the DNS without NIS configuration and Sun made the files available to patch the libc shared library with DNS resolver routines. The patched files located in:
/usr/lib/shlib.etc/tmp
The procedure is located here on my website but as I mentioned this has already been done on this image.
Using DNS without NIS on SunOS 4.1.X
NETWORKING SETUP
This image is set up for my home network. To make it work on your network you will need to change some files. The image is set for a static IP. I don’t think DHCP was a thing in 1993.
This image is currently setup at 192.168.7.14 on the 192.168.7.x network. My DNS server on this network is 192.168.7.99, and I have an internal network name of vernon.com. (Note: this is just internal as I don't own that domain). You can delete the lien containing “domain” and it will work fine.
To adapt this to your environment you will need to change the following files:
Change /etc/defaultrouter replacing 192.1168.7.1 with your gateway router
Change /etc/hosts to your desired workstation IP, name and gateway
Change /etc/netmasks changing my IP address to yours
Change /etc/resolv.conf to your nameserver IP and, optionally your search domain
OpenWindows, X11R6, X11R5 and Motif 1.2
The image contains working versions of OpenWindows, X11R5, X11R6, and the Motif Window Manager and libraries. I personally use X11R6 and the Motif Window Manager that was compiled agains X11R5.
To start XWindows type "startx" once logged in as root or Jimmy. The default window manager is mwm and both root and Jimmy have setup .mwmrc and .Xdefaults files.
Motif 1.2 was not a free package back in the day, and the source code, libraries, and headers were all pay-for-things. In fact, it remains impossible to find a complete archive of 1.2 to compile from source. You can find Motif 2.x, but I was unable to compile those on SunOS 4.1.4. It took a bit of ingenuity and luck to piece together a complete working Motif Development environment based on version 1.2 for this image.
The Motif libraries and the Mwm (Motif Window Manager) were obtained from a CD-ROM that I believe was likely associated with another software package. While it contained the binaries for SunOS 4.1.4, it did not contain the header files required to compile other Motif applications. My desire was a complete Motif development environment for the image. I was able to put this together by taking Xm header files from the Solaris 2.6 CDE Environment and rehosting them on the SunOS 4.1.4 image under /usr/include/X11/Xm. I’m not completely sure the libraries and headers are the exact same version of Motif 1.2, but I was able to compile a large Motif application I built back in the early 1990s using this combination, and it worked fine. The only thing missing is the actual Mwm source code, but the CD came with a precompiled Mwm that works great as long as the shared Xm library is found in /usr/lib.
There are two versions of XWindows on this image. The first is X11R5, which was required to run the Mwm window manager. The Mwm binary was linked against shared versions of the R5 libraries. The R5 distribution is located in /usr/bin/X11, /usr/lib/, and /usr/include/X11, and they can’t be moved without breaking Mwm. The second version is X11R6, which I compiled from scratch and is located in /usr/X11R6/bin, /usr/X11R6/lib, and /usr/X11R6/include.
The long and short of it is if you don’t want Mwm, you can remove all the R5 directories, and everything will work fine with X11R6. If you are an OpenWindows person, you can likely remove both X11 directory sets, and everything should work fine as well, as long as OpenWindows is still in your path. The test user on the image is “jimmy,” and if you look at the .xinitrc file, you will see how I default to the X11R6 server (it has many improvements over the R5 server) but run Mwm out of the R5 tree. It all works fine.
XSERVER CONFIG
I edited the startup script of the Xserver to up the key repeat onset and key repeat rate.
NEW(er) XTERM
Its bugged me that the xterm from these older releases don’t really understand color that well. I decided to download a newer version of the xterm source that understands xterm256 color codes so programs that send them can color their output. I ended up building the code and installing the new xterm in both the R5 and R6 binary locations. The orignals are renamed xterm.orig in both places should you want to back.
GNU UTILITIES, COMPILERS and USEFULL APPS
I built and compiled many common gnu utilties as well as gcc and g++ up to version 2.8.1. These are 90-era compilers but work great. It was a multiday effort to get this compiler suite working. The default sun CC is still on the box and usable but it’s a K&R compiler without prototypes so won’t compile anything new. Just use GCC and gnu make in /usr/local/bin and you’ll be fine.]
New to Version 2 is Perl 5. For sure a nice addition!
[ipx2:[root]:/usr/local/bin] ls
a2p make
bash patch
bashbug perl
c++ perl5.00405
c++filt perlbug
c2ph perldoc
chill pl2pm
cm pod2html
cpp pod2latex
egrep pod2man
fgrep pod2text
find2perl protoize
g++ pstruct
g77 s2p
gcc screen
gcj sed
gcjh sparc-sun-sunos4.1.4-gcc
gcov splain
grep tcsh
gunzip top
gzexe unprotoize
gzip vs
h2ph zcat
h2xs zcmp
jcf-dump zdiff
jv-scan zforce
less zgrep
lessecho zmore
lesskey znew
FINALLY, HELP
Finally, if you find this helpful image and you end up compiling more things using it, let me know! I would love to keep adding to the image and re-releasing it.
SunOS 4.1.4 is fast fun operating system that makes these older SPARCstations fairly zippy!
Enjoy!