How to make a Sun into an 'X-terminal'

From: clyde@sirius.cc.utexas.edu
Date: Tue May 29 1990 - 14:13:48 CDT


This document explains how we converted Sun 2/50s into 'X terminals'.

# This is a shell archive.
# Remove everything above and including the cut line.
# Then run the rest of the file through sh.
-----cut here-----cut here-----cut here-----cut here-----
#!/bin/sh
# shar: Shell Archiver
# Run the following text with /bin/sh to create:
# README
# CCWF_X_TERMINAL
# Makefile
# X0.hosts
# Xfrominit.sh
# ttytab
# inetd.conf
# This archive created: Tue May 29 14:07:55 1990
# By: Head UNIX Hacquer (Moose & Squirrel Software)
cat << \SHAR_EOF > README
How we converted Sun 2/50s into "X terminals".

What we did was to strip down SunOS 4.0.3, removing that which isn't
needed. The process is:

1. Configure a stripped kernel (2/50 configuration supplied).
2. Edit /etc/rc and or /etc/rc.local to start up only >>essential<<
   network servers (e.g. /etc/inetd).
3. Edit /etc/inetd.conf to remove most network services (sample provided).
4. Change /etc/ttytab to start up X server.
5. Configure an xdm to service the terminal.
6. Reboot the new X-terminal.

SHAR_EOF
cat << \SHAR_EOF > CCWF_X_TERMINAL
#
# %W% %G% (cc.utexas.edu) %P%
#
# CCWF ``X terminal'' - Diskless Model 50 dedicated to running an X server
#
machine "sun2"
cpu "SUN2_50"
ident "CCWF_X_TERMINAL"
maxusers 4
options INET
options NFSCLIENT

config vmunix root on type nfs

pseudo-device ether
pseudo-device pty
pseudo-device loop
pseudo-device ms1
pseudo-device kb1

# connections for machine type 2 (SUN2_50)
controller virtual 2 at nexus ? # virtual preset
controller obmem 2 at nexus ? # on board memory
controller obio 2 at nexus ? # on board io

device zs0 at obio 2 csr 0x7f2000 flags 3 priority 3
device zs1 at obio 2 csr 0x7f1800 flags 0x103 priority 3
device ie0 at obio 2 csr 0x7f0800 priority 3
device bwtwo0 at obio 2 csr 0x0 priority 4
SHAR_EOF
cat << \SHAR_EOF > Makefile
#
# Makefile to configure X terminal systems
#

ETC = /etc

install: install_Xfrominit install_inetd_conf install_X0_hosts
        
install_X0_hosts: $(ETC)/X0.hosts
        install -c -o root -g staff -m 544 X0.hosts $(ETC)/X0.hosts

install_Xfrominit: $(ETC)/Xfrominit
        install -c -o root -g staff -m 544 Xfrominit.sh $(ETC)/Xfrominit

install_inetd_conf: $(ETC)/inetd.conf
        install -c -o root -g staff -m 644 inetd.conf $(ETC)/inetd.conf

SHAR_EOF
cat << \SHAR_EOF > X0.hosts
Hosts that can xdm this X-terminal
SHAR_EOF
cat << \SHAR_EOF > Xfrominit.sh
#!/bin/sh
#
# @(#)Xfrominit 1.1 4/6/90 (cc.utexas.edu)
#
# We put X11R4 binaries in /usr/local/X11R4
#
exec /usr/local/X11R4/Xsun -auth /var/adm/xdm-AuthFile
SHAR_EOF
cat << \SHAR_EOF > ttytab
#
# X Terminal ttytab (console entry)
#
console "/etc/Xfrominit" sun on secure
SHAR_EOF
cat << \SHAR_EOF > inetd.conf
# @(#)inetd.conf 1.17 88/02/07 SMI
#
#
# @(#)inetd.conf 1.1 4/6/90 (cc.utexas.edu)
#
# Allow telnet, rlogin, rstat, and rsh services, that's all.
#
#ftp stream tcp nowait root /usr/etc/in.ftpd in.ftpd
telnet stream tcp nowait root /usr/etc/in.telnetd in.telnetd
shell stream tcp nowait root /usr/etc/in.rshd in.rshd
login stream tcp nowait root /usr/etc/in.rlogind in.rlogind
#exec stream tcp nowait root /usr/etc/in.rexecd in.rexecd
#finger stream tcp nowait nobody /usr/etc/in.fingerd in.fingerd
#tftp dgram udp wait root /usr/etc/in.tftpd in.tftpd -s /tftpboot
#comsat dgram udp wait root /usr/etc/in.comsat in.comsat
talk dgram udp wait root /usr/etc/in.talkd in.talkd
#name dgram udp wait root /usr/etc/in.tnamed in.tnamed
#daytime stream tcp nowait root internal
#time stream tcp nowait root internal
echo dgram udp wait root internal
#discard dgram udp wait root internal
#time dgram udp wait root internal
#
#mountd/1 dgram rpc/udp wait root /usr/etc/rpc.mountd rpc.mountd
#rexd/1 stream rpc/tcp wait root /usr/etc/rpc.rexd rpc.rexd
#ypupdated/1 stream rpc/tcp wait root /usr/etc/rpc.ypupdated rpc.ypupdated
#rquotad/1 dgram rpc/udp wait root /usr/etc/rpc.rquotad rpc.rquotad
rstatd/1-3 dgram rpc/udp wait root /usr/etc/rpc.rstatd rpc.rstatd
#rusersd/1-2 dgram rpc/udp wait root /usr/etc/rpc.rusersd rpc.rusersd
#sprayd/1 dgram rpc/udp wait root /usr/etc/rpc.sprayd rpc.sprayd
#walld/1 dgram rpc/udp wait nobody /usr/etc/rpc.rwalld rpc.rwalld
SHAR_EOF
# End of shell archive
exit 0



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:05:57 CDT