Frequently asked questions and hints about the AT&T UNIX PC (2 of 2)
Lenny Tropiano
lenny at icus.ICUS.COM
Fri Sep 28 09:32:17 AEST 1990
------------------------------------------------------------------
Answers to some frequently asked questions about the AT&T UNIX PC,
as well as some frequent problems and useful hints with them
Continuation from Part 1 of FAQ
------------------------------------------------------------------
30. How can I get my machine to ask what load device and what program
to boot from?
By default the UNIX PC is set up with the non-verbose system loader.
This can be changed to the "verbose" loader, and that will ask what
program and device to load from.
*** WARNING *** Any time you write to the disk device like the
following, be extra careful that you type the correct device name.
A backup is always recommended.
Insert a blank diskette in the floppy drive.
# fdfmt.vl
# /etc/ldrcpy /dev/rfp020 /dev/rfp000
Reboot your machine and you'll be able to load from the floppy or
the hard disk whatever program you desire (not that there is too
much you can load). What I have done on my machine is copy the
several diagnostic utilities to the hard disk (for easy retrieval).
Insert your diagnostic disk ...
# mount /dev/fp021 /mnt -r
# mkdir /dgn
# cp /mnt/s4diag /dgn/s4diag
# umount /dev/fp021
This can be repeated for diagnostics like, STARLAN, Voice Power,
DOS-73, Floppy Tape, etc. Name the diagnostic programs something
unique (slndiag, vpdiag, dosdiag, etc.) Now you can load from
the hard disk /dgn/s4diag, /dgn/vpdiag, etc.. and have that diagnostic
utility handy when needed.
NOTE: After you do this procedure your system will not reboot
automatically (after power failures) without some user input.
31. How do I get multiple login windows?
Don't be afraid to edit your /etc/inittab, even though there is a
big warning at the top of the file (providing you are careful nothing
will happen).
It is fairly easy to start up several windows with logins on them,
all you need to do is after the:
vid:2:respawn:/etc/getty window 9600
vd2:2:respawn:/etc/getty window 9600
vd3:2:respawn:/etc/getty window 9600
^ NOTE: in all cases there is a blank "space" there.
This will start up 3 windows with logins. Using the <Shift><Suspd>
option of the window manager, you can toggle between all of them.
32. Is there such a thing as Floppy UNIX? Can I run my machine that
way and do things like filesystem checks (/etc/fsck)?
Yes, most definitely. The Foundation Set diskettes have a floppy
UNIX on it. Make a copy of the Floppy Filesystem Disk (Disk 3 of ##)
Insert the original floppy filesystem diskette, and have a formatted
10 sectors/track diskette ready. Type the "fpcp" command and copy it.
Now that you have a copy, we need to place a copy of /etc/fsck on it.
# mount /dev/fp021 /mnt
# cp /etc/fsck /mnt/etc/fsck
# cp /etc/inittab /mnt/etc/inittab.save
(That above line is useful for the next situation, see item #32)
# sync
# umount /dev/fp021
Now you have a disk that will help you do a standalone filesystem
check.
How do you get to boot this? First boot the system using the
"Floppy Boot Disk" (Disk 2 of ##). It then will stop and ask you to
insert the Floppy Filesystem Disk. Now put your "copy" in.
When it comes to the first question you then should interrupt this
script. This is done by pressing <DEL> (that's <Shift><ESC>). At
this point you will get a "#"
# umount /dev/fp002 (the disk is already mounted
as /mnt)
warning: /dev/fp002 not in mount table (you may get this, it's OK)
# /etc/fsck -D -S /dev/rfp002 (do your filesystem check)
# sync;sync;reboot (reboot the system)
NOTE: that /etc/fsck is running off the floppy root filesystem disk
you have in now, the -s option the restructures (salvages) the
free-list on the root filesystem partition.
*** THE FOLLOWING IS NOT FOR THE UNINHIBITED OR CASUAL USER ***
For the real UNIX hacker out there (and you are fortunate enough to
have a tape drive on your machine) you could grab the fp_unix.sh.Z,
conf.sh.Z and kern.cpio.Z files from the OSU Archives. This is a set
of tools, along with the kernel object files for 3.51m, that will let
you link in the tape driver (tp.o) to your floppy UNIX kernel and
give you full control of the tape device from the floppy UNIX. This
is very handy for doing full backups or restorals from the floppy!
33. My machine hung at the boot message:
Version #.##x
Real memory = #######
Available memory = #######
Main board is P3...P5
(NOTE: Main board could also be P5.1 if your machine was upgraded)
What can I do? Do I need to reload everything??
I've seen this all too many times, so I've taken some precautions.
9 times out of 10 the /etc/inittab file is either deleted, corrupted,
or truncated because of some filesystem damage during a system crash.
The machine will hang there at that Main board prompt forever, since
/etc/init is looking for the inittab file. Follow the directions
in item #32 (above) and insert boot the floppy filesystem disk that
you made. On there, if you followed directions, is /etc/inittab.save,
which can be happily copied to the /mnt/etc/inittab file (when the
hard disk root filesystem (/dev/fp002) is mounted from the floppy as
/mnt).
# umount /dev/fp002
# fsck -s /dev/rfp002
# mount /dev/fp002 /mnt
# ls -l /mnt/etc/inittab
(if it's not there, or corrupted ...)
# cp /etc/inittab.save /mnt/etc/inittab
# sync
# umount /dev/fp002
# sync;sync;reboot
The other one time (out of 10) I've seen the /etc/inittab file there,
but there was /etc/utmp.lck file on the system. This happens in
very rare "race" conditions with the pututent(3C) routines. Removing
this file, and rebooting will generally recover the system.
34. I heard the UNIX PC isn't the most secure machine? How can I make
it a bit more secure?
The best way to not worry about security is don't allow users on
your machine that aren't trusted. Especially users that have shell
access.
There are several serious problems with the UNIX PC's software,
specifically the User Agent (UA). The UA (the windowing environment,
also known as the Office environment) has some serious security
problems. The best solution, of course, would be to remove the
entire UA system from your machine. This isn't the easiest
procedure (since there are lots of programs scattered all around
the disk that is tied into the UA) and probably not the most desirable
for some novice users. What's so wrong with it? Well look in your
trusty manuals, in section 4. The manual UA(4) states: (talking about
UA configuration files)
[...] (page 4)
EXEC and SH have a number of variations, which are used depending
on the intelligence of the process being invoked.
[...]
The variations are specified via option characters as follows:
-n Run the process without a window
-w Run the process without waiting
-d Run the process in a dimensionless window
-p Run the process with superuser privileges
[...]
The "-p" option being the problem. For a little experiment, which
I do to show the security conscious user (who still likes the UA),
is give me a non-privileged user account.
Then I do this, create a file in my home directory called "Office"
with the following lines:
Name=Super User UNIX
Default = Run
Run=EXEC -pwd $SHELL
Then I type:
$ exec /usr/bin/ua
I select my new object that I just created "Super User UNIX" and then
at the "#" prompt type "id" for the effect.
# id
uid=0(root) gid=0(root)
OK, convinced?
If you really *LOVE* the UA, you can do something about this. Protect
the programs /usr/lib/ua/uasetx and /usr/lib/ua/uasig so they are
not executable by "other" and only excutable by a "trusted" group.
-rwsr-x--- 1 root trusted 4268 Jan 1 1970 /usr/lib/ua/uasetx
-rwsr-x--- 1 root trusted 2068 Jan 1 1970 /usr/lib/ua/uasig
Want more? OK. Send yourself some electronic mail. Nothing elaborate
is necessary.
$ mail myself < /dev/null
Select the [mailbox] icon when it comes up, and then when you're in
/bin/mail, at the "?" prompt type "! /bin/sh", poof! Root shell.
# id
uid=0(root) gid=0(root)
# pwd
/etc/lddrv
This can easily be corrected with my "email" program that has been
posted to unix-pc.sources and is archived on OSU as "email.sh.Z"
That program sets the correct user id, group id, and home directory.
Other things to look for are covered in lots of books on UNIX
security. Directories protected as 777 (world writable), setuid
programs that aren't very security conscious... etc.
35. What the heck is a +IN suffix on a file?
On the UNIX PC, "+IN" denotes an "Installable File". If you were
to use the UA (and after the above item, you're probably not!) it would
show that it's an Installable File. The Installable format is just
a normal CPIO archive. The file can be installed by hand by doing:
# mkdir /tmp/install
# mv FILE+IN /tmp
# cd /tmp/install
# cpio -icduvmB < ../FILE+IN
[...]
# ./Install
A list of other Suffixes are detailed in the file /usr/lib/ua/Suffixes
36. I heard there was some hidden mode in the diagnostics for expert users
only? What is it? How do I get it? How do I become an expert?
The diagnostic floppy has a mode in it for the more experienced system
testers. Basically from this mode, there is no need for navigating
through menus, pick the test and it does it. The diagnostic tests
can be run several times (for testing intermittent hardware). The
diagnostic output can be sent to a parallel printer for review later,
and also for unattended testing (since the output can scroll off the
screen rather easily).
How do you enter this mode? Simple. At the first menu prompt, after
booting the diagnostic disk, type in "s4test". If you typed it in
correctly you will get a prompt.
expert>
From there you can type "?" for a "semi-verbose" command syntax, and
a list of many of the tests. For more detail on what tests and subtest
you can do, grab a nice file by Craig Votava <cmv at ihlpf.att.com>,
"s4test.info.Z" from the OSU Archives.
37. I turned on my UNIX PC and all I have is a "green screen". What can
I do?
This symptom crops up in a lot of UNIX PC's. Generally speaking I've
been able to revive the UNIX PC with only little fuss. Open the
machine, as described in item #4, down to the motherboard. Carefully,
reseat all the socketed chips, especially the 68010 CPU. Vacuum all
the "dust bunnies" from the machine. 7 times out of 10 the machine
will boot afterwards. If the machine still doesn't boot, it could
be something more serious. Check with the ``ASCRC'' (see item #27)
on how you can go about getting the machine repaired.
38. I turn on the machine and I hear the hard disk and fan, but I have no
video?
Well the first thing you could do is check the "brightness control".
After you are sure that it's not that, the problem generally goes away
by replacing the power supply. If you don't have a spare one, again'
you'll have to deal with either AT&T or ASCRC.
39. After installing the Development Set, but there are no include header
files in /usr/include/*? What gives?
I've seen this once before, and it has to do with the ordering of
packages that you install. Because of a bug in one of the packages'
Installation script, presumably "Curses/Terminfo Programmers Package,"'
it tries to copy curses.h to /usr/include, but if /usr/include doesn't
exist, it will make a *file* called /usr/include, which is really
curses.h.
To prevent this from happening, install the packages in this order:
Curses/Terminfo End User Package
Development Set 3.5x
Curses/Terminfo Programmers Package
40. Why with GCC (GNU C compiler) available for the UNIX PC, and in
particular there are pre-compiled binaries for it, why do I need
the development set (which is hard to come by in the first place)?
Arnold Robbins <arnold at skeeve.ATL.GA.US> says ...
For a number of reasons.
1. You need the include files from /usr/include and /usr/include/sys.
2a. You need 'as', the assembler.
2b. You need 'ld', the loader.
2c. You need the C libraries (/lib/libc.a, etc).
None of these come with GCC.
3. If you're starting with just GCC source, you need the C compiler
for bootstrapping.
Note that bootstrapping GCC from scratch on a Unix-PC is a painful
operation (requiring much time and disk space). You're much better
off using the binaries that are on osu-cis, and/or bootstrapping with
an earlier version of GCC. The only problem with using the binaries
off osu-cis, is adhering to /usr/local/bin convention compiled into
these binaries.
GAS (GNU assembler) and the GNU loader (ld) aren't ported for use with
the UNIX PC, at least not completely.
41. I'm receiving a lot of floppy access errors (FDERR) when I format, or
when I try to access the floppy drive for write. What's the problem
here?
Jon H. LaBadie, Boyd Ostroff, and Perry Miller have suggested to me
that it could be the light occluding the write protect sensor on the
floppy drive. The easiest solution for this is to get a can of
compressed air, or blow real hard into the floppy aperature several
times. This generally will remove the dust or dirt from the area,
and hopefully will solve the problem. (With the light being blocked,
the floppy drive is considered permanently write protected!)
If the problem persists after you follow the *simple* solution, you
might have to open the machine, remove the floppy drive and do a
closer examination. If all else fails, a standard TEAC 360K floppy
drive is the one-for-one replacement.
42. I'm running rn(1) from the on-board modem device (/dev/ph[0 or 1])
and it's coming up with.
Can't open /dev/tty.
The problem is a line in the term.c file. The lines that have to
be changed for rn to work are:
Before change:
[...]
devtty = open("/dev/tty",O_RDONLY);
if (devtty < 0) {
printf(cantopen,"/dev/tty") FLUSH;
finalize(1);
}
fcntl(devtty,F_SETFL,O_NDELAY);
[...]
After change:
[...]
devtty = open("/dev/tty",O_RDWR); /* changed for UNIX PC */
if (devtty < 0) {
printf(cantopen,"/dev/tty") FLUSH;
finalize(1);
}
fcntl(devtty,F_SETFL,O_NDELAY);
[...]
This is since the /dev/phN devices *require* DATA connections to
be opened with O_RDWR, so changing the O_RDONLY (or in some
versions the number "0") will solve your problems.
43. Can I do more than uucp(1) or cu(1) with my STARLAN boards? Can I hook
the STARLAN to Ethernet?
Let me answer the second question first, no, you cannot connect STARLAN
to an Ethernet network, at least not directly. STARLAN, or in the case
of the UNIX PC, STARLAN-1 (1BASE5) is a 1Mbps (megabits/sec) network over
twisted pair wire. The URP protocol used to communicate over STARLAN-1
on the UNIX PC. The newer STARLAN standard is STARLAN-10 (10BASE2) and
is 10Mbps which is more *like* Ethernet. The protocol used is the ISO/OSI
standard, and therefore it's interconnectability is increased. However,
this is *NOT* compatible with the UNIX PC version. There is an expensive
item that AT&T sells, called the STARLAN 1:10 BRIDGE. This connects the
two networks together, if this is a necessity, but plan to spend around
$4,500 for the convenience. (AT&T PEC Code: STARLAN 1:10 BRIDGE 2611-005)
According to AT&T STARGROUP documentation, there is software available
to interconnect STARLAN-10 hardware to Ethernet using IEEE 802.3, TCP/IP
protocol, this of course in conjunction with the BRIDGE could connect
STARLAN-1 via the STARLAN 1:10 BRIDGE to STARLAN-10, and then to Ethernet,
a round-about way, but presumably possible.
If you want to connect your UNIX PC to a *real* Ethernet, you'll need to
hunt down the AT&T UNIX PC Ethernet board. This board runs a version
of the TCP/IP drivers, distributed by Wollogong. The board will require
the proper cables, as well as, a tranceiver. This increases the cost of
Ethernet interconnectability. The Wollogong TCP/IP drivers are an older
version, which I'm sure isn't support by Wollogong anymore. It's rumored
that there are many bugs, and the throughput of the board is no where
near what Ethernet should be getting. I was told that throughput over
STARLAN-1 was better than over the TCP/IP Ethernet board, where if
it were working properly shouldn't be the case.
Thanks to the hard work of Roger Florkowski (cs.utexas.edu!taliesin!roger),
UNIX PC STARLAN users don't have to be limited with just uucp'ing and
cu'ing over the network. He has ported and created a bunch of BSD network
utilities (r*commands). With his package, which was posted to
unix-pc.sources, and now resides archived on OSU-CIS (bsdslan.cpio.Z),
you can do remote tape operations, remote copies, and remote shell
commands.
44. Can I run SLIP (Serial Line Internet Protocol) on my UNIX PC?
So far there hasn't been anyone who ported a SLIP device driver. That
would be the optimal solution, but in the interim we do have an
answer for those who want to run SLIP.
There is the KA9Q/W9NK TCP/IP Version 890421.1 available for the
UNIX PC. Thanks to Phil Karn (the original developer), Gary Sanders,
and Rob Stampfli the package supports SLIP (which in theory over
a modem or direct serial line (preferably 9600 baud or higher) one
could SLIP on over (sorry for the pun) to an Internet machine allowing
Dialup/Direct SLIP logins. With the pseudo-tty driver (pty) you
can have multiple TELNET sessions (even on the UNIX PC side). Built
into the "net" package is FTP, TELNET, FINGER, SMTP, and others.
KA9Q is available from OSU-CIS, Gary Sander's BBS or via anonymous
uucp login on Rob's UNIX PC:
kd8wk Any ACU 2400 16147598597 in:--in: uucp word: anonymous
To obtain the net source, issue the following uucp command:
uucp kd8wk!~/pub/netsrc.cpio.Z /usr/spool/uucppublic
To obtain an executable for the AT&T 7300, enter the following:
uucp kd8wk!~/pub/netexe.7300.Z /usr/spool/uucppublic
Gary's HAM RADIO BBS Access:
System Name: N8EMR
Phone: 614-895-2553 (19.2K Trailblazer, 2400, 1200)
Login: hbbs
Data Settings: 8 Bits, NO Parity, 1 Stop Bit
Times: 24hrs
45. I'm having trouble configuring my Hayes compatible external modem on
the UNIX PC? How do I do it?
Thanks to Jim Adams, I have included in the OSU Archives, HDB_Modem.Z,
which is an informational posting (posted to unix-pc.uucp
and comp.sys.att) on how to set up your external modem under HDB uucp.
The file particularly uses the "hayes" modem as the example, although
information could probably be extracted for uses with other modems.
If you want information on how to set up your Telebit Trailblazer modem,
get the file tb-setup.sh.Z, also archived.
This posting was too large to include in its entirety here, so a
completely seperate posting was made. He goes into how to set up
the modem, proper cabling, proper Devices and Dialers entries, and
a discussion on HFC (hardware flow control).
46. What are the consequences of "fsck -s" (salvaging the freelist)?
Jim Adams sent me some information I'd like to share with you, regarding
the uses (and dangers) of salvaging the freelist using the fsck(1M)
command.
fsck(1M) provides for a method of salvaging and reconstructing the
freelist maintained by the UNIX filesystem. It is dangerous to
haphazardly do anything with the filesystem, as well as just
reconstructing the freelist. If the filesystem isn't in a good
state, it's possible that the freelist could be further damaged by
just salvaging it. fsck(1M) will salvage the freelist when necessary,
or when the question "SALVAGE (Y/N)?" is answered "yes".
Jim has said, that the alternative method, fsck -S, should be used
if you wish to salvage the freelist. The salvage will only be done
if the filesystem is properly constructed, and nothing damaging could
occur by it's reconstruction. If errors are found during the fsck
phases, other than errors like "POSSIBLE FILE SIZE ERROR I=nnn" (which
occurs from sparse files, also known as files with holes in them)
the salvage will not be done.
fsck(1M) is designed to be run on a mounted root filesystem, as
long as the block device is used and the system is in a quiescent
(quiet) state. fsck(1M) can be run on the raw/character device when
the filesystem isn't mounted, and this is generally much faster.
fsck(1M) will automatically reboot the system without sync'ing, if
the "mounted" root filesystem was modified, just as you should (since
the in-core image of the filesystem would be different). There is no
"re-mount" facility on the UNIX PC, otherwise the root filesystem
could just be remounted.
Another suggestion made was to run "fsck -D" to check directories
for bad blocks. This takes longer, but is considered worth it.
(fsck -D is similar to the MSDOS CHKDSK facility)
47. What does the option to "dismount -s" do?
It should never be used, it's an historical option (as the manual
notes), used to un-mount the "Syquest" external drive. This
unfortunately causes the first hard disk to RECAL if you don't have
the second disk upgrade. With the second disk upgrade it improperly
un-mounts all the filesystems, but to my knowledge doesn't handle
the /etc/mnttab file correctly for all the partitions on the second
disk.
In my opinion, it's much safer to use multiple /etc/umount commands,
to un-mount multiple partitions. This works for all cases, and there
is no second guessing on what the command is actually doing. If you
want to mimic the operation of dismount, you can easily issue the
"sync" command before the "umount" command. As far as clearing the
"pulled-flag" as the manual indicates, I never had any problem just
using the /etc/umount command (on floppies, as well as, my other
partitions and hard disk)
48. What's /etc/update? What does it do?
/etc/update is an antiquated command, that is no longer necessary
to be used. It is not a shell script, but could easily be written
as one. The executable, /etc/update basically takes one argument,
the number of seconds to sleep, or defaults to 30 (I believe). It
then sleeps that interval and then issues a sync(2) system call.
This is a continuous process, it detaches itself from the current
tty with the setpgrp(2) call, and closes all file descriptors 0, 1,
and 2 (stdin, stdout, and stderr). It was to be run by /etc/init,
as a boot-time process, and was to remain there for the duration of
the machine's uptime.
______________________________________________________________________________
Thanks to the following people, and I apologize if I inadvertently left
your name out.
Lenny Tropiano <lenny at icus.ICUS.COM>
Gil Kloepfer, Jr. <gil at limbic.ssdl.com>
Brian Botton <botton at i88.isc.com>
Brad Bosch <brad at i88.isc.com>
Darren Friedlien <darren at bacchus.bacchus.com>
Thad Floryan <thad at cup.portal.com>
Mike "Ford" Ditto <ditto at amix.commodore.com>
Craig Votava <cmv at ihlpf.att.com>
John McMillian <jcm at pegasus.att.com>
Jan Isley <...!gatech!bagend!jan>
John Milton <...!cis.ohio-state.edu!n8emr!uncle!jcm>
Alex S. Crain <alex at umbc3.umbc.edu>
Robert Granvin <rjg at sialis.mn.org>
Roger Florkowski <...!cs.utexas.edu!taliesin!roger>
Brant Cheikes <brant at manta.pha.pa.us>
Mark Dapoz <...!cs.utoronto.edu!hybrid!mdapoz>
Scott H. Mueller <unix-pc-request at zorch.SF-Bay.ORG>
Emmet P. Gray <...!uunet!uiucuxc!fthood!egray>
Mark Galassi <rosalia at max.physics.sunysb.edu>
David Brierley <dave at Galaxia.Newport.RI.US>
Arnold Robbins <arnold at skeeve.ATL.GA.US>
Jon H. LaBadie <...!princeton!jonlab!jon>
Boyd Ostroff <ostroff at oswego.oswego.edu>
Perry Miller <pbm at cup.portal.com>
Karl Kleinpaste <karl at cis.ohio-state.edu>
Gary W. Sanders <...!osu-cis!n8emr!gws>
Rob Stampfli <...!osu-cis!n8emr!kd8wk!res>
James Warner Adams <adams at ucunix.san.uc.edu>
All the people who were kind enough to make suggestions, additions,
and corrections -- the list is a bit too long to include here.
--
| Lenny Tropiano ICUS Software Systems lenny at icus.ICUS.COM |
| {ames,pacbell,decuac,sbcs,hombre,rayssd}!icus!lenny attmail!icus!lenny |
+------ ICUS Software Systems -- PO Box 1; Islip Terrace, NY 11752 ------+
--
| Lenny Tropiano ICUS Software Systems lenny at icus.ICUS.COM |
| {ames,pacbell,decuac,sbcs,hombre,rayssd}!icus!lenny attmail!icus!lenny |
+------ ICUS Software Systems -- PO Box 1; Islip Terrace, NY 11752 ------+
More information about the Comp.sys.att
mailing list