FAQ: Yggdrasil Fall 94 Plug-N-Play Linux

FAQ: Yggdrasil Fall 94 Plug-N-Play Linux

Post by Dean Edmon » Sat, 18 Feb 1995 08:23:04



        Yggdrasil Fall `94 Plug-N-Play Linux: Frequently Asked Questions
        ----------------------------------------------------------------

Last Updated:   16 Feb 95

This document is an attempt to pull together many of the common problems
and questions raised by users of Yggdrasil's Fall `94 release of Plug-N-Play
Linux. Most of the software packages in P-N-P are not specific to Yggdrasil,
so there is bound to be some overlap with other distributions and sources of
information. However, based on the response that I received to the initial
release of this document, P-N-P users appreciate this format as it saves them
a lot of time chasing dead ends related to versions of packages that they
do not have. Also, having a common software base for discussion allows for
much more detailed solutions than is the norm.

If you have found (and solved) other problems with the Fall '94 release, or
if you have a better solution for any that I have listed here, please mail
them to me (de...@excalibur.net5c.io.org) and I will include them in the next
release of this document. I will continue to maintain this file until such a
time as I stop seeing Fall `94 related postings in the comp.os.linux.* groups.

The fixes given assume that you have the Plug-N-Play CD mounted on /system_cd,
know how to navigate the source code tree (/system_cd/usr/src/...) and know
how to rebuild and install the various components. If this assumption is
wrong, or if some part of the fix is unclear, then send me mail and I'll try
to help you out. But PLEASE read the online documentation first!

DISCLAIMER:
        Caveat Utilitor. Although I have attempted to ensure the accuracy of
        the information presented here, neither I nor anyone else whose name
        appears in this FAQ accepts any responsibility for your use of this
        information. If your system melts into a puddle of ferrous silicon
        sludge, or starts dialing up missile silos in rural Ohio, I don't
        want to hear about it. (Mind you, if you actually achieve a launch,
        drop me a line from prison!)

A NOTE ON FALL `94 VERSIONS & ERRATA:
        Yggdrasil has released several different `Revision's of the Fall 94
        distribution. You can determine your Revision by looking on the spine
        of the installation manual or, in some cases, on the boot floppy.

        Most of the items listed in this FAQ are relative to Revision C
        (kernel version 1.1.47) since that is what I have.

        Given the continuously evolving nature of both Linux and the PC
        hardware base, you may find that hardware which is simply incompatible
        with one Revision will work fine under a later Revision. When last I
        looked, Yggdrasil already had boot floppies available for Revision F
        which incorporates kernel version 1.1.81.

        So if you are having lots of trouble getting P-N-P to install on your
        hardware, try getting the boot floppy for a newer Revision from:

                ftp.yggdrasil.com:/pub/fall94

        Also, the errata sheet for Fall `94 varies depending upon the
        Revision that you have. You can get the latest errata sheet from:

                ftp.yggdrasil.com:/pub/fall94/errata

        In general I have tried to avoid repeating here items which are
        on the errata sheet. Some people have stated that they would prefer
        to see the latest errata sheet incorporated into this FAQ so that
        they can do one-stop shopping. If you have an opinion either way
        on this, then add your voice to the chorus and we'll see what
        happens with the next release.

The remainder of this document is organized as follows:

        0. CHANGES FROM THE PREVIOUS VERSION

        1. INSTALLATION

        2. MAIL, NEWS AND NETWORKING

        3. MISCELLANEOUS

        4. ACKNOWLEDGMENTS

------------------------------------------------------------------------------
0. CHANGES FROM THE PREVIOUS VERSION

The previous version of this FAQ was released on 15 Jan 95. Since then, the
following changes have been made:

o       The format has been changed from a bug list to a FAQ since many of
        the items listed here are not really bugs so much as Frequently
        Asked Questions.

o       This CHANGES FROM THE PREVIOUS VERSION section was added.

o       The old section 4 (MISCELLANEOUS ISSUES) was merged with the old
        section 3 (OTHER BUGS) and given a new title (MISCELLANEOUS).

o       Disclaimer added to increase my feeling of self-importance.

o       Acknowledgements added to assuage my guilt.

o       pppd-related item 2.12 has been removed as pppd is not part of the
        Fall 94 distribution.

o       The following new items were added:

1.3     RUNLINUX.BAT gives me errors whenever I try to use it.

2.15    When I telnet/ftp/ping my own system, why does it take so long
        to respond?

2.16    Why can't I telnet/ftp/ping my own system?

3.18    The `dos' command (DOS emulator) doesn't work at all.

3.19    Why won't my mouse work inside the DOS emulator?

3.21    `apropos', `whatis' and `man -k' all tell me `nothing appropriate'
        no matter what topic I give them.

