Archive-name: sco-xenix
News-answers-archive-name: sco/xenix
Posting-frequency: monthly
Version: 1.45

@(#) sco-xenix 1.45 93/06/05 22:03:21

Welcome to comp.unix.xenix.sco.  This newsgroup is about the XENIX
operating system from the Santa Cruz Operation (SCO).  If you have an
SCO XENIX question, then you've come to the right place.

This is NOT the newsgroup for SCO UNIX or Open Desktop questions.  If
you want to talk about other SCO operating systems, please show some
courtesy and use an appropriate newsgroup, such as comp.unix.pc-clone.32bit.
(Hey!  Don't blame me.  I voted against that silly name.)  This is also
NOT the right place for questions about XENIX implementations from
other vendors.  Use comp.unix.xenix.misc.

Certain questions are asked frequently on the net.  Frequently asked
questions (FAQs) get old and boring after a while.  We can stamp out
FAQs in your lifetime!  Please review this message before posting your
question to comp.unix.xenix.sco.

If you haven't already done so, please read the periodic postings in
news.announce.newusers entitled "A Primer on How to Work With the Usenet
Community", "Answers to Frequently Asked Questions about Usenet" and
"Hints on writing style for Usenet".  You should also review the
comp.unix.questions FAQ postings.  These answer general questions,
such as `How do I delete a file with funny characters in the name?'
and `How can I change my shell prompt?'  C programmers should check
out the FAQ in comp.lang.c.

Whenever we talk about XENIX here, we really mean SCO XENIX System V.
Our comments often won't apply to the other kinds of XENIX.  Also, be
particularly careful if you use XENIX/286.  It's been ages since we've
used it and some of our suggestions might not apply.

This message is maintained and posted monthly by Chip Rosenthal.  Your
corrections, additions, and comments are encouraged.  Please mail them
to chip@chinacat.unicom.com.  These questions and answers were written
by Chip Rosenthal, Jeff Liebermann, Ronald Florence, Chip Salzenberg,
Ronald Khoo, Vic Michael, and Stephen Bleazard.  Helpful contributions
and comments have been provided by Andrew Phillips, Peter Funk, and
Paul Warren.

Please examine the date near the top of this message.  This message
is updated frequently, and any version older than 90 days is possibly
obsolete.  The latest copy of this message is always available via
anonymous FTP to rftm.mit.edu in the "/pub/usenet/comp/unix/xenix/sco"
directory.  It may also be retrieved via e-mail.  Send a message to
"mail-server@rtfm.mit.edu" that says "send usenet/news/answers/sco/xenix".


******************************************************************************
****************************  Questions Answered  ****************************
******************************************************************************


===> Product Questions:

    QA1.  What is the difference between UNIX and XENIX?
    QA2.  What is the minimum system required to run XENIX?
    QA3.  Should I buy UNIX or XENIX?
    QA4.  What are the current XENIX versions?
    QA5.  Where can I get XENIX fixes?
    QA6.  I'm using an older XENIX/386 version.  What fixes do I need?
    QA7.  Does SCO have a BBS?


===> General XENIX Questions:

    QB1.  Can't boot.  My system used to work.
    QB2.  Configure(ADM) fails when I modify my system name.
    QB3.  I upgraded XENIX.  Now I get `parity error' panics.
    QB4.  Login fails without prompting for password.
    QB5.  Can I use `gcc' instead of buying the SCO Development System?
    QB6.  Program `foobar' dumps core with a stack overflow. [XENIX 286]
    QB7.  Spell cannot initialize hash table.
    QB8.  Will my laser printer work with the Text Processing Package?
    QB9.  Where is crypt?
    QB10. How can email handle `internet' addresses or use a `smart host'?
    QB11. Where can I find freely available software for Xenix?


===> Disk and Filesystem Questions:

    QC1.  Can I use a disk bigger than 1024 cylinders?
    QC2.  Why won't XENIX recognize my SCSI disk?
    QC3.  Where is the `/u' filesystem I created?
    QC4.  `WARNING!! - mounting: <usr> as <news>' message when booting.
    QC5.  `POSSIBLE FILE SIZE ERROR' when running `fsck'.
    QC6.  Is disk fragmentation curable?
    QC7.  Can I put a CD-ROM drive on my Xenix system?


===> Communications Questions:

    QD1.  How do I add more than 2 COM ports?
    QD2.  Where is the `gettydefs' entry for 19200 serial lines?
    QD3.  How can I have more mscreen(C) sessions?
    QD4.  Upgraded to 2.3.4 and flow control broke with mscreen(C).
    QD5.  Terminals act funny, modems drop characters, help!!
    QD6.  Does XENIX support 16550A UARTs?
    QD7.  How do I increase the number of `clists'?
    QD8.  How do I change the 16550A trigger level?
    QD9.  How do I adjust the `ttyhog' value?
    QD10. Where can I find TCP/IP?  NFS?
    QD11. BSD based uucp can't connect to my machine.
    QD12. uucp truncates my system name to seven characters!
    QD13. What is the uucp `windows' patch?
    QD14. uucp gives `alarm' messages, eventually dies.


===> Display and Graphics Questions:

    QE1.  How come Xenix won't recognize my VGA display?
    QE2.  How can I do a printscreen under XENIX?
    QE3.  How can I blank the console display when it is idle?
    QE4.  How can I do graphics under XENIX?  What programs are available?
    QE5.  CGI graphics mangles grey scale on a mono VGA.
    QE6.  CGI graphics fail on a LaserJet in landscape mode.


===> XENIX and MS-DOS Interoperability Questions:

    QX1.  Can XENIX share a hard disk with MS-DOS?
    QX2.  Can XENIX access MS-DOS disks?
    QX3.  Can XENIX execute MS-DOS programs?
    QX4.  Can MS-DOS execute XENIX programs?


===> The (in)Famous XENIX Cheat-Sheet:

    QZ1.  What the $%*&! is happening?


******************************************************************************
****************************  Product Questions  *****************************
******************************************************************************


QA1.  What is the difference between UNIX and XENIX?

    XENIX is UNIX -- or at least one flavor of it.  In the late 70's,
    Microsoft licensed the UNIX sources from AT&T and ported them to a
    number of platforms.  In those days AT&T would license the UNIX sources
    but not the UNIX name, thus each company had to invent their own name.
    Microsoft picked XENIX.  Microsoft did not sell XENIX to end users.
    Instead, they licensed the software to OEMs (Intel, Tandy, Altos, SCO,
    etc.) who provided a finished end-user package.  Microsoft no longer
    supports XENIX, and in fact never even offered a 286 or 386 version.

    Several UNIX implementations for the PC architecture have been tried
    with varying levels of success.  SCO XENIX for the PC/XT was one.
    Unfortunately, the PC/XT lacked hardware features required for robust
    UNIX operations.  The PC/AT offered hardware memory protection, and
    SCO XENIX/286 took advantage of it.  SCO XENIX/386 added demand
    paged virtual memory.  These added features made multiuser PCs
    viable, and SCO XENIX popular.

    SCO XENIX starts with a UNIX System III base, throws in several
    Berkeley enhancements, and adds features to obtain conformance to
    the System V Interface Definition (SVID).  Today, the bulk of the
    code is from System V.  XENIX/386 even has capabilities to execute
    UNIX programs.  However, it differs in many of the SVID `optional'
    areas people tend to expect of a full System V.  For example, SCO
    XENIX lacks a real `inittab'.  You need to go to a real System V
    Release 3.2, such as SCO UNIX, for all these features.


QA2.  What is the minimum system required to run XENIX?

    You can build a minimal, single-user XENIX system with an 80386SX
    computer with 2MB to 4MB RAM and 40MB hard disk.  For the XENIX
    development system, you'll want at least an 80386DX computer with
    4MB RAM and 80MB hard disk.  Additional resources (more speed,
    more RAM, more disk) will be required to support additional users,
    large applications, networking, or X windows.  XENIX/286 will run
    on a PC/AT, but you will quickly become frustrated with its
    limitations, especially if you are a programmer.


QA3.  Should I buy UNIX or XENIX?

    If you are running XENIX now, don't throw it away and buy UNIX.
    XENIX will be around for some time.  However, if you are new to
    multi-user computing, you should consider UNIX System V Release
    3.2 or Release 4.0.  XENIX is a mature product.  There will be
    few future enhancements.  UNIX has more goodies and better
    performance than XENIX.  UNIX runs XENIX binaries, so it will do
    most anything XENIX can -- and more.  XENIX requires less memory
    and disk space.  However, hardware prices are declining and UNIX
    is now pretty stable, so these are not great advantages.

    On the other hand there are a number of XENIX enthusiasts who
    wouldn't switch if you gave them a free copy of UNIX.  They would
    gladly forgo the new features to avoid the bloat of System V.


QA4.  What are the current XENIX versions?

        Package                 Version         `perms' file
        ----------------------  --------------  ---------------------------
        XENIX Runtime System    2.3.4           inst, dsmd, tpmd, rts, ext
        XENIX Runtime (286)     2.3.2           inst, dsmd, tpmd, rts, ext
        Development System(386) 2.3.1           soft
        Development System(286) 2.2.1           soft
        CGI                     1.1.0           cgi
        Text Processing         2.3.0           text
        Manual Pages            2.3.0           man
        VP/ix                   1.2.0           vpix
        TCP/IP Runtime          1.2.0           tcprt
        TCP/IP Development      1.0.1           tcpdev
        Streams Runtime         1.0.0           streamsrt
        Streams Toolkit         1.0.0           streamstk
        Int'l Supplement(386)   2.1.0           sup.os
        Int'l Supplement(286)   2.0.0           sup.os

    The perms column lists files found in the /etc/perms directory.
    The `#rel=' line in these files will tell you what version you
    have.


QA5.  Where can I get XENIX fixes?

    SCO provides Support Level Supplements (SLS) at no charge.  They
    may be downloaded by anonymous uucp from SCO's `sosco' machine.
    To retrieve a shopping list of available SLSs, add one of the
    following to your `/usr/lib/uucp/Systems' file:

        # Telebit (PEP) modem
        sosco Any ACU 19200 14084291786u gin:-BREAK-gin:-BREAK-gin: uusls
        # Hayes V-Series modem
        sosco Any ACU 19200 14084274470 gin:-BREAK-gin:-BREAK-gin: uusls
        # 1200 or 2400 bps modem
        sosco Any ACU 300-2400 14084253502 gin:-BREAK-gin:-BREAK-gin: uusls

    European folks might prefer to use `scolon' instead.  From within
    the UK, try:

        scolon Any ACU 300-19200 0923210911u \
                gin:-BREAK-gin:-BREAK-gin: uusls word: bbsuucp

    Outside the UK, replace the leading zero with the country code.
    A 9600bps Trailblazer answers this line.  Delete the `u' at the
    end of the phone number if you aren't using a Telebit modem.
    Files are as on `sosco' but tend to be a week or so behind.  Also,
    replace `sosco' with `scolon' `sosffm' in the examples below.

    In Germany, you can use:

        sosffm Any ACU 300-9600 069-50910736 \
                "" \r ogin:-BREAK-ogin: uusls sword: bbsuucp

    This modem supports V.32 transfers, but not PEP.  We've been told
    this system is often behind the other sites.

    Add to your `/usr/lib/uucp/Permissions' file:

        # REQUEST files only - i.e. cannot send to sosco.
        # rmail required to get bounced mail and error messages.
        MACHINE=sosco SENDFILES=yes REQUEST=no COMMANDS=rmail:uucp \
                WRITE=/usr/spool/uucppublic:/tmp

    To retrieve an SLS listing to your machine as /tmp/info:

        uucp sosco\!/usr/spool/uucppublic/SLS/info /tmp/info

    This file also provides directions on retrieving, unarchiving,
    and uncompressing the SLSs.  There is also a `descriptions' file
    with additional details on the available SLSs.

    SLSs are also available on `uunet'.  For example, to get the `info'
    file, run:

        uucp uunet\!~/vendor/sco/SLS/info /tmp/info

    Most of these machines also have Enhanced Feature Supplements (EFSs),
    games and graphics programs, and new termcap and terminfo terminal
    definitions in addition to SLS.  Look for an `info' or `README' file
    one directory up from the `SLS' directory for more info.


QA6.  I'm using an older XENIX/386 version.  What fixes do I need?

    Development System

    - 2.2.X or older    An upgrade to 2.3.1 must be purchased from SCO.

    - 2.3.1             Install `lng244'.

    Operating System

    - 2.2.X or older    An upgrade to 2.3.4 must be purchased from SCO.

    - 2.3.0 or 2.3.1    SCO would like you to purchase a 2.3.4 upgrade.
                        The `xnx137' fix would get you to 2.3.2, but SCO
                        does not provide it any longer.

    - 2.3.2             Install `xnx296a' to get to version 2.3.3.

    If you have VP/ix and installed update UFJ, then your kernel is
    already at 2.3.3.  None the less, you still want `xnx296a'.  The
    `xnx296a' update is also known as UFN, and replaces UFJ and UFM.
    UFM was also known as the `xnx155b' update.

    You must install the development system before `xnx296a'.

    `xnx296a' provides you with most of the important fixes in 2.3.4.
    You will lack some of the nice enhancements such as updated man
    pages and the Korn shell.

    SCO preconfigures the kernel for a very minimal system.  You should
    tune the kernel for your exact system configuration.  See the
    "Tuning Kernel Parameters" chapter in the System Administrator's
    Guide.


QA7.  Does SCO have a BBS?

    Yes.  The SOS Support BBS is $95/year.  This is a good deal.  You
    can:

        - download fixes, suggestions, and hints.
        - keyword access to the support problems database.
        - retrieve product info, release status, and hardware compatibility.
        - get support via email.
        - subscription to quarterly Discover newsletter.

    You can dial-in with a terminal program such as `cu' -- uucp is
    not required.  Access is read-only, but most questions can be
    answered by the support database.  SCO currently doesn't provide
    SOS access to most overseas users.

    You might also consider joining the `SCO Developer Alliance Associates
    Program.'  This costs $100/year, and also provides access to the BBS.
    Contact devrel@sco.com for additional information.


******************************************************************************
*************************  General XENIX Questions  **************************
******************************************************************************


QB1.  Can't boot.  My system used to work.

    Check the A: drive.  If there is a floppy in there your system
    might spew garbage on the monitor or hang during boot.  If this
    problem occurs right after rebuilding a new kernel, go read the
    FAQ on disks bigger than 1024 cylinder.


QB2.  Configure(ADM) fails when I modify my system name.

    If you select a site name of two, three, or four characters,
    `configure' will fail with an error message:

        space.asm(XXX): error A2050: Value out of range

    If the development system is installed, there is a workaround.
    Do the following:

        - cd /usr/sys/conf

        - Edit `xenixconf'.  Search for the `nodename' line and enter
          the desired system name between the double quotes.  For
          example, for machine name = `foo' this line should read:

              nodename             "foo"

        - Similarly, edit the `master' file and correct the `nodename'
          line.  For machine name = `foo' it should read:

              nodename  NODE      "foo"

        - Run `make'.  This will rebuild the kernel data files and
          then link a new kernel.

        - Run `./hdinstall' to install the new kernel.

    Reboot the system, and the new node name should be in effect.  To
    verify this, run `uname -a' after rebooting.

    This bug has been fixed in 2.3.4.


QB3.  I upgraded XENIX.  Now I get `parity error' panics.

    Starting with XENIX 2.3.3, memory parity errors are detected by
    the kernel.  In previous versions, parity errors would cause the
    system to go silently flaky, but continue running.  Now, when a
    parity error occurs, the machine will panic saying:

        PANIC: memory failure - parity error

    If you get this error after installing an update, XENIX didn't
    break your machine -- it's been broken all along.  The most likely
    cause of this error truly is memory problems.  Run a good memory
    diagnostic overnight to try to locate the problem.  Keep the cover
    on the computer while running diagnostics; heat tends to push a
    marginal memory chip into failure.

    This problem can also be caused by a marginal power supply.  XENIX
    boxes often have more power hungry peripherals than your run of
    the mill MS-DOS PC.  For example, suspect the power supply if the
    panics occur as soon as the tape drive starts spinning.


QB4.  Login fails without prompting for password.

    If /dev/tty is missing or incorrect, you will get a `Login incorrect'
    message without ever being prompted for a password.  For security
    reasons, the `login' program goes directly to /dev/tty to ensure
    the password comes from the keyboard.  Your `tty' device should
    look something like:

        crw-rw-rw-   2 bin      bin        3,  0 Oct 24 04:09 /dev/tty

    If necessary, use the `mknod' command to recreate it.


QB5.  Can I use `gcc' instead of buying the SCO Development System?

    Yes, but the task is bigger than you think.  A compiler alone
    doesn't do any good if you lack header files, libraries, linker,
    etc.  Don't forget about make, yacc, lex, etc.  Fortunately, the
    repetoire of GNU software has grown to the point where you can
    fill in all these pieces.  Many folks, particularly Steve Bleazard
    and Ronald Khoo have done a lot of work getting `gcc' and the GNU
    utilities running on Xenix.  So, with anonymous FTP access and a
    little elbow grease, you can do it.

    First, you need to get a copy of gcc-1.40 from unix.secs.oakland.edu.
    This is a custom(C) distribution of `gcc' that contains most of
    the tools required to complete the free development system.  This
    includes make, m4, indent, ctags, patch, ranlib, ar, strings, gcc,
    flex, gdb, mprof, byacc, bison and rcs.

    Next, an alpha test version of a `libc' for Xenix is available
    from kate.ibmpcug.co.uk (in /ftp/pub/xenix/libc) and unix.secs.oakland.edu
    (in /pub/xenix); files XLIBC.README.Z and xlibc.shar.Z.  It is
    based on the Berkley Networking Release 2 tape.  The library is
    distibuted as a modification set and assumes that the aforementioned
    gcc distribution has already been installed.


QB6.  Program `foobar' dumps core with a stack overflow. [XENIX 286]

    XENIX/286 programs request a fixed amount of space for the stack
    in the executable file header.  A program that exceeds this limit
    will crash with a core dump.  To fix, change the header to ask
    for more stack space.  You can recompile your programs with the
    `-F' flag to increase the stack size.  You can change the stack
    size of existing programs by running `fixhdr' with the `-F' flag.
    This is not a problem on 80386 binaries that use a variable stack.


QB7.  Spell cannot initialize hash table.

    The `spell' script (included in the optional Text Processing
    package) uses an 8086 binary.  It needs to stuff a bunch of data
    into a single 64K segment.  If you exceed this limit, you will
    get an error saying something like:

        table = malloc(0xc848) fails
        sbrk(0) = 0x3868
        spell: cannot initialize hash table

    You can usually get enough space for `spell' to run by clearing
    out your environment first.  To do this, add the following line
    near the top of the `/usr/bin/spell' script:

        unset `env | sed -e '/^PATH=/d' -e '/^PS1=/d' -e 's/=.*//'`


QB8.  Will my laser printer work with the Text Processing Package?

    XENIX `troff' is based on a version written long before the advent
    of laser printers.  The only thing old troff understands is C/A/T
    typesetters.  Chris Lewis's `psroff' allows old troff to work with
    various devices, including Postscript and LaserJet printers.
    Version 3.0 is available from the comp.sources.unix archives.

    For production work, consider purchasing a device independent
    troff.  Some of the suppliers of `ditroff' are Elan, Image Network,
    Leverage, and SoftQuad.

    Another alternative is the `groff' package by the Free Software
    Foundation.  You can find it in any of the FSF archives -- but you
    will need `g++' to compile it.  You will still need a backend program
    to use a LaserJet with `groff'.  Some possibilities are `psroff'
    and `dvi2xx' on ftp.wu-wien.ac.at.


QB9.  Where is crypt?

    The DES encryption algorithm, the basis for `crypt', is categorized
    by the US Government as munitions.  (Three cheers for the cold
    war!)  SCO removes the crypt(S) procedure and crypt(C) command
    from XENIX so it may be exported.  US domestic customers may
    contact SCO to obtain SLS LNG190B.  If you simply need a crypt(S)
    procedure to compile programs that do password checking, you may
    get the SLS LNG255B `International Crypt SLS' from any of the
    aforementioned archive sites.  This provides a crypt(S) procedure
    that supports encryption but not decryption, and it does not
    include the crypt(C) command.  A number of non-domestic archive
    sites, for example the European GNU mirror sites, carry `crypt'
    replacements which were developed outside the US to avoid this
    export silliness.


QB10. How can email handle `internet' addresses or use a `smart host'?

    Neither the SCO XENIX mail transport (/usr/lib/mail/execmail) nor
    the mail program (/usr/bin/mail) can handle so-called `internet'
    addresses (e.g. joe@acme.com).  Nor can they use a `smart host'
    system to route your email to its final destination.  If you want
    to add these features, you need to install a replacement transport
    and reconfigure the mailer to use this transport.  For simple uucp
    connectivity, we recommend smail2.5 (archive name `smail3' published
    in comp.sources.unix volume 11).  If you also need network
    connectivity (e.g. SMTP mail) then you'll need a more full-featured
    mailer such as smail3.1, sendmail, or MMDF.

    Although smail2.5 fits right into the SCO mail system, some
    modifications and installation tricks are required.  Both Chip
    Salzenberg (see the comp.sources.misc archives) and Chip Rosenthal
    (contact chip@chinacat.unicom.com) have provided solutions.

    Whatever approach you use, you must tell /usr/bin/mail to pass
    messages off to execmail for delivery rather than handling them
    itself.  Do this by adding a line which says `set execmail' to
    the /usr/lib/mail/mailrc file.  You might also think about adding
    a nice, full-screen mailer program such as Elm or Mush.


QB11. Where can I find freely available software for Xenix?

    Many of the freely available programs on archive sites and published
    on Usenet will run under Xenix with little or no modification.  Assuming
    you have the Xenix Development System to compile it!  See news.answers
    and comp.archives for information on archive sites.

    The following systems maintain software archives that specialize in Xenix.

    anomaly
 
       Administrator:   Michael P. Deignan <mpd@anomaly.sbs.COM>
       Description:     Source code for SCO Xenix, UNIX, and ODT
       FTP Access:      anomaly.sbs.risc.net [155.212.2.2], login=anonymous
                          information in /SOFTLIST
       UUCP Access:     1-401-455-0347 (PEP), 331-3706 (V.32bis)
                          login=xxcp, passwd=xenix, information in ~/SOFTLIST
       Mail Server:     send email to "snarf@anomaly.sbs.com" with a Subject 
                          of "snarf" and the lines "snarf address <addr>"
                          (replace <addr> with your email address) and "snarf
                          help" to receive more information
       Comments         ftp is via serial connection so be patient, number of
                          connections limited to prevent congestion

    oakland.edu

      Administrator:    Ron Srodawa <srodawa@vela.acs.oakland.edu>
      Description:      SCO Xenix ports, particularly GNU software
      FTP Access:       unix.secs.oakland.edu [141.210.180.2],
                            login=anonymous, files in /pub/xenix

    wimsey

      Administrator:    Stuart Lynne <sl@wimsey.com>
      Description:      SLSs, SCO Unix (not Xenix) software in `custom' format
      FTP Access:       ftp.wimsey.bc.ca [192.48.234.1], login=anonymous,
                            information in /READ.ME.FIRST, /ls-lR.Z
      UUCP Access:      1-604-939-4782 (PEP), 1-604-937-7411 (V.32bis),
                            1-604-939-4756 (2400bps), login=nuucp,
passwd=nuucp,
                            information in ~ftp/READ.ME.FIRST, ~ftp/ls-lR.Z
      Guest Access:     same phone numbers, login=guest, passwd=guest
      Comments:         ftp is via serial connection so be patient, mostly
                            Unix oriented but some of it might work with Xenix


******************************************************************************
**********************  Disk and Filesystem Questions  ***********************
******************************************************************************


QC1.  Can I use a disk bigger than 1024 cylinders?

    Yes.  However, your root filesystem cannot extend beyond the 1024th
    cylinder, because that's as far as the BIOS can reach when booting
    the system.  The BIOS is bypassed after XENIX boots, so cylinders
    beyond 1024 can be accessed once XENIX is running.  It is not
    necessary to use a sector translation mode controller to reduce
    the number of cylinders.  The translation mode is very slow.


QC2.  Why won't XENIX recognize my SCSI disk?

    Not all versions of XENIX support SCSI and those that do won't run
    all SCSI adapters.  First, verify your N1 floppy says `Type: 386GT'
    and not `Type: 386AT'.  The AT version of XENIX (now obsolete) does
    not include any SCSI support.

    The GT version supports a limited number of SCSI host adapters.  The
    Adaptec AHA-154x is supported.  We've also used compatibles such as
    the Bustek BT-542B.  2.3.4 also supports WD1009V-SE1/2 and WD-7000-FASST2.
    If you've got something different, you probably need to get a driver
    from the board vendor.  The `SCO Hardware Compatibility Guide' (contact
    SCO sales for one) should be consulted whenever you have any hardware
    compatibility questions.

    Some typical installation mistakes are:

    - SCSI ID jumper for the root (boot) hard disk must be ID=0.
    - The BIOS must be set for drive C:=NONE in the CMOS setup program.
    - I/O port, memory address, or interrupt misconfiguration/conflict.
    - Terminating resistors installed only at ends of ribbon cable.
    - The parity jumper should be enabled on all drives and controllers.

    A word on terminating resistors:  Terminators must be installed on
    the two devices at the end of the SCSI chain.  If you have no external
    devices then one end of the chain will be the SCSI adapter -- so it
    gets terminators.  The last device on the ribbon cable also needs
    terminators.  The terminators must be removed from everything else on
    the SCSI chain.

    Note:  If you are using XENIX 386GT 2.3.1-2.3.3 you should install
    xnx252b for ISA or xnx150 for MCA.  This is an improved SCSI driver
    that yields a significant performance improvement.


QC3.  Where is the `/u' filesystem I created?

    When you create filesystems during the install procedure or with
    `mkdev hd', the filesystem is initialized but it isn't configured
    into the system.  To perform that final step you need to run `mkdev
    fs'.  For example, if you created a `/u' filesystem, run:

        mkdev fs /dev/u /u


QC4.  `WARNING!! - mounting: <usr> as <news>' message when booting.

    Due to a bug in the `mkdev fs' program, filesystems mounted below
    the root directory are labeled wrong.  For example, if you mount
    a device `/dev/news' onto directory `/usr/spool/news', then you
    will get a warning message when going into multi-user mode.  That's
    because `mkdev fs' labels the filesystem with the first component
    in the pathname (`usr' in this example) when it really should be
    the last component in the pathname (`news' in this example).

    This message is merely an annoyance and will not hamper system
    operation.  To eliminate the warning, relabel the filesystem with
    the last component of the mount directory.  For the above example,
    you may change the label from `usr' to `news' by running the command:

        fsname -s news /dev/news


QC5.  `POSSIBLE FILE SIZE ERROR' when running `fsck'.

    If `fsck' says `POSSIBLE FILE SIZE ERROR I=nnnn' don't panic.  It
    almost always means `fsck' found a `sparse file', not a true
    filesystem error.  A sparse file has holes in it.  They are created
    when a program skips over sections of a file it is writing.  The
    XENIX filesystem fills in those sections with zeros.  The XENIX
    filesystem doesn't even both allocating disk blocks for the sections
    full of zeros, thus creating a sparse file.  The complaint occurs
    because `fsck' calculates the number of disk blocks needed to
    store the file, counts up the number of disk blocks actually used
    by the file, and complains that the two don't match.

    When you get a file size error from `fsck' you should note both
    the `I=nnnn' inode number logged in the message and the filesystem
    which was being checked.  You can see what the file is by running
    the following command:

        ncheck -i <nnnn> <fsname>

    where <nnnn> is the number logged in the error message and <fsname>
    is the pathname of the filesystem device, e.g. `/dev/u'.  Chances
    are the file will either be a dbm(S) database file (in which case
    ignore the complaint, it's expected) or a `core' dump (in which
    case delete the `core' file).


QC6.  Is disk fragmentation curable?

    Not easily.  However, the steps to slow down fragmentation are
    pretty simple.

    XENIX maintains a list of available disk blocks.  As files are
    deleted, the released blocks are appended to this free list.
    Ideally, one would allocate adjacent blocks for new files.  However,
    blocks are added to and removed from the free list without regard
    for location.  Eventually, new files will be created with their
    data blocks scattered all around the disk.  This fragmentation is
    undesirable because it slows down disk accesses.

    To slow down the tendency towards fragmentation, periodically
    reorder the blocks in the free list.  To do this, dismount the
    filesystem (with `/etc/umount') and run `fsck -S'.  You will get
    a message saying:

        FILE SYSTEM NOT MODIFIED, STILL DIRTY.

    Don't worry -- ignore that message.

    To determine how badly your filesystems are fragmented, run
    `fsanalyze' by Michael J. Young, from comp.sources.misc.  You will
    need patchlevel 3 to analyze XENIX filesystems.

    The conventional cure for filesystem fragmentation is:

    - Make a full backup of the filesystem.  Use `cpio' (or `afio' if
      you've got it).  Do NOT use `tar'.  It doesn't backup device
      nodes, pipes, or directories.  You could use `dump', but we find
      it awkward.  (n.b.  Earlier versions of this FAQ claimed that
      `dump' would restore in a fragmented manner.  That is incorrect.
      Sorry for the misinformation.)

    - Recreate an empty filesystem with `divvy' or `mkfs'.  `divvy'
      is easier to use -- simply select the `create' option.  However,
      `mkfs' will be required if you want a non-default number of
      inodes.  Invoke `divvy' with:

        /etc/divvy -c 1 -b 1            # for 1st physical disk
        /etc/divvy -c 1 -b 1 -p 1       # for 2nd physical disk

    - Reload the filesystem from the backup.

    - Regenerate the `lost+found' directory.  Run:

        # Substitute appropriate name for `foo'.
        /etc/fsck /dev/foo
        /etc/mount /dev/foo /foo
        mkdir /foo/lost+found
        for i in 1 2 3 4 5 6 7 8 ; do
            for j in 1 2 3 4 5 6 7 8 ; do
                touch /foo/lost+found/x$i$j
            done
        done
        rm /foo/lost+found/x??
        /etc/umount /dev/foo

    Be very careful with this procedure.  We suggest you verify your
    backup is readable before zapping the filesystem.  One mistake
    (especially when running `mkfs' or `divvy') will trash everything.
    The filesystem you trash may be your own.


QC7.  Can I put a CD-ROM drive on my Xenix system?

    No.  The difficulty is not making Xenix talk to a CD-ROM drive.
    That's easy.  The problem is that a CD-ROM needs to be mounted so
    you can access the files on it, so Xenix would have to be extended
    with support for ISO-9660/High Sierra file systems.  Now, that's
    the tough part.  Refer to the FAQ on why Xenix doesn't have NFS
    for additional information on why that's so difficult.


******************************************************************************
*************************  Communications Questions  *************************
******************************************************************************


QD1.  How do I add more than 2 COM ports?

    Dumb serial cards (and internal modems) may be configured for XENIX
    as COM3 and COM4 -- with one big caveat.  Each COM port requires its
    own interrupt number.  If you have an unused IRQ and the Development
    System, you may build additional COM ports into the kernel.  To
    illustrate the procedure, we will add a COM3 configured as follows:

        I/O Addr: 0x3E8
        IRQ:      5
        device:   /dev/tty3a    Major=5, Minor=16
                  /dev/tty3A    Major=5, Minor=144

    1.  Edit `/usr/sys/io/sioconf.c'.

        The two lines in this file that describe COM1 and COM2 are:

            {0,IBM_BOARD,  1,4,0,  (sd)0x3f8,0,     0,MCRBIT3}, /*ibm COM1*/
            {1,IBM_BOARD,  1,3,8,  (sd)0x2f8,0,     0,MCRBIT3}, /*ibm COM2*/

        Add a line that says:

            {2,IBM_BOARD,  1,5,16, (sd)0x3e8,0,     0,MCRBIT3}, /*ibm COM3*/

        See `/usr/sys/io/sioconf.h' for details.

    2.  Edit `/usr/sys/conf/master'.

        The serial ports are defined by the line:

            sio     4    0577 104     sio   0   0   5   1   7   3   4  33  34

        The last four fields define the interrupt numbers used.  Change
        the `33' to a `5' since COM3 will be on IRQ5.  For reference,
        here is the mapping between IRQ lines and the master file
        `magic numbers':

            IRQ0  0       IRQ4  4       IRQ8  30      IRQ12  34
            IRQ1  1       IRQ5  5       IRQ9  31      IRQ13  35
            IRQ2  31      IRQ6  6       IRQ10 32      IRQ14  36
            IRQ3  3       IRQ7  7       IRQ11 33      IRQ15  37

    3.  Rebuild the kernel.  Run:

            cd /usr/sys/conf
            make

        Do not use `link_xenix' here.  You need to run `make' to get
        `sioconf.o' and the kernel data files rebuilt.

    4.  Install the new kernel.  Run:

            /usr/sys/conf/hdinstall

        This will make a backup of your current kernel to `/xenix.old'.

    5.  Create the device nodes.  Run:

            mknod /dev/tty3a c 5 16
            mknod /dev/tty3A c 5 144

    Reboot your system, and the new serial port should be there.


QD2.  Where is the `gettydefs' entry for 19200 serial lines?

    For historical reasons, terminal speeds of 19200 and 38400 are
    called `EXTA' and `EXTB', not `B19200' and `B38400'.  Entries `n'
    and `o' in the `/etc/gettydefs' file are for 19200 and 38400,
    respectively.  Once logged in you can change the line speed with
    the `stty' command:

        stty 9600               # set to 9600 bps (bits per second)
        stty exta               # set to 19200 bps
        stty extb               # set to 39400 bps

    A smart serial card is recommended for these two highest speeds.


QD3.  How can I have more mscreen(C) sessions?

    The mscreen(C) facility provides multiple sessions from a serial terminal
    by `multiplexing' your terminal (tty) line onto several pseudo-terminal
    (pty) lines.  XENIX is shipped with eight ptys enabled, that provides
    a system-wide limit of eight sessions through the mscreen(C) command.

    First off, you need to determine whether you are allocating mscreen(C)
    sessions wisely.  For example, SCO ships an `/etc/mscreencap' file
    that runs six sessions on a WY-60 terminal.  If you edit `mscreencap'
    and cut this down to three you immediately double the number of people
    who can run mscreen(C).

    You cannot increase this number beyond eight if you are running TCP/IP.
    (More about this in a moment.)  If you are not running TCP/IP, then
    you can increase the number of possible mscreen(C) sessions by:  first
    creating more ptys in the kernel, second creating the device nodes
    for the new ptys, and finally placing a `getty' upon each of these
    new ptys.

    To create more ptys in the kernel, increase the `nspttys' kernel
    parameter.  With XENIX 2.3.4, run the `configure' command interactively
    and select the `Multiscreens' option.  For older versions of XENIX,
    run `configure' manually.  For example, to provide sixteen ptys, run:

        cd /usr/sys/conf
        ./configure nspttys=16

    Once `nspttys' is set, run `link_xenix' and `hdinstall' to build and
    install a new kernel.

    Next, you need to create the device nodes in the /dev directory for
    these additional ptys.  Unfortunately, mscreen(C) uses a very poor
    naming strategy for ptys beyond the 8th.  Once you go beyond the
    /dev/ttyp7 in the base XENIX distribution, mscreen(C) next looks for
    not /dev/ttyp8, but rather /dev/ttyp01.  Therefore you should create
    the eighth pty with the commands:

        cd /dev
        mknod ttyp01 c 54 8
        mknod ptyp01 c 55 8
        chmod 666 ptyp01
        chmod 644 ttyp01

    You might notice that these names are the same ones used by `rlogind'
    and `telnetd' under SCO TCP/IP.  Unfortunately, to use these ptys for
    mscreen(C) you need to place a `getty' on them -- but if you do then
    rlogin/telnet will break.  Those running TCP/IP (and not weak of heart)
    can try editing the `/dev/ttyp' string in the `mscreen' binary and
    totally rename the pty devices.

    Finally, edit `/etc/ttys' (and `/etc/ttytype') to tell them about
    the new pty lines, and run `enable' upon each of the lines.


QD4.  Upgraded to 2.3.4 and flow control broke with mscreen(C).

    The 2.3.4 version of mscreen(C) was changed to run the tty line totally
    raw.  This is required so that the ^S and ^Q keys are passed onto
    programs that need them, such as `emacs' and Foxbase.  An unfortunate
    side effect of handling flow control on the pty side rather than the
    tty side is that response to flow control is a lot more sluggish.  Now,
    when you hit ^S you might get another screenful of data before the
    display actually freezes.

    If you never run any applications that require full 8-bit transparency,
    one way to make flow control more responsive is to rename `mscreen'
    to `/usr/bin/mscreen.sco' and install the following script in its
    place:

        :
        tty=`tty`
        ( sleep 5 ; stty ixon <$tty ) &
        exec mscreen.sco


QD5.  Terminals act funny, modems drop characters, help!!

    If you are losing characters on your serial lines, consider the
    following steps:

    * Ensure that flow control is working right.

    * If you are running dumb COM ports, either upgrade the UART chips
      to 16550As or switch to a smart serial card.

    * If you have a lot of users or lots of high speed data lines,
      increase the number of `clist' buffers in the kernel.

    * If you upgraded to 16550A UARTs and this helped but did not
      solve the problem, then adjust the FIFO trigger level.

    * If you are running high speed lines on a loaded system, adjust
      the `ttyhog' value.

    When diagnosing serial problems, start at the top of this list
    and work down.  If your flow control is broke, it will do no good
    to go poking around inside your XENIX kernel.


QD6.  Does XENIX support 16550A UARTs?

    The guts of a standard COM port is a UART (universal asynchronous
    receiver/transmitter) chip.  Most serial ports use the 16450 or
    an equivalent chip.  The 16550A is a pin-compatible, drop in
    replacement which adds 16-characters of on-chip FIFO buffering.
    The FIFOs reduce system loading and increase performance.

    Starting with 2.3.4, the `sio' driver recognizes 16550A UARTs and
    enables the on-chip FIFOs.  Older versions of XENIX merely treat
    this chip as an expensive 16450.  You can get 16550A support with
    any version of XENIX by installing the FAS driver written by Uwe
    Doering and based upon Jim Murray's `asy' driver.  FAS was published
    in alt.sources, and is available at most reputable archive sites.

    We recommend sticking with the National Semiconductor NS16550A.
    Many manufactures make usable 16450 clones, but some of the 16550
    compatible chips aren't so compatible.  Also, older versions of
    the 16550 are known to be broken.  Ensure yours have an `A' suffix.


QD7.  How do I increase the number of `clists'?

    XENIX buffers terminal characters in data structures called
    `clists'.  There is a fixed pool of clists on the system, and when
    that supply is exhausted incoming characters are dropped.  Therefore,
    the more active users you have on your system, the larger this
    pool of clists should be.  The default configuration is 100 clists.
    Each terminal line requires an average of 5 to 10 clists.  High
    speed modems need more.  A conservative strategy would be to
    allocate 15 clists per active terminal.  For example, if you have
    16 serial ports and 4 console screens active at once, allocate
    (16+4)*15 or 300 clists.

    To see the number of clists on your system, login as root and run:

        cd /usr/sys/conf
        ./configure -y NCLIST

    To change the number of clists, say to 300, login as root and run:

        cd /usr/sys/conf
        ./configure NCLIST=300

    then rebuild and install a new kernel and reboot.


QD8.  How do I change the 16550A trigger level?

    If installing a 16550A UART helped but didn't totally fix a lost
    character problem, and your system is heavily loaded, then there
    is something else you can try.  If you installed a 16550A and
    there was no effect at all, then skip this -- it won't help.

    The XENIX `sio' driver initializes the 16550A with a trigger level
    of 14.  This means that under continual data streams the UART will
    wait until 14 characters accumulate before telling XENIX to come
    get them.  This gives the system two character times to get in
    and service the COM port.  If XENIX does not service the port in
    that time the 16-character buffer will overflow and and characters
    will be dropped.  This might happen on a heavily loaded system.

    The trigger level is initialized at boot time from the 16-byte
    `sio_fifoctl[]' array.  This array specifies the UART control
    register initialization values for device minor numbers 0 through
    15.  Or more exactly, the minor number is ANDed with 0x0F to get
    the index into this array.  For example, the initialization for
    /dev/tty2a (minor=8) is in `sio_fifoctl[8]'.  The possible values
    are as follows:

        sio_fifoctl:    0xCF    0x8F    0x4F    0x0F
        trigger level:   14      8       4       1

    The standard value is 0xCF.  A smaller value will notify the system
    earlier that characters are waiting, thus providing the system
    more time to service the port, but increasing the number of
    interrupts generated by the port.

    As an example, here is how to change the trigger level for /dev/tty2a
    (and /dev/tty2A) to 8 characters (code=0x8F):

        cp /xenix /xenix.save           # make a backup!
        adb -w /xenix                   # use "/etc/_fst" if no "adb"
        * sio_fifoctl+8/x
        sio_fifoctl+0x8:        0xcfcf
                                  | | 
                                  | `---- This is the 8-bit value for the
                                  |          port we want (minor=8).
                                  |
                                  `------ This is the 8-bit value for the
                                          next port (minor=9).
        * sio_fifoctl+0x8/w 0xcf8f
        sio_fifoctl+0x8:        0xcfcf= 0xcf8f
        * $q


QD9.  How do I adjust the `ttyhog' value?

    Since XENIX has a fixed pool of clists, the kernel tries to prevent
    one tty from hogging all of them.  The limit is defined by `ttyhog',
    and defaults to 256 (0x100 hex).  This limit might be too low if
    you've got some particularly fast devices on a particularly slow
    system.  To change the `ttyhog' value you must patch the kernel
    image.  The following increases `ttyhog' to 512 (0x200 hex).

        cp /xenix /xenix.save           # make a backup!
        adb -w /xenix                   # use "/etc/_fst" if no "adb"
        * ttyhog/x
        _ttyhog:        0x100
        * ttyhog/w 0x200
        _ttyhog:        0x100=  0x200
        * $q


QD10.  Where can I find TCP/IP?  NFS?

    TCP/IP = many places.  NFS = forget it.

    Years ago, before SCO released a TCP/IP for Xenix, several vendors
    had products.  These include Novell (the old `Excelan Lan Workplace'
    package), and Network Research Corp.  Those packages are getting
    pretty old and crufty.  We recommend the SCO package.  You need
    to purchase and install either the SCO Streams Runtime or SCO
    Streams System before loading TCP/IP.

    Nobody makes an NFS for Xenix, and don't hold your breath waiting
    for one.  Newer versions of Unix provide either a `vnode' (BSD
    Unix) or `filesystem switch' (System V 3.2 and beyond) mechanism,
    that supports new filesystem types.  With Xenix, the filesystem
    support must be coded right into the kernel.  The task of merging
    NFS code with VP/ix hacks, Xenix-net hacks, etc. is more than can
    be justified.


QD11.  BSD based uucp can't connect to my machine.

    BSD based uucp sends even parity.  XENIX uucp expects no parity.
    Add:

        "" P_ZERO

    to the chat script in their (not your) `Systems' or `L.sys' file.
    For example, the following works on a Sun 3:

        xnxbox Any uucp 19200 5553333 "" P_ZERO "" \r in:--in: nuucp


QD12.  uucp truncates my system name to seven characters!

    This misfeature was introduced in the xnx155b supplement.  The
    story we hear is that SCO broke their `uucp' to cater to systems
    that choke on long system names.  There is a workaround.  For
    system name = `verylongname', add to every record in the
    /usr/lib/uucp/Permissions file:

        MYNAME=verylongname

    Next, rename /usr/bin/uuname to /usr/bin/uuname.sco.  Replace
    /usr/bin/uuname with:

        :
        if [ $# -ne 1 -o "X$1" != "X-l" ] ; then
            exec /usr/bin/uuname.sco $@
            exit 1
        fi
        head -1 /etc/systemid
        exit $?

    This allows programs using `uuname' to receive the correct,
    untruncated name.


QD13.  What is the uucp `windows' patch?

    uucp transmits data in packets, usually 64 bytes apiece.  An
    acknowledgement is required for every packet sent -- but not
    immediately.  A window of unacknowledged packets is allowed.  The
    default window size is three, that means `uucico' won't stop
    sending unless it falls more than three packets behind.  A three
    packet window isn't big enough for very fast media and long delay
    media.  The `uucico' binary can be patched to increase the window
    size by the following manual procedure:

        cd /usr/lib/uucp
        cp uucico uucico.old            # make a backup copy!!
        adb -w uucico
        * windows/x                     # display windows value
        _windows:       0x3
        * windows/w 7                   # change it to seven
        _windows:       0x3=    0x7
        * $q                            # done

    If you have XENIX 2.3.4 but not the Development System, use
    `/etc/_fst' instead of `adb'.  If you can't find adb on your
    system, look on the N02 disk.

    This change increases the window size to seven -- the maximum
    possible.  A similar change must be performed on the remote system's
    uucico because the actual window size is negotiated as part of
    the protocol startup.


QD14.  uucp gives `alarm' messages, eventually dies.

    If you run uucp in debugging mode (`uutry -x9') and see it get
    stuck like:

        alarm 1
        send 37777777621
        alarm 2
        send 37777777621
        alarm 3
        send 37777777621
        alarm 4
        send 37777777621

    and eventually die, this means your system got jammed waiting for
    a response that never came.  The most common cause of this problem
    running uucp across a modem with XON/XOFF flow control enabled
    (e.g. a Telebit modem with S58=3).  You can't do that; you must
    run with no flow control or RTS/CTS handshaking (on a Telebit that
    would be S58=0 or S58=2, respectively).  Other possible causes of
    this problem are serial cards with broken handshaking or running
    out of clists.


******************************************************************************
**********************  Display and Graphics Questions  **********************
******************************************************************************


QE1.  How come Xenix won't recognize my VGA display?

    Probably because you are running a very old version of Xenix.
    VGA support was introduced in release 2.3.0.


QE2.  How can I do a printscreen under XENIX?

    MS-DOS users can produce a screen printout with one keystroke.
    XENIX does not offer this builtin capability.  SCO's MultiView
    product provides this.  Also, it can be simulated with the following
    script:

        :
        # @(#) prtscrn     Print Screen
        # execute from cu as ~!prtscrn
        oldstty=`stty -g`               # save stty
        stty -echo ixon ixoff -ixany    # no echo
        /bin/echo '\033[2i\c'           # send screen to host
        # grab 24 lines, clean up trailing blanks, print it
        sed -e 's/ *$//' -e 24q | lp
        stty $oldstty                   # put stty back when done.

    Another approach is the `prtscrn2' program by Chip Rosenthal.  It
    grabs the contents of any console screen and sends it to standard
    output.  See comp.sources.misc.


QE3.  How can I blank the console display when it is idle?

    A screen blanker is built into the new console driver, provided
    by 2.3.4 or 2.3.3 via SLS xnx296a.  It is finicky about the hardware
    it likes.  Anything less than a VGA display will not work.  To
    enable the blanker, as root:

        cd /usr/sys/conf
        ./configure

    Select option 6 (MultiScreens) and enter a non-zero value for TBLINK.
    (The manual incorrectly calls this TBLNK.)  Then ./link_xenix and
    ./hdinstall.

    If the built-in blanker doesn't like your video adapter or you
    have an older version of Xenix, save the following script to a
    file and run it out of cron every fifteen minutes or so.  It will
    check if all console multiscreens have been idle for ten minutes
    or more, and if so switch the display to an unused screen (as
    configured by SCRN).

        :
        who -u | awk '
                $2 !~ /^tty[01][0-9]$/  {next}    # Not a console screen.
                $6 == "."               {exit(1)} # Screen in use.
                $6 ~ /^0:0/             {exit(1)} # Not idle long enough.
        ' >/dev/null 2>&1
        if [ $? -eq 0 ] ; then
                # Leading "\0" aborts any pending escape sequence.
                SCRN=10
                echo "\0\033[${SCRN}z\c" >/dev/tty01
        fi


QE4.  How can I do graphics under XENIX?  What programs are available?

    There are two approaches to graphics programming.  At the very
    lowest level, the screen(HW) manual page describes ioctl() codes
    to access the video display memory and controller.  Device-independent
    graphics is provided by the Computer Graphics Interface (CGI)
    package included with the XENIX Development System.  CGI drivers
    are provided for VGA, EGA, and Hercules displays; Epson, LaserJet,
    and Postscript printers; and HP plotters.  Several programs have
    been posted to the net that run under CGI, such as gnuplot,
    starchart, and gif.  See comp.sources.misc.


QE5.  CGI graphics mangles grey scale on a mono VGA.

    SCO fixed their monochrome VGA driver in version 2.3.3.   The
    default color mapping in CGI maps many colors with the identical
    total intensity. They appear as the same shade grey-scale display.
    Try using the CGI functions vs_color() and/or vsc_table() to create
    a color map that works with your display.  Try vsf_style() to
    create hatching or other fill-patterns in place of colors.


QE6.  CGI graphics fail on a LaserJet in landscape mode.

    A bug in the CGI 1.1.0 LaserJet driver causes all output to
    appear on a single line.  In landscape mode the driver puts out
    a spurious escape sequence `\033&a864V' that forces all output
    to the same position on the page.  You can either remove the
    offending escape sequence from the driver with a binary editor
    (keep a backup copy), or use a filter to clobber that sequence
    from the output.


******************************************************************************
***************  XENIX and MS-DOS Interoperability Questions  ****************
******************************************************************************


QX1.  Can XENIX share a hard disk with MS-DOS?

    Yes.  SCO directly supports an MS-DOS 3.2 partition on the same disk as
    your Xenix partition.  You must:

        - Install MS-DOS 3.2 bootable partition as the FIRST partition.

        - Install XENIX bootable as the next partition.

        - Select XENIX as the `active' partition.

    At the

        Boot
        :

    prompt either type `dos' for MS-DOS boot or press ENTER for XENIX.

    If you create any other type of partition (e.g. one of the new,
    larger sized MS-DOS 5.0 partitions) or forget to create the MS-DOS
    partition before loading XENIX, then you can still access it by
    booting from a floppy disk.

    It is possible to provide `dual boot' capability for other partition
    types, for example MS-DOS 5.0 large partitions, by making a modified
    version of the /dos program.  The following instructions, based
    upon a procedure by Vic Michael <victor@alchemy.UUCP>, show how.

        su                              # become superuser
        cp /dos /dos5                   # make a new version of dos5 program
        adb -w /dos5                    # use "/etc/_fst" if no "adb"
        * 0x3f:0x61?i                   # examine instruction at 0x61
        0x3f:0x61:      add     al,0x4
        * 0x61?w 0x604                  # change '0x4' to '0x6'
        0x3f:0x61:      0x404=  0x604
        * 0x61?i                        # verify change
        0x3f:0x61:      add     al,0x6
        * $q

    Now, you can say `dos5' at the `Boot' prompt to start MS-DOS.  You
    will NOT, however, be able to use the `dos(C)' tools to access this
    partition from Xenix.


QX2.  Can XENIX access MS-DOS disks?

    Yes, with limitations.  The commands on the `dos(C)' manual page
    provide access to MS-DOS disks (floppy and fixed) under XENIX.
    The limitation is that only conventional MS-DOS 3.2 hard disk
    partitions can be recognized.  Extended MS-DOS 3.2, old MS-DOS
    1.0, and large MS-DOS 4.0/5.0 partitions cannot be accessed with
    the existing tools.

    If you run into problems with the dos(C) commands, check that
    `/etc/default/msdos' provides proper aliases for the A:, B:, etc.
    devices.  Also, if root can access the MS-DOS fixed disk but users
    can't, check the permissions on /dev/hd0d (the XENIX name of the
    MS-DOS partition on the first fixed disk).

    The `mtools' package by Emmet Gray in comp.sources.misc provides
    better handling of MS-DOS devices under XENIX.  Modify the
    `devices.c' file to understand XENIX device naming.

        #ifdef M_XENIX
        struct device devices[] = {
            {'A', "/dev/install",  0L, 12, 0, (int (*) ()) 0, 0, 0, 0},
            {'B', "/dev/install1", 0L, 12, 0, (int (*) ()) 0, 0, 0, 0},
            {'C', "/dev/hd0d",     0L, 16, 0, (int (*) ()) 0, 0, 0, 0},
            {'D', "/dev/hd1d",     0L, 16, 0, (int (*) ()) 0, 0, 0, 0},
            {'\0', (char *) NULL,  0L,  0, 0, (int (*) ()) 0, 0, 0, 0}
        };
        #endif /* M_XENIX */

    If you assign `/dev/install' to the `A' drive, you don't need to
    worry about disk density when reading and writing.  However, you
    need to specify the full device name when formatting.  For example,
    to format a high-density disk in drive A: you must specify the
    full device name:

        dosformat /dev/fd096ds15


QX3.  Can XENIX execute MS-DOS programs?

    Yes.  You must purchase SCO VP/ix.  VP/ix emulates an 8086 PC/XT
    running MS-DOS.  The compatibility provided by VP/ix is fair with
    a significant performance penalty.  VP/ix will not run programs
    that use 80286 or 80386 instruction codes.  VP/ix is not available
    for XENIX/286.


QX4.  Can MS-DOS execute XENIX programs?

    No.  With the XENIX Development System, you can compile programs
    to execute under MS-DOS with the `-dos' command line switch.


******************************************************************************
*********************  The (in)Famous XENIX Cheat-Sheet  *********************
******************************************************************************


QZ1.  What the $%*&! is happening?

    Who am I?                           /usr/bin/who am i
    Where am I?                         /bin/pwd
    What am I doing?                    /bin/ps -f
    Am I having fun yet?                /usr/games/worms -R
    What's my user/group id?            /usr/bin/id
    Who did I login as?                 /usr/bin/logname
    What's my terminal?                 /bin/tty
    What are my terminal parameters?    /bin/stty -a
    Is terminal flow control working?   /usr/games/stars
    What is my current crontab file?    /usr/bin/crontab -l
    Do I have uucp jobs queued?         /usr/bin/uustat
    What is the system doing?           /usr/bin/w
    How is the system running?          /usr/bin/vmstat 10
    Has the system been swapping?       /usr/bin/vmstat -s
    Open files, inodes, processes?      /bin/pstat | grep '^[0-9]'
    What are the kernel parameters?     /usr/sys/conf/configure -x
    What versions are installed?        egrep "#prd|#set|#rel" /etc/perms/*
    What are the hardware settings?     /etc/hwconfig -h
    Is /etc/passwd correct?             /etc/pwcheck
    Is /etc/group correct?              /etc/grpcheck
    Is /etc/gettydefs correct?          /etc/getty -c /etc/gettydefs
    Do all files have owners?           /usr/bin/quot
    Who is using all the disk space?    /usr/bin/quot
    When did joe last login?            /usr/bin/last joe
    What files are owned by UID=944?    find / -user 944 -exec l -d {} \;
    Are file perms/owners set OK?       cd / ;
                                          /etc/fixperm -n /etc/perms/rts
    How about perms on uucp files?      cd / ;
                                          /etc/fixperm -nd UUCP /etc/perms/rts
    Check uucp file consistency.        /usr/lib/uucp/uucheck
    What are uucp access permissions?   /usr/lib/uucp/uucheck -v
    What is the print spooler doing?    /usr/bin/lpstat -t
    Stop the scheduler.                 /usr/lib/lpshut
    Restart a printer.                  /usr/lib/accept printer_name ;
                                          /usr/bin/enable printer_name

    [Following apply only if TCP/IP is installed.]

    Where am I?                         /usr/bin/hostname
    Is system foo alive?                /usr/bin/ping foo
    What machines are connected?        /usr/bin/netstat
    How is the network doing?           /usr/bin/netstat 10
    Where are the packets going?        /usr/bin/netstat -r
    Network not work?                   /usr/bin/netstat -s

    [Thanks to Jeff Liebermann.]


This collection is Copyright 1992-1993, Unicom Systems Development, Inc.
All rights reserved.  Permission granted to reproduce and distribute this
document provided this notice remains intact and any changes to the document
are clearly marked.  We have tried to review all information, but cannot
guarantee it for any particular purpose.  We do not offer any warranties or
representations, nor do we accept any liability for any damage resulting
from the use or misuse of information or procedures in this document.

[ end of sco-xenix 1.45 ]
Archive-name: sco-xenix-diff
News-answers-archive-name: sco/xenix-diff
Posting-frequency: monthly
Version: 1.45

*** /tmp/faq6722.prev-version Thu Jun 10 17:50:03 1993
--- /tmp/faq6722.curr-version Thu Jun 10 17:50:01 1993
***************
*** 1,4 ****
! @(#) sco-xenix 1.42 93/03/20 18:04:27
  
  Welcome to comp.unix.xenix.sco.  This newsgroup is about the XENIX
  operating system from the Santa Cruz Operation (SCO).  If you have an
--- 1,4 ----
! @(#) sco-xenix 1.45 93/06/05 22:03:21
  
  Welcome to comp.unix.xenix.sco.  This newsgroup is about the XENIX
  operating system from the Santa Cruz Operation (SCO).  If you have an
***************
*** 7,13 ****
  This is NOT the newsgroup for SCO UNIX or Open Desktop questions.  If
  you want to talk about other SCO operating systems, please show some
  courtesy and use an appropriate newsgroup, such as comp.unix.pc-clone.32bit.
! (Hey!  Don't blame me.  I voted against that silly name.) This is also
  NOT the right place for questions about XENIX implementations from
  other vendors.  Use comp.unix.xenix.misc.
  
--- 7,13 ----
  This is NOT the newsgroup for SCO UNIX or Open Desktop questions.  If
  you want to talk about other SCO operating systems, please show some
  courtesy and use an appropriate newsgroup, such as comp.unix.pc-clone.32bit.
! (Hey!  Don't blame me.  I voted against that silly name.)  This is also
  NOT the right place for questions about XENIX implementations from
  other vendors.  Use comp.unix.xenix.misc.
  
***************
*** 17,23 ****
  question to comp.unix.xenix.sco.
  
  If you haven't already done so, please read the periodic postings in
! news.announce.newusers entitled "A Primer on How Work With the Usenet
  Community", "Answers to Frequently Asked Questions about Usenet" and
  "Hints on writing style for Usenet".  You should also review the
  comp.unix.questions FAQ postings.  These answer general questions,
--- 17,23 ----
  question to comp.unix.xenix.sco.
  
  If you haven't already done so, please read the periodic postings in
! news.announce.newusers entitled "A Primer on How to Work With the Usenet
  Community", "Answers to Frequently Asked Questions about Usenet" and
  "Hints on writing style for Usenet".  You should also review the
  comp.unix.questions FAQ postings.  These answer general questions,
***************
*** 32,50 ****
  
  This message is maintained and posted monthly by Chip Rosenthal.  Your
  corrections, additions, and comments are encouraged.  Please mail them
! to chip@chinacat.unicom.com or uunet!chinacat!chip.  These questions
! and answers were written by Chip Rosenthal, Jeff Liebermann, Ronald
! Florence, Chip Salzenberg, Ronald Khoo, Vic Michael, and Stephen
! Bleazard.  Helpful contributions and comments have been provided by
! Andrew Phillips, Peter Funk, and Paul Warren.
  
  Please examine the date near the top of this message.  This message
  is updated frequently, and any version older than 90 days is possibly
  obsolete.  The latest copy of this message is always available via
! anonymous FTP from pit-manager.mit.edu [18.172.1.27] in the directory
! "/pub/usenet/comp.unix.xenix.sco".  It may also be retrieved via e-mail.
! Send a message saying "send usenet/news.answers/sco/xenix" in the body
! to "mail-server@rtfm.mit.edu".
  
  
 
******************************************************************************
--- 32,49 ----
  
  This message is maintained and posted monthly by Chip Rosenthal.  Your
  corrections, additions, and comments are encouraged.  Please mail them
! to chip@chinacat.unicom.com.  These questions and answers were written
! by Chip Rosenthal, Jeff Liebermann, Ronald Florence, Chip Salzenberg,
! Ronald Khoo, Vic Michael, and Stephen Bleazard.  Helpful contributions
! and comments have been provided by Andrew Phillips, Peter Funk, and
! Paul Warren.
  
  Please examine the date near the top of this message.  This message
  is updated frequently, and any version older than 90 days is possibly
  obsolete.  The latest copy of this message is always available via
! anonymous FTP to rftm.mit.edu in the "/pub/usenet/comp/unix/xenix/sco"
! directory.  It may also be retrieved via e-mail.  Send a message to
! "mail-server@rtfm.mit.edu" that says "send usenet/news/answers/sco/xenix".
  
  
 
******************************************************************************
***************
*** 86,91 ****
--- 85,91 ----
      QC4.  `WARNING!! - mounting: <usr> as <news>' message when booting.
      QC5.  `POSSIBLE FILE SIZE ERROR' when running `fsck'.
      QC6.  Is disk fragmentation curable?
+     QC7.  Can I put a CD-ROM drive on my Xenix system?
  
  
  ===> Communications Questions:
***************
*** 165,178 ****
  
  QA2.  What is the minimum system required to run XENIX?
  
!     For a minimal single-user XENIX system, we recommend an 80386SX-16
!     processor, 2MB to 4MB RAM, and 40MB hard disk.  For the full XENIX
!     system (Run Time, Development, and Text Processing), consider an
!     80386DX-20 processor, 4MB RAM, and 80MB hard disk.  Additional
!     resources will be required to support additional users, large
!     applications, networking, or X windows.  XENIX/286 will run on a
!     PC/AT, but you will quickly become frustrated with its limitations,
!     especially if you are a programmer.
  
  
  QA3.  Should I buy UNIX or XENIX?
--- 165,178 ----
  
  QA2.  What is the minimum system required to run XENIX?
  
!     You can build a minimal, single-user XENIX system with an 80386SX
!     computer with 2MB to 4MB RAM and 40MB hard disk.  For the XENIX
!     development system, you'll want at least an 80386DX computer with
!     4MB RAM and 80MB hard disk.  Additional resources (more speed,
!     more RAM, more disk) will be required to support additional users,
!     large applications, networking, or X windows.  XENIX/286 will run
!     on a PC/AT, but you will quickly become frustrated with its
!     limitations, especially if you are a programmer.
  
  
  QA3.  Should I buy UNIX or XENIX?
***************
*** 744,749 ****
--- 744,759 ----
      The filesystem you trash may be your own.
  
  
+ QC7.  Can I put a CD-ROM drive on my Xenix system?
+ 
+     No.  The difficulty is not making Xenix talk to a CD-ROM drive.
+     That's easy.  The problem is that a CD-ROM needs to be mounted so
+     you can access the files on it, so Xenix would have to be extended
+     with support for ISO-9660/High Sierra file systems.  Now, that's
+     the tough part.  Refer to the FAQ on why Xenix doesn't have NFS
+     for additional information on why that's so difficult.
+ 
+ 
 
******************************************************************************
  *************************  Communications Questions 
*************************
 
******************************************************************************
***************
*** 1420,1424 ****
  representations, nor do we accept any liability for any damage resulting
  from the use or misuse of information or procedures in this document.
  
! [ end of sco-xenix 1.42 ]
! 
--- 1430,1433 ----
  representations, nor do we accept any liability for any damage resulting
  from the use or misuse of information or procedures in this document.
  
! [ end of sco-xenix 1.45 ]
Archive-name: sco-sls
News-answers-archive-name: sco/sls
Posting-frequency: monthly
Version: 1.18

This posting summarizes recent changes to the repertoire of free
Support Level Supplements available from the Santa Cruz Operation.
These SLSs may be downloaded via anonymous uucp from sosco, scolon,
sosffm, and uunet, as well as the SCO SOS bulletin board.  A full
listing of available SLSs also may be retrieved from these systems.
Please see the monthly ``Welcome to comp.unix.xenix.sco'' posting (in
the comp.unix.xenix.sco newsgroup) for information on how to access
these systems.

*** /tmp/faq6906.prev-version Thu Jun 10 17:51:36 1993
--- /tmp/faq6906.curr-version Thu Jun 10 17:51:35 1993
***************
*** 1,9 ****
! @(#) sco-sls 1.17 93/04/28 01:14:16
! [ file sosco!/usr/spool/uucppublic/SLS/info retrieved on 4/28/93 ]
  
  List of SCO Support Level Supplements (SLS) available for transfer using UUCP
! Last updated: 04/27/93
  
  New on 04/27/93
  
  oda366b: Combined Updates 1.0 SLS for SCO Open Desktop 2.0
--- 1,29 ----
! @(#) sco-sls 1.18 93/06/06 00:32:36
! [ file sosco.sco.com:SLS/info retrieved on 6/5/93 ]
  
  List of SCO Support Level Supplements (SLS) available for transfer using UUCP
! Last updated: 05/11/93
  
+ New on 05/11/93
+ 
+ uod370a: Sdsk Update 1.0 SLS
+ 
+ New on 05/10/93
+ 
+ net367a: Has been removed.  Please refer to net367b
+ 
+ net367b: NVT Patch for INT14 for SCO IPX/SPX Release 1.0.2
+ 
+ New on 05/07/93 
+ 
+ net362b: CD-ROM SLS for NFS 1.2.0
+ 
+ uod368a: Security Supplement
+ 
+ New on 04/28/93
+ 
+ net367a: NVT Patch for INT14 for SCO IPX/SPX Release 1.0.2
+ 
  New on 04/27/93
  
  oda366b: Combined Updates 1.0 SLS for SCO Open Desktop 2.0
***************
*** 82,92 ****
         supplement file.
      
      4. Use the dd(C) command to transfer the supplement file to the
!        diskette.  For example, if the supplement file is "uod369a.Z" and
         is in the /usr/spool/uucppublic directory on your system, and
         the diskette is a 3.5-inch, 720K, the command would be:
  
!            dd if=/usr/spool/uucppublic/uod369a.Z of=/dev/fd0135ds9
  
          Substitute the appropriate device name for "/dev/fd0135ds9" if
   transferring to a diskette of another capacity.  However, always
--- 102,112 ----
         supplement file.
      
      4. Use the dd(C) command to transfer the supplement file to the
!        diskette.  For example, if the supplement file is "uod369a" and
         is in the /usr/spool/uucppublic directory on your system, and
         the diskette is a 3.5-inch, 720K, the command would be:
  
!            dd if=/usr/spool/uucppublic/uod369a of=/dev/fd0135ds9
  
          Substitute the appropriate device name for "/dev/fd0135ds9" if
   transferring to a diskette of another capacity.  However, always
***************
*** 96,101 ****
--- 116,124 ----
       5. Follow the installation instructions given in the cover letter file.
 
-------------------------------------------------------------------------------
  
+ 
+ 
+ 
  List of available Support Level Supplements (SLS)
  
  
***************
*** 256,261 ****
--- 279,292 ----
  lng353a.ltr.Z       2316 (15779) SCO UNIX System V/386 Release 3.2 version
4.0
       and SCO Open Desktop Release 2.0
  
+ net362b.Z         160450 (23534) CD-ROM SLS for NFS 1.2.0
+ net362b.ltr.Z       3631 (11644)
+ 
+ 
+ net367b.Z          21992 (20634) NVT Patch for INT14 for
+ net367b.ltr.Z       1129 (12103) SCO IPX/SPX Release 1.0.2
+ 
+ 
  oda366b.cust.Z    770481 (34349) Combined Updates 1.0 SLS for 
  oda366b.ltr.Z       4282 (42950) SCO Open Desktop 2.0
  oda366b.n135.Z    733169 (56577) 
***************
*** 393,398 ****
--- 424,444 ----
  unx365b.ltr.Z      4462 (39201) SCO UNIX System V/386 Release 3.2 Version 4.0
  unx365b.n135.Z   739519 (45460) SCO UNIX System V/386 Release 3.2 Version 4.1
  unx365b.n196.Z   736877 (48097) 
+ 
+ 
+ uod368.Z        105857(29520) Security Supplement for
+ uod368.ltr       5514 (62288) SCO UNIX System V/386 Release 3.2 Version 2.0
+     SCO UNIX System V/386 Release 3.2 Version 4.0
+     SCO UNIX System V/386 Release 3.2 Version 4.1
+     SCO Open Desktop Release 1.1 
+     SCO Open Desktop Release 2.0
+ 
+ 
+ uod370a.Z       16789 (37510) Sdsk Update 1.0 SLS for 
+ uod370a.ltr.Z    2624 (63743) SCO UNIX System V/386 Release 3.2 Version 4.0
w/ 
+          Maintenance Supplement Version 4.1
+          SCO Open Desktop Release 2.0
+ 
  
  xnx071.Z          39649 (58655) Mountain QIC-02 Tape Driver 
  xnx071.ltr        11793 (10901) SCO XENIX 286 Release 2.2.0
Archive-name: sco-efs
News-answers-archive-name: sco/efs
Posting-frequency: monthly
Version: 1.17

This posting summarizes recent changes to the repertoire of free
Enhanced Feature Supplements available from the Santa Cruz Operation.
These EFSs may be downloaded via anonymous uucp from sosco, scolon,
sosffm, and uunet, as well as the SCO SOS bulletin board.  A full
listing of available EFSs also may be retrieved from these systems.
Please see the monthly ``Welcome to comp.unix.xenix.sco'' posting (in
the comp.unix.xenix.sco newsgroup) for information on how to access
these systems.

*** /tmp/faq6997.prev-version Thu Jun 10 17:52:31 1993
--- /tmp/faq6997.curr-version Thu Jun 10 17:52:30 1993
***************
*** 1,9 ****
! @(#) sco-efs 1.16 93/04/28 01:14:15
! [ file sosco!/usr/spool/uucppublic/EFS/info retrieved on 4/28/93 ]
  
  List of SCO Extended Feature Supplements available for transfer using UUCP
! Last updated: 02/12/93
  
  New on 02/12/93
  
       efs130:  IBM Compatibility EFS
--- 1,19 ----
! @(#) sco-efs 1.17 93/06/06 00:32:35
! [ file sosco.sco.com:EFS/info retrieved on 6/5/93 ]
  
  List of SCO Extended Feature Supplements available for transfer using UUCP
! Last updated: 06/01/93
  
+ New on 06/01/93
+ 
+     efs131:  Compaq Supplement Version 1.6
+ 
+ New on 05/11/93
+ 
+     efs132:  IBM AT EFS for SCO XENIX
+ 
+     efs113:  Has been obsoleted please refer to efs132
+ 
  New on 02/12/93
  
       efs130:  IBM Compatibility EFS
***************
*** 98,103 ****
--- 108,114 ----
       5. Follow the installation instructions given in the cover letter file.
 
-------------------------------------------------------------------------------
  
+ 
  List of available Enhanced Feature Supplements
  
  Files ending in .Z have been reduced in size by the compress utility.  The
***************
*** 189,197 ****
  efs112.doc        48561 (32776) SCO UNIX System V/386 Release 3.2 Version 2.0
  efs112.ltr        25807 (62620) SCO Open Desktop Release 1.1 with Update F
  
- efs113.link.Z     63113 (21352) IBM AT EFS for SCO XENIX                    
- efs113.ltr         3281 (61479) SCO XENIX 2.3.4 for 386GT platforms only 
- efs113.n1       1474560 (22678)
  
  efs114.link.Z     70569 (50485) SCO UNIX System and SCO Open Desktop
Supplement
  efs114.ltr         4384 (54230) for IBM Model 35/40/L40
--- 200,205 ----
***************
*** 282,288 ****
  2) This supplement should be put on 3.5" high density media only.
  
  3) The file "efs128.mgr.Z" is the System Manger Documentation
-
______________________________________________________________________________
  
  
  efs129.Z          42438 (31030) Compaq IDA-2 Supplement for
--- 290,295 ----
***************
*** 301,306 ****
--- 308,377 ----
  efs130.doc.Z       3701 (17451) SCO UNIX System V/386 Release 3.2 Version 4.0

                                  SCO UNIX System V/386 Release 3.2 Version 4.1
      SCO Open Desktop Version 2.0
+ 
+ 
+ efs131.doc.Z      70411 (58015) Compaq Supplement Version 1.6
+ efs131.rtf.Z      90065 (53778) SCO UNIX System V/386 Release Version 4.1
+ efs131btld.Z      81835 (63300) SCO Open Desktop Version 2.0
+ efs131sm.doc.Z    89795 (07773)
+ efs131sm.rtf.Z   359831 (00807)
+ efs131v1        1474560 (33863)
+ efs131v2.Z      1378155 (44884)
+ 
+ Please note on efs131:
+ 
+ 1)  efs131.doc.Z is the ascii version of the documentation.
+ 
+ 2)  efs131.rtf.Z is a rtf version of the documentation
+ 
+ 3)  efs131sm.rtf.Z is a rtf version of the Server Manager documentation.
+     efs131sm.doc.Z is the ascii version of the Server Manger documentation.
+ 
+ 4)  This supplement should be put on 3.5" high density media only.
+ 
+ 
+ 
+ efs132.link.Z     62003 (59999) IBM AT EFS for 
+ efs132.ltr.Z       1565 (15458) SCO XENIX Release 2.3.4 for 386GT platforms
+ efs132.n1.Z      744439 (64132) (note that the "n1" file is 3.5" media only)
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
  
  
  
