SUMMARY: Getting Xkernel to work on a sun 3/60.

From: Robert McLay (
Date: Fri Aug 23 1991 - 13:11:15 CDT

Thanks one and all for the quick response to my query about getting
Xkernel to work on a sun 3/60. It turns out that we were working from
the wrong version. The correct version is at:

That is basically what I used. I did get the "4LAZY.sun3.tar.Z" in
the same directory for the fixed version of Xsun. The main problems
that we had were with a config file that was only for a sun 3/50.
Also the init file that we used before had error. My recommendation
is to get Xkernel 1.4, it works fine. All the error we had before are
fixed. The only problem we had was that the instruction for XDM don't
tell you that Xsession shell script needs to be executable.

Since we have 8MB of ram in the beast we made a 8 MB swap.

Thanks go to:
Seth Robertson <> (Pierre Laplante) (Connie Peterman)
Cass Everitt <cass@EE.MsState.Edu>
seidc! (Guntram Wolski)
david@elroy.Jpl.Nasa.Gov (David Robinson)
John Posey <> (Mahesh "BigMan" Subramanya) (Brent Alan Wiese)
Alan Shepherd <>
Richard Evans <> (John Marsh) (Hal Pomeranz)

Here is the config file I used: (We have B/W 3/60)
# Version 1.2
# At several point below, I make comments about how this may not work
# under SunOS 4.0.x I no longer have any 4.0.x machines left to try
# to config this under. There should not be any problems, but I don't
# want to mislead anyone since I could not test it
# BTW, this config file is for SunOS 4.1.x and may look suspiciously
# like DL50
machine "sun3"
cpu "SUN3_50" # Sun-3/50
cpu "SUN3_60" # Sun-3/60

ident "XKERNEL"
maxusers 2
options INET # basic networking support - mandatory
options NFSCLIENT # NFS client side code
config vmunix root on type nfs swap on type nfs
pseudo-device ether # basic Ethernet support
pseudo-device loop # loopback network - mandatory
# On SunOS 4.0.x, you might need ms3/kb3, maybe not
pseudo-device ms # mouse support
pseudo-device kb # keyboard support

# connections for machine type 2 (SUN3_50)
controller virtual 2 at nexus ?
controller obmem 2 at nexus ?
controller obio 2 at nexus ?

# connections for machine type 7 (SUN3_60)
controller virtual 7 at nexus ?
controller obmem 7 at nexus ?
controller obio 7 at nexus ?

# Under SunOS 4.0.x the next line might cause problems
device zs0 at obio ? csr 0x20000 flags 3 priority 3
device zs1 at obio ? csr 0x00000 flags 0x103 priority 3
device le0 at obio ? csr 0x120000 priority 3

device bwtwo0 at obmem 2 csr 0x100000 priority 4 # 3/50
device bwtwo0 at obmem 7 csr 0xff000000 priority 4 # 3/60

Here is the init file We used:
# Version 1.4
# Xkernel init program
# installed in /export/root/Xkernel.`arch -k`/sbin/init
# Purpose, perform all commands required to get machine ready to run
# the X server processes (Xsun).
# Copyright (c) 1991 Seth Robertson
# Set up frequently used variables
PATH=/sbin:/; export PATH
HOME=/; export HOME
# Set up FONTPATH for testing further on. This is not actually used
# by Xsun (unless you do something like `Xsun -fp
# $FONTPATH/75dpi/,$FONTPATH/100dpi/`
FONTPATH=/usr/lib/X11/fonts; export FONTPATH
# Set up the I/O stuff
# Hope this works
exec >/dev/console 2>&1
# Yes it does! Kudos to for figuring out
# what was going wrong with (`</dev/console`). Since this is using the
# `#!/bin/sh` hack, the shell script is supplied as stdin. Just doing
# `</dev/console` without doing a `3<&0` will screw things up.
if [ ! -f /sbin/hostname -o ! -f /sbin/mount -o ! -f /sbin/ifconfig -o \
     ! -f /etc/fstab -o ! -f /Xsun -o ! -f /etc/hosts ]
  echo "ERROR! You are missing one of the following files:"
  echo "/sbin/hostname /sbin/mount /sbin/ifconfig /etc/fstab /Xsun /etc/hosts"
  echo ""
  echo "Those files are required for this to have a chance of working."
  echo ""
  echo "Please install those files (if you do not have the instructions"
  echo "for the installation of Xkernel, you can ftp a fresh copy of"
  echo "Xkernel from []"
  echo ""
  echo "The machine will now go into a busy-wait loop. Use the abort"
  echo "sequence to interrupt and reboot."
  while :

# Hostname is already defined because this machine booted diskless and
# did a RARP to find its IP address. Actually, the only reason to
# reifconfig the device is to give it a new netmask or something...
# Make sure that the host appears in ../etc/hosts!!

# If you do subnetting, make sure you specify them correctly (like
# below) Also, if this is a non-Sun 3/50 you might need to change the
# ethernet device type (i.e. you might need ie0).
# ifconfig le0 $hostname -trailers up netmask 0xffffff00
ifconfig le0 $hostname -trailers up
ifconfig lo0 up

# If you need to access hosts outside of your local network, you need
# to statically compile the route.c program supplied and install it in
# /sbin. Then change the default route to the appropriate I.P. address
# route add default 1
route add default 1

# Mount all NFS filesystems listed in /etc/fstab without
# making an entry in /etc/mtab
mount -antv nfs

# If you are having problem, boot with ``-s''
if [ "X$1" = "X-s" ]
  (/sbin/sh) > /dev/console 2>&1 < /dev/console

if [ ! -f $FONTPATH/75dpi/fonts.dir ]
  echo "ERROR!!!"
  echo ""
  echo "The file $FONTPATH/75dpi/fonts.dir"
  echo "does not exist. This probably means that Xsun will fail"
  echo ""
  echo "If it does you have problems with mount or fstab"
  echo ""
  echo "If you do not see anything obviously wrong, uncomment the sh"

# If the files exist, try starting the modified syslogd which
# will perform logging to a remote host.
# See FAQ #13 for more information
if [ -f /etc/syslog.conf -a -f /sbin/syslogd ]; then

# If we were feeling confident we could exec it...
# Xsun has billions of options. RTFM for Xsun and Xserver
# See FAQ for some information on some options.
(/Xsun :0)

# If we get here then we had a problem with Xsun.
# (Xsun should NEVER terminate)
echo "ERROR! Xsun terminated"
echo ""
echo "This condition should never happen. This might mean that you found"
echo "a bug in the X server, or it could mean that the server was not statically"
echo "linked, but mostly likely it means that the font directories that the X"
echo "server requires were not found. Normally they are in /usr/lib/X11/fonts,"
echo "but your FONTPATH might vary."
echo ""
echo "If neither of these things are true, and this is a persistent problem"
echo "then try uncommenting the /sbin/sh line above for manual debugging."
echo "If that doesn't work, send mail to"
echo ""
echo "The machine will now go into a busy-wait loop. Use the abort"
echo "sequence to interrupt and reboot."
while :


______________________________________________________________________________ Robert McLay | When you have a problem, put NO in front of Manager CFD Lab | it and you have: NO PROBLEM. Dept ASE-EM | University of Texas at Austin | -- Eric Beckman's 2nd Law | |

This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:06:19 CDT