3.22    Why is the `file' command so slow?

3.23    Whenever I try to umount the PNP CD, I am told `device is busy'.

3.24    Why is there so much activity on my CD-ROM drive?

------------------------------------------------------------------------------
1. INSTALLATION

1.1     The installation process hangs while trying to talk to my SCSI CD-ROM
        drive (e.g. Sony CDU-55S, Chinon CDS-435).

        REASON: During installation, Linux tests LUNs 0-7 on every SCSI device
                that it finds. Unfortunately, some SCSI devices freak if they
                see anything other than LUN 0 and the boot gets hung trying to
                reset the SCSI bus.

        WORKAROUND:
                One workaround is to specify `max_scsi_luns=1' at the
                LILO boot prompt. E.g:

                        boot: linux max_scsi_luns=1

                This is okay during initial installation but can soon grow
                tiresome if you do a lot of rebooting. Also, it means that
                your system won't autoboot correctly after a power failure.

        TEMPORARY FIX:
                A slightly more permanent approach is to change the default
                boot command used by LILO. This is done as follows (as root):

                        lilo -R "linux -R max_scsi_luns=1"

                Unfortunately, you have to remember to do this every time you
                rebuild the kernel. I've been told that adding the following
                to /etc/lilo.conf will also work, but I have not tried it
                myself:

                        append="max_scsi_luns=1"

        REAL FIX:
                The best solution is to add the offending device to the
                `blacklist' array in /usr/src/linux/drivers/scsi/scsi.c and
                rebuild the kernel. You can get the necessary values by
                looking at what the boot-up code displays for that device.

                Also, send a note to Yggdrasil letting them know of the
                change and they will try to incorporate it into a future
                release of the kernel.

        MORE REAL FIX:
                Upgrade to a later kernel version which already has the
                drive in its blacklist. For example, version 1.1.75 already
                has the Sony CDU-55S in its blacklist.

1.2     When I try using the graphical control panel to install optional
        components, the system goes away and hammers the disk for a long
        time, but never installs anything.

        REASON: There is a Catch-22 here. The graphical control panel
                needs the data files in /usr/lib/yggdrasil to do
                installations. Initially this directory is just a link to
                the CD. However, the first thing that the install script
                does is to break all the links back to the CD - which means
                that it can no longer find its data files (and isn't smart
                enough to detect that).

        FIX:    This is actually covered in the Errata sheet (if you got one),
                but I found Yggdrasil's explanation ambiguous and open to
                misinterpretation. So here is my version:

                        Before you can install any components using the
                        graphical control panel, you must install the
                        `usrbin' component from the command line. Do that
                        with the following command:

                                install_component usrbin

1.3     RUNLINUX.BAT gives me errors whenever I try to use it.

        REASON: Linux cannot load properly if DOS is using any high memory
                at all.

        FIX:    Remove any drivers or TSRs from your CONFIG.SYS or AUTOEXEC.BAT
                which reside in or otherwise use high, extended or expanded
                memory.

                In particular, remove HIMEM.SYS and EMM386.EXE from your
                CONFIG.SYS, don't use any DEVICEHIGH commands and don't use
                DOS=high or DOS=umb.

                In your AUTOEXEC.BAT file, remove any LOADHIGH commands.

                The safest thing is to simply remove everything from CONFIG.SYS
                and AUTOEXEC.BAT except what is needed to run the CD-ROM
                (e.g. MSCDEX.EXE).

------------------------------------------------------------------------------
2. MAIL, NEWS, NETWORKING

2.1     `uucico' and `cu' don't recognize chat-fail strings or any of the
        other nifty Taylor innovations.

        REASON: UUCP has been configured to support Honey-Dan-Ber (HDB)
                configuration files. Normally, Taylor UUCP let's you change
                between different configuration types, but whoever put together
                this release was such a big HDB fan that he explicitly disabled
                the use of any other configuration type.

        FIX:    Set the HAVE_TAYLOR_CONFIG option to 1 in
                /usr/src/comm/uucp-1.05/policy.h and rebuild all of the uucp
                tools.

                Then use `uuconv' to convert the existing configuration files
                in /usr/lib/uucp from HDB format to TAYLOR.

2.2     I have installed UUCP, but mail sent to other systems never arrives
        at its destination.

        REASON: The /usr/lib/smail/routers file is a link to
                /usr/lib/smail/routers.inet which in turn is set up to direct
                all offsite mail to a direct SMTP connection to the Internet.

                However, if you are using UUCP and do not have an Internet
                connection, this obviously will not work: all offsite mail
                will simply queue up in the /usr/spool/smail/input directory.

                Another problem is that `yggdrasil' is set up to be your
                smart-host - which means that if your system doesn't recognize
                the name of the target machine (and it probably won't) then
                it will try to send the mail to yggdrasil for resolution -
                which is unlikely to work because your system doesn't know
                how to reach yggdrasil via UUCP.

        FIX:    Relink /usr/lib/smail/routers to the uucp router. I.e:

                        cd /usr/lib/smail
                        rm routers
                        ln -s routers.uucp routers

                Note that the next time you send offsite mail, all of your
                previous attempts will suddenly appear in UUCP's queues, so
                you might want to consider cleaning out /usr/spool/smail/input
                first.

                To remove yggdrasil as your smart-host, replace all occurances
                of `yggdrasil' in /usr/lib/uucp/paths with the name of your
                main UUCP feed.

                For example, let's say that the main site which you call (or
                which calls you) for UUCP transfers is called `egghead'. Then
                take the existing /usr/libs/uucp/paths file:

                        smart-host      yggdrasil
                        %s      yggdrasil!%s

                and change it to look like this:

                        smart-host      egghead
                        %s      egghead!%s

                This assumes that `egghead' knows how to reach the rest of
                the world. If not, then you'd better get yourself a book on
                UUCP since that goes well beyond the scope of this document.

2.3     `biff' never tells me about incoming mail.
        `talk' complains that it cannot bind to its socket.
        `ytalk' complains that it cannot connect to new/old talk daemon.

        REASON: Each of these requires a special daemon. These daemons are
                started up by a `super-daemon' called `inetd'. But the
                Yggdrasil installation does not turn `inetd' on.

        FIX:    Add `/usr/sbin/inetd' command to the *end* of /etc/rc.d/rc.net
                so that `inetd' will run at the next reboot. Then either
                reboot your system or run /usr/sbin/inetd by hand as `root'.

2.4     `talk' and `ytalk' still complain.
        `talk' and `ytalk' start dialling up my modem

        REASON: They don't know what network node they are running on.

                If they start dialling your modem, it means that you have
                likely set up a dialer daemon to connect you to a host
                which is your nameserver. `talk' and `ytalk' are simply
                calling up the nameserver to find out who you are.

        FIX:    Add your system's name to the `localhost' entry in /etc/hosts.
                You can get the name by running the `hostname' command. For
                example, if your machine's name is `baby', then /etc/hosts
                should contain the following line:

                        127.0.0.1       localhost baby

                Note that if you add your system's fully qualified domain
                name, then it should appear at the start of the entry. E.g:
                if your domain name is `needs.new.shoes' then:

                        127.0.0.1       baby.needs.new.shoes localhost

2.5     I cannot reply to other users on my local system using `elm', but
        it works okay if I use `mail'.

        REASON: `elm' is hardcoded to use `yggdrasil.com' as its default host
                name. When local users send you mail this system name ends up
                in their return path. So when you try to reply you end up
                queuing up mail to yggdrasil.com.

        TEMPORARY FIX:
                Set up a /usr/lib/elm.rc file which sets `hostname',
                `hostdomain' and `hostfullname' correctly.

        REAL FIX:
                Recompile elm with the correct values. I have not done
                this yet, so I do not know the specifics.

2.6     UUCP seems to frequently get SIGHUP as soon as it makes a connection
        (i.e. gets carrier detect).

        REASON: Uncertain. Based on comments made by others, it may be modem-
                specific. Possibly the DTR lines flickers briefly when the
                carrier is detected.

        WORKAROUND:
                Use the `setserial' command to force the driver to ignore
                SIGHUP on callouts. E.g:

                        setserial /dev/cua1 callout_nohup

                The downside of this approach is that if the remote end
                really does hang up during a conversation, your end may
                remain connected.

        FIX:    Not known. One person found that sending the `X3' command
                to his modem instead of `X4' cured the problem, but this
                did not work with my setup.

2.7     `ftp' picks the wrong entry out of ~/.netrc which results in an
        invalid login.

        REASON: There is a bug in /usr/src/lib/libc-4.5.26/inet/ruserpass.c
                At line 193 (in routine rnetrc()) it has the following code:

                    if(hp = gethostbyname (tokval))
                        if (strcmp(host, hp->h_name))
                                continue;
                    else
                        if (strcmp(host, tokval))
                                continue;

                The lack of braces means that the `else' will be incorrectly
                bound to the inner `if' instead of the outer one. This means
                that under certain conditions it will reject a matching
                hostname and accept one which doesn't match.

        FIX:    Change the code to include proper braces:

                    if(hp = gethostbyname (tokval)) {
                        if (strcmp(host, hp->h_name))
                                continue;
                    }
                    else {
                        if (strcmp(host, tokval))
                                continue;
                    }

                then rebuild and install the C libraries and rebuild and
                install `ftp'.

2.8     `cu' will not try alternate phone numbers if the first one fails.

        REASON: `cu' does not try alternates if the user has explicitly
                requested a specific port, line or speed. I assume that
                the thinking here is that if the user has been that specific
                then `cu' should not go second-guessing him.

                `cu' stores the user's requested speed selection in the
                `ibaud' variable. If this is not empty, then it will not try
                alternates.

                However, each time `cu' tries an entry, it stores the speed
                for that entry in `ibaud'. The result of this is that after
                trying the first entry there is a value in `ibaud' and `cu'
                thinks that this means the user explicitly requested a speed.
                So it tries no alternates.

        FIX:    Modify the `main()' function of /usr/src/comm/uucp-1.05/cu.c
                as follows:

                1. Add the following local variable:

                        long tryBaud;

                2. Change the line which reads:

                        ibaud = strtol (optarg, (char **) NULL, 10);

                   to be:

                        tryBaud = ibaud = strtol (optarg, (char **) NULL, 10);

                3. Change the line which reads:

                        ibaud = qsys->uuconf_ibaud;

                   to be:

                        tryBaud = qsys->uuconf_ibaud;

                4. Change the line which reads:

                        if (! fconn_open (&sconn, ibaud, ihighbaud, FALSE))

                   to be:

                        if (! fconn_open (&sconn, tryBaud, ihighbaud, FALSE))

                These mods have been sent off to Ian Taylor and should
                hopefully appear in a future release of uucp.

2.9     `cu' reports `cu: no error' whenever I try to change a string
        variable using the `~s' command. Printing out the value of the
        variable later shows it to contain garbage.

        REASON: The string assignment code is storing a pointer to a block of
                memory which is later freed and reused for something else.

        FIX:    This requires changes to /usr/src/comm/uucp-1.05/cu.c which
                are too lengthy to list here. These mods have been sent off
                to Ian Taylor and should hopefully appear in a future release
                of UUCP. You can also get them directly from me, if desired.

2.10    `elm' and `filter' report that they cannot access /usr/spool/mail.

        FIX:    chmod +s /usr/bin/elm /usr/bin/filter

2.11    `minicom' immediately returns whenever I attempt to do a file transfer.

        REASON: `minicom' executes the `rz' and `sz' utilities with a switch
                telling them to do their logging into files in the
                /var/log/zmodem directory. However, there is no /var/log/zmodem
                directory and it is doubtful that rz/sz would have priv even
                if there were. So they fail as soon as they try to open the log
                files.

                The same thing is true of the other file transfer utilities.

        TEMPORARY FIX:
                Read the Yggdrasil errata sheet! It actually covers this.

                Remove the `-vv' switches from the `rz' and `sz' command lines
                in minicom's configuration menu. Without these, the tools
                will not attempt to write to the log files.

        REAL FIX:
                Either create the directory or reconfigure minicom to use
                a different default.

2.12    Deleted.

2.13    Every now and then my UUCP transfers will freeze partway through
        a file. Restarting doesn't help, it keeps freezing at the same place.

        REASON: Software flow control may be turned on in your modem or in
                the modem that you are talking to.

                This means that the modem will interpret certain byte values
                (0x13, 0x11) as flow control commands (XON, XOFF) and will
                remove them from the datastream.

        FIX:    Turn off software flow control and turn on hardware flow
                control. (If you have no flow control at all then you may
                experience a lot of retries due to data overruns.)

                To do this, modify the `chat' script for your modem in the
                /usr/lib/uucp/dial file (/usr/lib/uucp/Dialers if you are
                still using the HDB-format files) to turn on RTS and CTS
                handshaking. E.g. for a USR Sportster modem, the command
                would be `AT&H1&R2'.

                If your modem does not support hardware flow control (are
                there any such?) or for some reason you do not wish to use
                it, then try using the `a' or `j' UUCP protocols since these
                are capable of avoiding the flow control characters. Note,
                however, that the sites that you communicate must also be
                capable of understanding the protocol that you select.

                If you choose `j' protocol you will have to supply a
                list of characters to be avoided  since these
                are capable of avoiding the flow control characters. Note,
                however, that the sites that you communicate must also be
                capable of understanding the protocol that you select.

                If you choose `j' protocol you will have to supply a list of
                characters to be avoided (see the UUCP docs for more details).
                When creating this list, keep in mind that some modems ignore
                the eighth bit when looking for control characters. So as well
                as masking out 0x13 and 0x11 (^S and ^Q), also mask out
                0x93 and 0x91, etc.

2.14    Pnews gives the error `/usr/bin/egrep: No such file or directory'

        REASON: `egrep' is installed in /bin, but /usr/bin/Pnews is
                hard-coded to look for it in /usr/bin.

        FIX:    cd /usr/bin
                ln -s /bin/egrep egrep

2.15    When I telnet/ftp/ping my own system, why does it take so long
        to respond?

        REASON: The resolver libraries built into the network tools are
                trying to convert your host name into an IP address.
                As part of this process they are trying to contact a
                series of nameserver hosts which you probably don't
                have access to - so they take a long time to time out.

        FIX:    Take the steps shown below. In these, we will assume that your
                system name is `baby' and your domain name `needs.new.shoes'.
                (If you don't have a domain name, then do the steps anyway,
                but just leave the domain name empty in each step. If you
                continue to have problems, then try again using the domain
                name `uucp'.)

                1. Edit /etc/resolv.conf and get rid of all of the
                   `nameserver' lines (unless you are connected to a
                   DNS server and know what you are doing...in which case
                   you shouldn't need this help at all :-).

                   If there is a `domain' line then either get rid of it
                   as well, or replace the domain name with your own. E.g:

                        domain needs.new.shoes

                2. Edit /etc/host.conf and make sure that there is a
                   line which reads:

                        order hosts,bind

                   It is important that `hosts' come BEFORE `bind', otherwise
                   the resolver will go looking for remote nameservers before
                   it tries looking in your local /etc/hosts file.

                3. Use the `hostname' and `domainname' commands to ensure
                   that your host and domain names are set correctly. E.g:

                        hostname baby
                        domainname needs.new.shoes

                4. Make sure that your /etc/hosts file contains the
                   following line:

                        127.0.0.1       localhost

                5. Add an entry to /etc/hosts containing the IP address
                   of your site, followed by its fully qualified domain
                   name (FQDN) and any nicknames or shortforms that you
                   wish to use. E.g:

                        192.101.202.3   baby.needs.new.shoes baby me

                   If you do not have an IP address for your machine
                   (i.e. you are not part of a network) then just add
                   these names to the `localhost' entry. E.g:

                        127.0.0.1       baby.needs.new.shoes localhost baby me

                   Make sure that the FQDN comes first and that there are no
                   other entries in /etc/host which use any of the same names.

                   Now try to telnet yourself:

                        telnet baby.needs.new.shoes

                   You should quickly get a connection. If not, then
                   consider taking up heavy drink. :-)

2.16    Why can't I telnet/ftp/ping my own system?

        REASON & FIX:       See 2.15 above.

------------------------------------------------------------------------------
3. OTHER PROBLEMS

3.1     The arrow and paging keys don't work in Minicom/Elvis/vi.

        REASON: The console has two different sets of control sequences that
                it will send from the numeric keypad (where the arrow keys
                are located on many keyboards): the `normal' sequences, which
                follow the ANSI standard, and `application keypad' sequences
                which follow the DEC vt100 standard.

                The console can be switched between these two using special
                escape sequences, which in /etc/termcap are represented by
                the `ks' (keypad start) and `ke' (keypad end) capabilities.

                When an application wants to know the sequence sent by
                a particular key, it looks it up in the /etc/termcap file.
                However, there can only be one sequence per key in this
                file, which causes a problem: should termcap give the `normal'
                sequence or the `application' sequence for the key?

                As distributed, it contains the application mode sequences.
                When Elvis/vi starts up, it sends the `ks' sequence to
                put the keypad into application mode, so it works fine.

                However, `minicom' does NOT send the `ks' sequence at
                startup, so it ends up waiting for application mode sequences
                while the console sends it normal sequences.

        FIX:    1. Disable the `ks' and `ke' capabilities in the `console'
                   entry in /etc/termcap so that the keypad is always in
                   `normal' mode. (To disable them, simply remove their
                   strings so that they look like `:ks=:ke=:'.)

                2. Set the keys to all transmit normal sequences. This is
                   fairly easy because the normal sequences are commented out
                   at the end of the `con-unk' entry (upon which the `console'
                   entry is based).

                   So just swap the following two lines in the `con-unk'
                   entry:

                                :ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=^H:\
                        #       :ku=\E[A:kd=\E[B:kr=\E[C:kl=\E[D:kb=^H:\

                   removing the `#' from the start of the one line and
                   adding it to the start of the other.

3.2     When I try to print a postscript file on my non-postscript printer,
        using the `lpr -d' command, I get an error about `/usr/TeX/bin/dvips'
        not being found.

        REASON: /usr/bin/dvi_lp_filter has the pathname `/usr/TeX/bin/dvips'
                hard-coded into it, but Yggdrasil puts dvips into /usr/bin.

        FIX:    Change the pathname to `/usr/bin/dvips'.

3.3     Postgres won't run unless there is an /etc/hosts file with your
        node name and address in it.

        FIX:    Add your node name to the `localhost' line in /etc/hosts.
                See the FIX section of item 2.4 for details on how to do
                this.

3.4     When `inetd' is run, it gives the errors `pop2/tcp: unknown service'
        and `pop3/tcp: unknown service'. These also shows up in the syslog
        files.

        REASON: /etc/inetd.conf refers to services `pop2' and `pop3', but in
                /etc/services they are called `pop-2' and `pop-3'.

        FIX:    Add `pop2' and `pop3' as aliases to their respective entries
                in /etc/services. E.g: Change the following to lines:

                    pop-2       109/tcp                 # PostOffice V.2
                    pop-3       110/tcp                 # PostOffice V.3

                to be:

                    pop-2       109/tcp         pop2    # PostOffice V.2
                    pop-3       110/tcp         pop3    # PostOffice V.3

3.5     When `inetd' is run, it gives the error `ident/tcp: unknown service'.
        This also shows up in the syslog files.

        REASON: The supplied /etc/inetd.conf is set up to handle the `ident'
                service, but the supplied /etc/services file does not contain
                an `ident' service.

        FIX:    This is just a warning message and doesn't interfere with
                the operation of `inetd'. However, to fix it you merely
                need to add `ident' as an alias for the `auth' service in
                /etc/services. E.g. change the following line in /etc/services:

                        auth            113/tcp         authentication
                to:
                        auth            113/tcp         authentication ident

3.6     All of my times are coming out wrong by 5 hours.

        REASON: The bootup command files assume that your system's hardware
                clock is set to GMT, so they set Linux's internal time
                according to your timezone's offset from GMT.

        FIX:    If you only run Linux on your system, then use the /etc/clock
                command to set your clock to GMT and you'll be fine.

                If you also occasionally boot DOS or some other OS on your
                system and you don't want to have them using GMT, then remove
                the `-u' switch from all of the `clock' commands in the
                following files:

                        /etc/rc.d/rc.boot
                        /etc/rc.d/rc.multi
                        /etc/rc.d/rc.multi.install

                Then reboot. Double-check your hardware clock to make sure
                that it contains the correct time for your timezone and
                adjust it if it does not. For all of these checks and
                changes, be sure to use the /etc/clock command, NOT `date'.

                See /usr/doc/FAQ/time.doc for more details.

3.7     My times are still coming out wrong (and I don't live in the Eastern
        US).

        REASON: The `localtime' and `posixrules' files in /usr/lib/zoneinfo
                directory are linked to corresponding files in
                /usr/lib/zoneinfo/US/Eastern. So if you don't happen to live
                in the Eastern US, then the timezone corrections may be wrong.

        FIX:    Link them to the appropriate files in /usr/lib/zoneinfo. In
                my case, this meant:

                        cd /usr/lib/zoneinfo
                        rm localtime posixrules
                        ln -s Canada/Eastern localtime
                        ln -s Canada/Eastern posixrules

                See /usr/doc/FAQ/time.doc for more details.

3.8     The change to/from Daylight Savings Time didn't occur on the right day,

        REASON & FIX:       See previous item.

3.9     Whenever I use the modules utilities (`insmod' and `rmmod') they
        warn me that I have a version mismatch.

        REASON: Yggdrasil appears to have built the modules utilities under
                a different version of the kernel than that shipped in the
                distribution (1.1.47 for Revision C). The modules utilities
                are sensitive to that difference.

        FIX:    Normally you would simply rebuild the modules utilities so
                that they would pick up the version number of your current
                kernel. However, if you try this you will find that the
                version of the modules utilities shipped in the Fall `94
                release (modutils-0.99.14) is actually incompatible with the
                kernel that it was shipped with!

                So your best bet is to download the latest version of the
                modules utilities (modules-1.1.67.tar.gz as of this writing)
                and rebuild them.

3.10    When I try to do a `g++' compilation, I get lots of errors about
        missing include files.

        REASON: The Yggdrasil installation procedures for gcc and g++
                fail to copy the g++ include files from the CD.

        FIX:    cp -r /system_cd/usr/g++-include /usr/g++-include

3.11    The `ftape' driver just doesn't work.

        FIX:    Download the latest version (ftape-1.14b.tar.gz as of this
                writing) and rebuild it. It's MUCH better.

3.12    I sometimes get `floppy: dma problem?' messages accessing my floppy
        drives.

        REASON: I don't really know. However, this only happened to me if
                there was hard disk activity going on at the same time.

        FIX:    When I upgraded to kernel version 1.1.75 this problem (and
                several others) went away.

3.13    When I run the `selection' daemon I get errors about open_console()
        not being able to find its device, and about /dev/mouse being a
        non-existent device.

        REASON: `selection' assumes that /dev/tty0 represents the current
                terminal session, but there is no such device under Linux.

                Also, /dev/mouse - the default mouse device used by `selection'
                is intended for bus-mice, not serial mice. So if you have a
                serial mouse, it won't work.

        FIX:    For the console problem: ln -s /dev/console /dev/tty0

                For the mouse problem, run `selection' with the `-m /dev/ttyS0'
                option (assuming that your mouse in on /dev/ttyS0).

3.14    I tried recompiling <whatever> and the compiler told me that it
        could not find /usr/include/readline/tilde.h.

        REASON: /usr/src/lib/readline-2.0/Makefile neglects to move this
                file into /usr/include/readline even though it is required
                by `readline.h'.

        FIX:    Grab the file from the CD and stick it in the proper directory:

                    gunzip -c /system_cd/usr/src/lib/readline-2.0/tilde.h \
                        >/usr/include/readline/tilde.h

3.15    I modified /etc/termcap and now `init' reports that `getty' is
        respawning too quickly: but the changes to termcap are valid!

        REASON: In my case, the problem went like this:

                The `console' entry in /etc/termcap refers back to the
                `con-unk' entry. I had added two extra lines of definitions
                to the `console' entry (i.e. to override those in `con-unk').
                This caused `getty' to fail when it went looking for the
                termcap entry. The content of the extra lines didn't seem to
                matter, just their total size.

        FIX:    Not known. The bug could be in getty itself, or in the
                terminfo tools or libraries.

3.16    getty/uugetty gives a segmentation violation when the terminal type
        is unknown.

        REASON: line 903 of /usr/src/daemons/getty_ps-2.0.7e/main.c looks like
                this:

                        if (clear && *clrscr) {

                However, if the TERM environment variable is `unknown' or
                tgetent() could not find an entry for it, then `clrscr' will
                still be NULL at this point, which will result in a
                segmentation violation.

        FIX:    Change the offending line to:

                        if (clear && clrscr && *clrscr) {

                and rebuild the program.

3.17    I cannot de-iconify a window under `fvwm' using a 2-button mouse.

        REASON: `fvwm' is configured to use the `middle' button to de-iconify
                a window.

        FIX:    Add a line that says `Emulate3Buttons' to the mouse portion of
                /usr/lib/X11/Xconfig, immediately after the line that
                describes your mouse port. You will then be able to emulate
                the middle button by clicking both buttons simultaneously.

                Alternatively, you can set the right mouse button to do this
                by replacing the following line in
                /usr/lib/X11/fvwm/system.fvwmrc:

                        Mouse   3       TSIF    N       RaiseLower

                with these lines:

                        Mouse 3         I       N       Iconify
                        Mouse 3         TSF     N       RaiseLower

3.18    The `dos' command (DOS emulator) doesn't work at all.

        REASON: Yggdrasil shipped version 1.1.47 of the Linux kernel with the
                Fall `94 (Revision C) release. They also shipped version 0.52
                of the DOS emulator. However, version 0.52 of the DOS emulator
                is incompatible with all kernel versions after 1.1.30.

        FIX:    Get version 0.53 from one of the following places:

                        dspsun.eas.asu.edu:/pub/dosemu/
                        tsx-11.mit.edu:/pub/linux/ALPHA/dosemu/

                On my system this compiled and worked first time!

3.19    Why won't my mouse work inside the DOS emulator?

        REASON: If you have enabled the `selection' daemon then it will
                interfere with the DOS emulator's mouse driver.

        FIX:    Kill the `selection' daemon before starting the DOS emulator.

3.20    Yggdrasil has password-free access to your root account!

        The default .rhosts file that Yggdrasil places into /home/root
        lists a number of hosts at Yggdrasil. This gives all of those
        hosts password-free access to your root account.

        You should either delete this file or delete all the lines from it
        (assuming, of course, that you don't WANT Yggdrasil to have access to
        your root account  :-).

3.21    `apropos', `whatis' and `man -k' all tell me `nothing appropriate'
        no matter what topic I give them.

        REASON: All of these commands rely on the `whatis database' - which
                the installation does not automatically build and is therefore
                empty.

        FIX:    As root, run the following command:

                        makewhatis

                This will build the whatis database for all of the directories
                in your default MANPATH.

                See the man entry for `makewhatis' for more details.

3.22    Why is the `file' command so slow?

        REASON: The installation of the `usrbin' component neglected to
                install the /usr/lib/magic file used by the `file' command.
                Instead, it is just a link back to the CD. Thus, whenever
                you use the `file' command, it must start up the CD-ROM
                drive, which takes time.

        FIX:    Assuming that you have the Plug-N-Play CD mounted on
                /system_cd, do the following as root:

                        rm /usr/lib/magic
                        cp /system_cd/usr/lib/magic /usr/lib

3.23    Whenever I try to umount the PNP CD, I am told `device is busy'.

        REASON: You either have a session whose `current directory' is on
                the CD, or there is a process active whose executable is
                on the CD or which has a file open on the CD.

                Note that this may be complicated by the fact that many
                of the files and directories on your hard drive are really
                just links to files and directories on the CD. This is
                especially true for components which you have not yet
                installed. (Yggdrasil does this so that you can seamlessly
                use the uninstalled components directly from the CD - albeit
                with reduced performance - rather than cluttering up your
                harddrive.)

        FIX:    To find the offending process, use the following command:

                        fuser -m /system_cd

                This will list the process IDs which are currently using
                the filesystem mounted on /system)cd - i.e. the CD.

                You can then kill off any of those processes which you do
                not need running, or install and re-run those which you
                do need.

3.24    Why is there so much activity on my CD-ROM drive?

        REASON & FIX:       See previous item.

------------------------------------------------------------------------------
4. ACKNOWLEDGEMENTS

        The following people all had a hand, big or small, in getting this
        FAQ into your hands in its present form:

                Chip Kroll, Jeff Purcell, Dan Quinlan, Brian Taylor,
                Ian Taylor, Will Ware, Paul-Joseph de Werk.

        My apologies to anyone whom I have missed: feel free to drop me
        a line berating the lapse and I'll be sure to include you on the
        next release.

---------------------------------- End -------------------------------------

=========================================================================
  - deane

 
 
 

1. Yggdrasil Fall 94 Plug 'n' Play doesn't want to play.

I'm not able to boot and install the Fall 1994 Yggdrasil Linux CD-ROM
on my system. When I boot from the supplied floppy, LILO seems to load
the kernel OK, recognize my hardware devices properly during probing
and calculate my BogoMIPS for me, but the kernel crashes after trying
to mount filesystems. I've checked cabling, I/O address and IRQ
conflicts, tried removing unnecessary boards, made sure all of the
devices were configured as the manual suggested, etc., but nothing
helped. I'm pretty sure that everything I have is supposed to be
supported by the Yggdrasil kernel. Everything works OK under DOS, for
whatever that's worth.

From the error messages, it looks to me like the kernel isn't happy
about the block size on some device (the CD-ROM?), so it can't mount
the filesystem on the CD-ROM.

I booted Slackware Linux from a boot disk and root disk I borrowed
from a friend, and successfully partitioned my hard disk. His kernel
didn't have support for my CD-ROM compiled in, though, so I couldn't
get any further.

I've installed/maintained/used SunOS systems for years, but I'm new to
Linux, and I'm fresh out of ideas. Any help would be appreciated!

-------------

Here are the gory details:

My system configuration is:
        Intel Premiere II 90 MHz Pentium PCI motherboard with
                PCI EIDE, second IDE, 2 serial ports, par port and
                floppy i/f on board
        ATI mach32 video
        Sound Blaster 16 with CD-ROM interface and Sony CDU-33A drive
        3Com 3C509 ethernet board
        1G EIDE hard disk
        16M RAM

I typed "linux hd=2100,16,63" at the "boot:" prompt.

The part of the boot-time messages that seemed relevant to me said:

[stuff before here deleted]

Partition check:
  hda: WDC AC31000H, 1033MB w/128KB Cache, CHS=2100/16/63, MaxMult=16
  hda: hda1
RAMDISK: 104960 bytes, starting at 0x248b48
VFS: Disk change detected on device 15/0
ll_rw_block: only 2048-char blocks implemented (1024)
MINIX-fs: unable to read superblock
Unable to handle kernel NULL pointer dereference at virtual address
c0000000
current->tss.cr3 - 0001d000, %cr3 = 0001d000
*pde = 00102027
*pte = 00000027
Oops: 0000
[stack and register frame info deleted]

Thanks in advance for any advice....

--
Mark J. Blair   KE6MYK
Design Engineer
Silicon Systems, Inc.

2. Can't compile the Kernel

3. Diamond Stealth 24VLB & Yggdrasil Plug & Play Fall '94: help me run X!

4. Profile question.

5. Need Yggdrasil Plug-and-Play Fall '94 errata sheet

6. openBSD as a home LAN gateway

7. Plug-and-Play Linux (fall 94) and EtherExpress PRO - any words of wisdom?

8. Linux box won't bootup

9. Yggdrasil Summer 94 to Fall 94 upgrade -- HOW TO???

10. Fall '94 Plug and Play doesn't have X11R6???

11. Plug & Play Fall '94 gives MSCDEX-error

12. RUNLINUX.BAT reboots computer (Fall '94 Plug 'N Play)

13. YGGDRASIL Summer 94 - Plug 'n Play my BUTT!