login
Header Space

 
 

Linux Frequently Asked Questions 4/4 [monthly posted]

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
Date: Tuesday, November 24, 1992 - 7:22 pm

Archive-name: linux-faq/part4
Last-Modified: 92/11/20
Version: 1.11

*********************************************************
*                                                       *
*   Answers to Frequently asked questions about Linux   *
*                                                       *
*********************************************************

This post contains Part 4 of the Linux FAQ (4 parts).
It must be read *after* the 3 first parts. 

===================================8<====>8============================
CONTENTS (of this part)

        XI.     X11, THE MAXIMUM and MORE       (part4)
        XII.    NETWORKING and LINUX            (part4)
        XIII.   EMACS for LINUX                 (part4)

===================================8<====>8============================


XI. X11 THE MAXIMUM and MORE
============================
*** This section is maintained by Krishna Balasubramanian
*** <balasub@cis.ohio-state.edu>. Mail him if you have corrections,
*** additions, etc.
*** Last update: Tue, 17 Nov 92 19:06:57 -0500

XI.A. X386 GENERAL INFORMATION
XI.B. HARDWARE REQUIREMENTS: Supported Video cards.
XI.C. LINUX DISTRIBUTION: Files required, Current version.
XI.D. LEARNING/USING X: Pointers to X documentation.
XI.E. DEBUGGING STARTUP PROBLEMS: Checklist, Screen restoration, Hanging.
XI.F. XCONFIG: Video mode settings and common errors in Xconfig.
XI.G. X-APPLICATIONS: Compiling X programs.
XI.H. BUGS

The X11 directories are (depending on your version of X)
XLIB = /usr/X386/lib/X11/ or /usr/lib/X11/ 
XBIN = /usr/X386/bin/ or /usr/bin/X11/



XI.A. X386 GENERAL INFORMATION
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

QUESTION: What is the X11 release supported by Linux?

ANSWER: It's the X11R5 (xfree86-1.1). 


QUESTION: What is X386/xfree86?

ANSWER: X386 is the port of the X11 server to System V/386 that was
done by Thomas Roell (roell@informatik.tu-muenchen.de).  It supports a
wide variety of VGA boards.  X386 1.2 is included in MIT's X11R5
distribution.

The Linux X386 port was based on the stock distribution from X11R5,
from MIT and was done by Orest Zborowski (obz@sisd.kodak.com).

It has since moved to becoming part of the standard xfree86 distribution.


QUESTION: Where can I get X386 1.2 (X11R5)?

ANSWER: The X386 1.2 and xfree86 sources are available at any site that
distributes the X11R5 source (too numerous to list here, but includes
export.lcs.mit.edu)


QUESTION: Any tips on compiling X11R5?

ANSWER:
-  Dont do it.
-  XFree86 is distributed with a link kit so you can optionally
        include what you like in the server.
-  You will need lots of disk space (around 150Meg for the MIT core). 
-  Look at mit/server/ddx/x386/README and follow any instructions for
        your particular platform. 
-  Contact the X11 channel at linux-activists




XI.B  HARDWARE REQUIREMENTS:
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Approx: at least 4 megs of ram + swap ...slooooww. 10 Meg disk for X.
Another 6-10 meg of disk for GCC if you want to compile X11 programs.

QUESTION: What VGA boards are supported?

ANSWER: 
        et3000, et4000, gvga, pvga1a, wd890c00, tvga8900, ati ver. 5 or 6,
        8514/A, generic vga: 800x600 mono (Xmono), 640x480x16 (Xega).

        Diamond cards are not supported and will not be supported.
Contact Diamond if you have further questions or (better) buy another card. 

Standard x11v1.1 or xfree86 server:
        ET3000          (for ex. GENOA 5300/5400)
        ET4000          (Tricom, STB PWR Graph, Sigma Legend, etc.)
        GVGA            (Genoa 6400)
        PVGA1A          (Paradise VGA Professional) ... see BUGS.
        WD90C00         (Paradise VGA 1024)

supported by xfree86:
        TVGA8900        TRIDENT 8900 support is in xfree86      

        ATI             ATI VGA WONDER XL and most ATI VGA WONDER PLUS 
                        cards (chip version 5 or 6). 
                        Courtesy Rik Faith (faith@cs.unc.edu)
ATI Notes: An example Xconfig file is available from ftp.cs.unc.edu:
/pub/faith/linux/x386. Please note that:
1) clock.exe does *NOT* work with ATI cards.  
2) The ATI Wonder driver in xFree86 is known only to work with 
   chip version 5 and 6 cards.  This is most ATI VGA Wonder PLUS cards 
   and all ATI VGA Wonder XL cards (although sporadic problems have been
   reported even with these very recent cards). The driver will tell 
   you which ATI chip version you have, as will the ati.test program in
   XLIB/etc/ 


MONO    Any vga card should be able to use X386mono server. (At least
        640x480 with 800x600 virtual). Use vga2 section of Xconfig.

Also available as ALPHA test versions (join the X11 channel):
(The standard x386/xfree86 server will not handle the following cards)

8514    ATI graphics ULTRA, ATI graphics Vantage 
        (should work with any VESA standard 8514/A register compatible card?)  
        tsx-11 pub/linux/packages/X11/X8514/  (X8514new.T.Z x.8514.src.T.Z)
        courtesy Kevin Martin (martin@cs.unc.edu).

Xega    Generic 640x480x16 compatible server (originally for laptops).
        This requires a microsoft mouse at /dev/mouse for now
        and it does not use Xconfig so use environment variables
        to define the font path etc. in .xinitrc:
        export FONT_PATH=/usr/lib/X11/fonts/misc:/usr/lib/X11/fonts75dpi
        Works better with courier fonts so add to .Xresources:  
        *Font: -*-courier-medium-r-*--10* ..or whatever..
        A link kit is available at tsx-11 (you need gcc2.2.2).
        in pub/linux/ALPHA/Xega/X386.ega.T.Z
        courtesy Marc Hoffman (marc.hoffman@analog.com).

The Xega server is compiled with the gcc-2.2.2 libs and should be 
upgraded soon. It should however work with programs/fonts in new X11
releases as long as you ensure you have the shared images needed by
the server in /lib.


XS3     S3 chipset server (Jon Tombs jon@robots.ox.ac.uk)
I've started a FAQ on ftp.robots.ox.ac.uk (pub/linux/S3), but the Xserver 
is still very alpha. Unless you know something about X386 and are prepared 
to work at it, stick with the mono XFree86 server until you see different 
advice. I'd hope to get the server integrated with XFree86 in the next 
couple of weeks. This will make most the current problems go away.


WARNING: Do not try to bring up an Xserver that does not support your 
hardware. There have been cases where damage has resulted from pushing
the monitor beyond its specs.


QUESTION: What Mouses are supported?
        
ANSWER: Serial : Logitech, Microsoft, MouseSystems .... compatibles ...
        Busmouses : Logitech, microsoft, ATI_XL, PS/2 (aux).


QUESTION: Has anyone gotten the "Mini-DIN" mouse on an HP Vectra 486/33T 
to work? The slight info I've been able to find says it's PS/2 compatible.

ANSWER: First you need to create an entry in /dev for it:

mknod /dev/psaux c 10 1

There is no direct PS/2 mouse support in XFree86 yet, so to use the
mouse with X you'll have to use the mconv mouse protocol conversion
utility, which can be found on nic.funet.fi, in
/pub/OS/Linux/utils/tools/mconv.c. This program converts the packets
sent by the PS/2 mouse into the corresponding ones from a Microsoft
mouse, so you can fool X telling it you have a Microsoft serial
mouse instead. Instructions for use are included in the source file.
(Johan Myreen jem@cs.hut.fi)






XI.C. LINUX DISTRIBUTION
~~~~~~~~~~~~~~~~~~~~~~~~

QUESTION: What is the current version?

ANSWER: The newest public Linux release is x11v2.1. It is the linux 
release of xfree86-1.1. It was compiled with gcc-2.2.2d and is available 
for example at tsx-11 in pub/linux/packages/X11/xfree86-1.1/
The SLS distribution stays at 2.0.

QUESTION: What Files do I need to download?

ANSWER: For x11v2.1: There is a README file in the distribution directory.
Bring this down first and read it. Then get xbin, xman and xfonts.
You need xprog and xlibman only if you plan to compile X applications.
You dont need xkit if you want to relink the server.

**** You need The shared images libc.so.4 (4.1 or later) and libm.so.4 (4.0) 
in /lib/. All the X11 binaries use these. To compile programs you should
get gcc-2.2.2d7 or later and the 4.x libraries.

For Other servers see also the notes in the previous section.



QUESTION: Where do the X11 files go? What are they?

ANSWER: x11v2.1 uses the directories /usr/X386/bin/ (XBIN) for programs
and /usr/X386/lib/X11/ (XLIB) for support files.

The support files include default/example Xconfig, xinitrc, twmrc
which you should copy to your HOME directory (as Xconfig, .xinitrc
and .twmrc) and edit them to define your hardware and X11 setup.
The directory XLIB/etc/ contains some documentation which
should explain how to configure your video.




XI.D.  LEARNING/USING X
~~~~~~~~~~~~~~~~~~~~~~~

QUESTION: Where can I find the basic help for learning/using X ?

ANSWER: Try man X386; man Xserver; man xterm; man twm; man xinit
on any unix machine.  The man pages on xterm and twm will reflect
behaviour on Linux systems quite accurately. The others will give you
some bearing though not every option will work.  These man pages are
part of the xfree86 distribution.
        

QUESTION: What docs are available besides man pages?
        
ANSWER: The FAQ in comp.windows.x11 is extensive and has a bibliography. 
There is also the Xt-FAQ. Both are available from export.lcs.mit.edu in
pub/contrib/.





XI.E. DEBUGGING STARTUP PROBLEMS:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

QUESTION: How do I start up X?

ANSWER: Type 'startx' at the shell prompt.
Before doing this you should:
1) copy the file Xconfig.sample from the XLIB directory to your 
        HOME directory (/usr/root/Xconfig?) or to XLIB/Xconfig.
2) Edit Xconfig and set the video data for you card and monitor. 
   Use the clocks appropriate for your card and the modes appropriate 
   for your monitor for those clock values. To determine what values are
   appropriate read files in XLIB/etc and the Xconfig section below. 
3) Set the mouse device in Xconfig correctly....Use the busmouse entry
   for Logitech only. For other busmouses use microsoft.
4) Ensure that there is a termcap entry for xterm in /etc/termcap
   (One is available in the subdir /doc).
5) Ensure that the X11 binaries are in the path example:
   add the line PATH=${PATH}:/usr/X386/bin to ~/.profile or
   look at bash.ad in /doc.
WARNING: NONE of the modes (in the Modes line in Xconfig) should use a 
clock your monitor cannot handle.
Now type startx.


QUESTION: I cannot type in my xterm 

ANSWER: /dev/console must have major=4, minor=0
        rm -f /dev/console; ln /dev/console /dev/tty0


QUESTION: What are some of the common omissions and errors?

ANSWER: (Peter)
1) Add /usr/bin/X11 (or /usr/X386/bin) to your path.

2) Add the xterm termcap entry to /etc/termcap.

3) ln -s X386 X in the XBIN directory.
   ln -s X386mono X (if you want to use the mono server).

4) Run X as root first. This avoids some trivial problems.

5) If you change the font path entry .... X386 is finicky about
   the syntax. 

6) Make sure your mouse entry in Xconfig points to a legitimate serial 
   device  (or busmouse)... usually something like:  microsoft "/dev/ttys1"
   serial devices have major # 4 minor 64,65 ... busmouses are major 10.
   ls -l in /dev will show you the major and minor entries.

7) Need read/write/exec access to /tmp directory 

8) Use startx 2> x.err to log your error messages. If the server sticks 
   and you have to reboot you'll probably loose this stuff... see notes
   on `hanging' below.

9) See Xconfig problems and the device list below.

10) Have you read the X386 man page?


QUESTION: Why is the server unable to find some of the fonts?

ANSWER: First check that the directories listed in the font path exist
and have font files in them. Some of the servers are not set up to use 
compressed fonts. In such cases you have to uncompress the fonts in the
directory and run `mkfontdir .`. Read the man page on mkfontdir.


QUESTION: My server "hangs" Why?

ANSWER: (Peter) Quite often it isn't a hang. If the server grabs the
screen(and enters graphics mode) and then dies, it may return you to
bash *without* restoring the screen. In other words, just because you
see no output, don't assume it's running/hanging.  The way to test
this is to see if you can use a bash command to spin your disk. eg.:
sync; ls -l /bin.

Also - I *suspect* that (at least for me), you can kill the
server if you include the servernum option in the Xconfig

You can kill the server when you want to by typing ctrl-alt-backspace. 
Then a couple of ctrl-C 's in case your stuck in xinit.

The two line message
                X386 version .....
                (protocol Version ....
is returned from the X386 programme itself, so if you get
this (or if the screen blanks) X must be starting.


QUESTION: When I try to use X11 I got "Cannot connect to
server" or "process does not exist", any clue ?

ANSWER: The cause might be wrong fontpath variable setup in your
Xconfig; uncomment and set the correct fontpath variable.


QUESTION: Why cant I run more than 4 xterms?
          How can I have more than 4 pty's ?

ANSWER: set the number in the header include/linux/tty.h and 
recompile the kernel. Also make nodes :
        mknod /dev/ptypxx 4  minor  (where minor = 128 + xx)
        mknod /dev/ttypxx 4  minor  (minor = 192 + xx)
        This is for before linux-0.97pl6.... for later versions
        you only need to make the nodes.
        

QUESTION: I have trouble with my logitech Pilot mouse and X under
Linux, any clue ? 

ANSWER: (Thomas Roell?) There are TWO line of Logitech mice out there.
One is the programmable and uses MouseSystems protocol at startup.
X386 reprogramms them to use another protocol. If you specify
'Logitech' in the Xconfig, X386 assumes a mouse like C7 or S9 (notC7-M).
The second line is the MicroSoft compatible. Currently all newer
Logitech mice follows this practice, like the MouseMan. In that case
you have to say 'MicroSoft' or 'MouseMan'. 

From: jliddle@rs6000.cmp.ilstu.edu (Jean Liddle)
I just purchased a new logitech mouseman, and yes, the new X-Windows
(XFree86 as opposed to X386) requires that you use the "microsoft" mousetype.
However, if you turn Third Button Emulation off, the middle button WILL work.


QUESTION: How does X11 start up?

ANSWER: The startup involves the server (XBIN/X), and some
programs like startx and xinit.

Typing startx runs the script  XBIN/startx. Look through startx. 
For explanation of the server arguments try man Xserver.
startx does little other than gather arguments and then call xinit.

xinit **calls** X (X is linked to X386). xinit therefore continues to
run, and quite often you will receive error messages from xinit rather
than X itself. If you get the message "giving up", it means X has died
(quite probably it died immediately) and xinit has been unable to start
x applications. xinit processes the startup script xinitrc.


QUESTION: How can I see what startx passes to xinit, and xinit to X?

ANSWER:  Add the line:  set -x      near the top of startx.

To see what xinit passes to X, try: (Peter)

        rm XBIN/X
 - yes, if you have set it up correctly, X should only be a link 
 so it's safe to remove it.

 then create a shell script XBIN/X containing:
        #/bin/sh
        echo $*
 and run startx. You should see something like:
        X :0
 which is all xinit passes to X. If you don't see the :0, you may not
 have your DISPLAY=":0" set correctly. THEN RESTORE X!! :
        cd XBIN; rm X; ln -s X386 X


QUESTION: What devices does X depend on:

ANSWER: check your device numbers with ls -l /dev. You should have:

5 0 tty
4 0 tty0
4 0 console
4 1 tty1 (etc)
1 1 mem

4 128 ptyp0             pseudo ttys used by xterm/emacs etc 
4 129 ptyp1 (etc)       to talk to unix programs.
4 192 ttyp0
4 193 ttyp1 (etc)

4 64 ttys1              one of these is the mouse 
4 65 ttys2              or you have a busmouse.
10 x mouse              busmouse x = 0 => logitech      1 => ps/2 (aux)
                        2 => microsoft          3 => ATI_XL.
/tmp/.X11-unix/X0       socket used by X apps to talk to the server.
                        this is created by X386.




XI.F. Xconfig: Xconfig and Video mode settings.
~~~~~~~~~~~~
QUESTION: What do the mode names mean?

ANSWER: The mode names like "640x480" are used to match entries in 
the modes line with the modeDB entry which actually defines the mode. 
You can toggle between modes in the modes line  with ctrl-alt-numericplus. 
If you're experimenting with 640x480 you can define 
      modes "640x480a" "641x480b" "642x480c"
with corresponding entries under ModeDB so you can toggle between 
these three modes. Try man X386.

QUESTION: How do I compute the numbers for the video modes?

ANSWER: See if there is an entry that matches your chip/monitor in
XLIB/etc/modeDB.txt. Use the clock entries for your chip
and the mode entry for that clock appropriate for your monitor.
If you cant find a mode entry for a particular clock 'needed_clock'
but can find a mode entry (for your monitor) for a nearby clock value
'found_clock', scale all numbers in the modeDB entry by 
(needed_clock/found_clock). man X386 and Read CONFIG and Xconfig.notes.


QUESTION: How can I determine the clocks on the video chip?
        Where can I find clock.exe or clock.pas ?

ANSWER: The XFREE Team discourages the use  of clocks.exe and wants it
to be removed from all docs, since the new Server is better at
guessing the clocks than clocks.exe.

You can get X to tell you what it finds by commenting the
clocks entry in Xconfig. Use 'startx 2> x.err' to log the output.
If X starts up this file gets the clocks only after you exit.

I strongly advise using the 'modegen' spreadsheets to generate the 
appropriate settings. If I remember correctly you can find them in 
'pub/linux/packages/SLS/x4' called modegen.taz or something equally 
as obvious ... Good luck. (Andy asb@cs.nott.ac.uk)

The clocks entry in Xconfig serves as an index. example: 
clocks 1 2 
ModeDB
1 640x480 .....
2 800x600 .....
means the first clock on the chip will be used for the 640x480 mode
and so on. Usually one uses the MHz value for the clock for convenience
instead of 1 2  you probably have 25 28 ... etc.


QUESTION: What are the settings used with a trident-8900C?

ANSWER: To get X/SLS/Linux working with a trident-8900C, do the following:

1) From Frank Houston fh8n@uvacs.cs.Virginia.EDU 
vga256
  Virtual       1024 768
  ViewPort      0 0
  Modes         "1024x768" "800x600" "640x480"
Use the VESA monitor timings from the modeDB in the example Xconfig.
You do not need to specify the chipset or clocks.

2) From: Henk Vandecasteele henkv@cs.kuleuven.ac.be 
TRIDENT TVGA 8900C card with BIOS C2.11, A cheap color monitor AOC (CM-335) 
with a maximum horizontal frequence of 39.5
vga256
  Virtual       1024 1024
  ViewPort      0 0
  Modes        "912x684" "800x600" "640x480" 
# This mode drives my monitor to the limit (VESA timings for the rest).
 "912x684"     45      912  944 1104 1136    684  684  690  712 


QUESTION: What are common problems with Xconfig?
 
ANSWER:If X isn't firing at all, or even if it clears the screen and
crashes (see below) you almost certainly have a fault in Xconfig.

1. Note that the server X interprets Xconfig. (not xinit)

2. If you have a fault in Xconfig it is possible to crash or hang the
server without getting an error message.

3. leave the two paths at the top of Xconfig commented out when testing.

4. test with only one graphics mode included - one you are most sure of.

5. If you make a mistake in the mouse section, you will (I understand)
get an error message, so if you don't get some mouse error, try
elsewhere first. (eg "No such file or directory" indicates you have a
fault in the "/dev/ttyxx" line, or /dev/ttyxx doesn't exist.

6. *NB* X looks in your home directory first to find an Xconfig. make
certain it's using the one you've been working on!

7. you need double quotes (") around your chipset and modes: eg
        chipset "et4000"
        Modes   "640x480" "640x480a" "800x600"
and around the /dev/ttyxx eg.:
        microsoft "/dev/ttys1"

8. Check your VGA section and modeDB first.

9. ensure ModeDB clock speeds match the VGA section. Comment out any
unused lines in MODEDB.

eg  clocks  25 36 00 00 00 00 00 00 

then you *must* have (and only have) lines under modeDB corresponding
to speeds 25 and 36. If you have one with (say) 62 uncommented out in
the modeDB section in place of the 36 line, you will cause the server to
die immediately with no error message.

10. a syntax error (such as an unrecognised word) in Xconfig will cause
a death with no warning.

11. videoram must equal the amount of display ram on your chip.


QUESTION: What do I use in my Xconfig file to use the bus mouse?
Logitech doesn't work with my Logitech busmouse.

ANSWER: (Nathan I. Laredo)
Here are the mouse lines from my Xconfig:

BusMouse   "/dev/mouse"

You may add a sample rate if you want, but chances are, unless the model
number on your mouse matches mine: PC-93-9MD it probably will cause your
machine to lock up, as I've gotten several reports saying that.

According to the X386 documentation, non-logitech mice do not support
a sample rate.





XI.G X-APPLICATIONS: Compiling X Programs.
~~~~~~~~~~~~~~~~~~

QUESTION: Does anyone know where I can find the libobz.a library ?

ANSWER: This library contained the socket stuff, when X386 V0.1 was
released. Meanwhile it has found it's way into the kernel, so
remove -lobz from the link step in the Makefile.


QUESTION: I get _setjmp undefined when linking xv from .a files.

ANSWER: You are trying to link a program compiled with gcc-2.2.2
and setjmp has changed sice then. Recompile xv from the source
using the latest gcc.


QUESTION: How do I compile an X application that has an Imakefile?

ANSWER:
        Type xmkmf to generate the Makefile.
        Type make.


QUESTION: gcc complains the X libraries are not found or links static.

ANSWER: Check out the -nojump -static options of GCC ... read the GCC FAQ.
        You can tell gcc what directories to search with -L. 




XI.H BUGS:
~~~~~~~~~
Restoration of the text screen fails on some hardware.

Cant compile Xaw programs without -static in versions x11v1.1 or older.
There is a glitch with the Xaw shared libs ... I haven't seen
this in a while anyway its fixed in newer releases.

Color problems with Xega .... fixed in latest version on tsx-11.

from chuck@coplex.com (Chuck Sites)
It is possible to run X386 on a Paradise VGA Plus. The X386.0 doc file
has a small misprint.  The Chipset is not pvga. It's pvga1.   Anyway,
under the line in /usr/X386/lib/X11/Xconfig VGA256, add, `chipset "pvga1"`.
You will need a 512k board.  There seems to be a problem with 800x600 mode
that causes pixels to be misplaced in the center 1/3 of the screen. 640x480
works fine.  Anybody out there might have a fix for that? You may want to use
X386mono with 800x600 instead.


Fix for missing numlock control in xfree86-1.1.
use xmodmap to change the mapping:
  clear mod1
  add mod1 = Alt_L
  keysym Alt_R = Mode_switch
  add mod5 = Mode_switch
David (Dawes)

Sources for X11_FAQ: 
Steve Kotsopoulos, Peter Hawkins, John Morris, MM. Corsini, K. Balasubramanian.
Direct comments, questions, complaints to krishna at:
balasub@cis.ohio-state.edu

XII.    NETWORKING and LINUX
============================
*** This section should be maintained by Philip Copeland
*** (p_copela@csd.uwe.ac.uk). This first version was built by myself
*** (MM. Corsini) from the original material posted by Phil in c.o.l.
*** I hope the information provided below are readable and useful.
*** Last Update: 16 Nov 92 01:12:45 GMT

     **** In the ANSWER part the I/MY stands for P. Copeland ****

QUESTION: Where can I find useful information about networking for
Linux ?

ANSWER: Join the NET channel on the multi-channel list. The
FAQ/INTRODUCTION written by P. Copeland should be posted every 2
weeks.

QUESTION: What do I need to get started ?

ANSWER: To use TCP/IP on local ethernet you will need the following

   1)      A linux machine with linux kernel 0.98.4 or newer

   2)      A WD8003/WD8013 compatible MEMORY MAPPED ethernet card
           but WD8013 is probably the best to use due to its
           electronic reconfiguration rather than jumper settings
           although you'll probably need DOS to set it up

           You should note that the kernel will always claim to
           have found a WD8013. If this bothers you, change the printk
           in linux/net/tcp/we.c to reflect your hardware.

           *NOTE* no special hardward is needed to communicate with
           yourself

           Currently I know of three cards that will work (please tell
           me if there are more) support for the ne2000 is being
           worked on but little has been heard of it's progress

           These are the WD8013, WD8003, and the SMC Elite 16.

   3)      If you are only going to use 'loopback' mode, you probably
           won't need a card either! A special loopback device is used
           to comunicate with yourself

   4)      some tcp/ip software eg telnet/ftp/talk/finger/rcp/
           rsh/various other stuff like daemons etc...

   5)      Know the IRQ's of your internal cards.

   6)      A lot of coffee and one of those stress relieving
           gadgets you can get in the local market.

QUESTION: Where to start ?

ANSWER: First off you'll need to rebuild the kernel with networking
compiled into the linux kernel. You do this by removing the '#'s in
linux/net/Makefile on lines 13,14 and 26 if they haven't already been
removed. Next you'll need to calibrate  your network card. Decide what
IRQ setting you'll need for the network card.
    Anyway for those who are frexible, the standard kernel parameters
for this are :-

        INT             =       5
        mem             =       D0000
        i/o addr        =       280
        memory start    =       D0000
        memory end      =       D2000   (8K block for 8003, make it D4000
                                         16k for the wd8013 )

but these can be changed on lines 12-17 (16,17 being the most important)
of the file linux/net/tcp/Space.c

*NOTE* if you have problems with the memory start addr, please get in touch 
with bir7@EDU.Stanford.leland

        Future versions of the TCP/IP code will be setable at boot time via
ioctl's. For those of you who do not have the wd8013 card, please refer to 
the ethernet board documentation on the jumper settings you may have to change.

        Right, compile the kernel (You may need to do a 'make clean dep Image')
and hopefully on the next reboot with the new kernel it should detect your card
telling you of the ethernet number it is, and also that a new family of
sockets  (AF_INET) are available.
        If your card is incorrectly inserted (I know you wouldn't) it could
cause all kinds of errors to be reported.

        At this stage you have a kernel which supports tcp/ip via the
ethernet board in your machine but knows nothing of networking, that is
where the software in the tcpip suites becomes important as it is this
software that understands networking protocols.

QUESTION: What files do I need and setup info ?

ANSWER: the 0.8.0/0.8.1 suites have reasonable enough documentation to
get the various working parts out into somewhere useful on your
system, typically /usr/etc/inet and /etc

having followed the net install shell script you'll probably find that
it asked some questions that you hadn't a clue about,... well ok lets
look at it.

        Enter Ip Address for (your host) (aaa.bbb.ccc.ddd)

here you are being asked what network address you would like to be known
as. Ip address are unique numbers so as to identify you machine from 
another on a multiuser network.
        Ip numbers are typically of the 0-255.0-255.0-255.0-255 range
so valid answers are 243.123.4.23 or 192.35.173.3 etc but 324.234.545.2
is completely wrong.

        Enter Net Address for (your hostname) (aaa.bbb.ccc.0)

Here you are being asked for your subnetwork address.
A quick way of getting the question right is to type in whatever you 
have for your ip address but make the last number 0 eg if my ip address
was 135.56.33.155, my 'safe' Net address would be 135.56.33.0
0.0.0.0 means the whole world and is probably what slip people shoul use.

        Enter Router Address for (your hostname) (aaa.bbb.ccc.ddd)

Routers tend to have 2 ethernet boards in them whith differing network
numbers for them so that they can 'bridge' between different numbered
networks, eg you could not talk directly to a ip address of 192.35.173.12
from an ip address of 192.35.175.15 but a machine in the middle with
two ip address 192,35.173.4 and 192.35.175.3 can 'collect' the data from
the xxx.xxx.173.xxx network and transfer it to the xxx.xxx.175.xxx network
All we have to do here is stick in the ip address of the local router
in this case it would be 192.35.173.4 (clear as mud I know but it's as good
as it gets) If you don't have a router,... just stick in 0.0.0.0 meaning
don't route anything.

        Enter Domain name for (your host)

This isn't too bad, domain names are 'convenient' labels eg uwe.ac.uk
is the domain name that appends to all the machines on site so that a sun
called csd would be known as csd.uwe.ac.uk

        Name Server for Domain (aaa.bbb.ccc.ddd)

If your networked to the local Uni/technical collage your in luck and it
shoul be able to serve you with a name server service, find out from your
local network controller what machine distributes the service. If you are
unlucky enough NOT to have a nameserver, just stick in your own IP address,
you'll just have to run your own nameserver.

Ok time for a quick check of what you *SHOULD* have
in /usr/etc/inet

config          - This sets up the ethernet ip tables
inetd           - Daemon process that invokes other network daemons
inetd.conf      - Configuration file for inetd about the other daemons
install.net     - The semi automatic script I just talked about
named-xfer      - Used for updating the nameserver records
named.reload    - used to load in the named
named.restart   - user to stop and restart the named process
rc.net          - a network rc file called from /etc/rc.local from /etc/rc!
services        - a file specifying what 'port' numbers certain services are 
                  available on
telnetd         - daemon for connecting reqesting external sites to your 
                  machine for interactive logins
named           - the nameservice daemon


QUESTION: What is DNS ?

ANSWER: DNS stands for Domain Name System.  It doesn't rely on a
single large table; it is a distributed database system that doesn't
bog down as the  database grows. DNS currently provides information on
approximately 700,000 hosts. DNS also guarentees that the new host
information will be disseminated  to the rest of the network as it is
needed. 

QUESTION: What are the configuration files for the DNS nameserver; and
how can I fix them ?

ANSWER: DNS configuration reqires that a number of files be edited in
the case of Linux these files are minimally (resolv.conf can be
optional) 
        /usr/etc/inet/
                resolv.conf
        or
                named.boot
                a_hosts_table (normally called named.hosts)

named.boot:     domain  uwe.ac.uk
                primary uwe.ac.uk       /usr/etc/inet/a_hosts_table

resolve.conf:   domain          uwe.ac.uk
                nameserver      192.35.173.2

a_hosts_table:  @       IN      SOA     slave.uwe.ac.uk. \
root.slave.uwe.ac.uk. ( 
                                1.1     ;serial
                                3600    ;refresh every 10 hours
                                300     ;retry every 6 minutes
                                36000000;expire after 1000 hours
                                3600    ; default dtl is 100 hours )
                        IN      NS      slave.uwe.ac.uk.
                slave   IN      A       192.35.173.2
                hal     IN      A       192.35.173.1
                zen     IN      A       192.35.173.30
                .
                .
                .
                mother  IN      A       192.35.173.69


For most people, a nameserver will be available in which case the only
file really needed is resolv.conf which would contain only the domain
name of the site and a nameserver ip address to point to all the named
functions are thus the responsibility of the nameserver and not your
machine (crafty huh?) 
        Now unfortunately there are those of us that were just plain born
unlucky and had to RTFM so,... where a nameserver is not available it is
possible to run a nameserver service on your local machine.
        The following is a list of flies that you will eventually need
although just named.boot and a_hosts_table will suffice

     named.boot:     Sets general named parameters and points to the
                     sources of the domain database information used
                     by this server. The sources can be local disks or
                     remote servers.
     named.ca:       Points to the root domain servers
     named.local:    Used to locally resolve the loopback address
     named.hosts:    The zone info file that maps host names to IP addresses
     named.rev:      the zone file for the reverse domain that maps IP 
                     addresses to host names (you'll prob never touch it
                     so i'm going to skip it's description unless people
                     get upset enough to lynch me)


QUESTION: What is NFS ?

ANSWER: NFS stands for Network Filing System.
Network filing systems are convenient mechanisms which allow your
machine access to more disk space that it actually has by 'borrowing'
disk space from another networked machine for either sharing of common
data or if allowed, the storing of data generated by your machine.
        NFS is still in alpha testing and has the unfortunate handicap
of not being able to run binaries over the interface due to mmap
support not being available at the moment but shell scripts can be run.
        NFS has several benifits,

    1)      it reduces local disk storage requirements because
            a network can store a single copy of a directory, while
            the directory continues to be fully axcessible to everyone
            on the network.
    2)      NFS simplifies central support tasks, becaue files can be
            updated centrally, yet be available throughout the network
    3)      NFS allows users to use familiar UNiX commands to manipulate
            files with rather than learning new ones. There is no need
            to use rcp/tftp/ftp to copy files, just 'cp' will do

NFS is controlled by several files

        /etc/exports
        /usr/etc/inet/rc.net

The /etc/exports file allows your machine to decide what local
filesystems it will allow remote clients to NFS mount and decide what
access those clients should have to your filespace.

The /usr/etc/inet/rc.net file is used to start the named services and nfs  

QUESTION: What are the most common trouble with the Linux Networking ?

ANSWER: One of the most common complaints requards the config command
what isn't often noted is that this has to be recompiled from the 0.8.1
sources (available currently on tsx-11.mit.edu: as 
/pub/linux/ALPHA/tcpip/tcpip-0.8.1.tar.Z). Another problem that crops
up is that some binaries that are distributed requires libc.2.2.2 to
be present (mine I've no idea what version/wher it came from but it's
173060 bytes long if it helps!)
        Other people think that it's their version of libraries that
cause the problem but can't find the source code for the various utils
to recompile. Well sorry folks you are out of luck, the source code
for those utils like ftpd and inetd are jealously held back because
they are buggy and full of ugly hacks so rather than have the net
flooded with complaints, they have been compiled into binary form and
shoved out the door with innocent looks about them. Of note are inetd
and named from the BSD sources, someone needs to port them as the
current ones are erm.. well not really inetd/named. A new telnetd will
probably be available after the kernel pty's are fixed which looks as
though it'll break a lot of ioctl code.  

QUESTION: Any tricks that can help me to setup my system ?

ANSWER:Several things that can help

      1)      upgrade your kernel to the latest one that you can grab 
              a copy of (currently at time of writting 0.98.4)
      2)      join the NET mail channel, you can learn an awful lot
              from the guys on this channel (like the various new
              copyrighted techniques for tearing out your hair)
      3)      try and upgrade your C compiler and libraries to at least
              version 2.2.2d7
      4)      binary distributions of various network probrams can be
              found on sunsite.unc.edu,.. always read the README files
              they are there for a reason! (personal show/contacts/etc..)
      5)      Depending on your type of problem, contacting the author
              of the software or the person who ported the software would
              be a better choice.
      6)      Complain bitterly to me if I haven't covered your problem 
              and I'll get it sorted for the next FAQ

Cast of this section
====================

Ross Biro       -       Without whom all this wouldn't be possible
                        and who pointed out holes in my documentation.
                        Also contributed the history of tcp/ip on linux
                        after he saw my rather perverted view of it.

Mitch DSouza    -       Constant alpha tester. Also pointed out mistakes
                        and made critical and helpfull suggestions (like
                        getting a spell checker). Also gave me his Tel No.
                        which I used to annoy him with.

Rick Sladkey    -       The current Author of the NFS client server code
                        who with the help of Doug Quale repatched the
                        kernel to support networking filesystems.

The pioneers    -       Mentioned in the history of TCP/IP 0.8.[01] by
                        Ross earlier in this FAQ

The supporting  -       You know who you are (probably, depending on how
extras                  much virtual beer you had last night) for contributing
                        to the network code.

Linus Torvalds  -       The elusive ecentric UNiX kernel coder who probably
                        burns more CPU time on compiling than anyone else
                        Here's to a long and healthy kernel development
                        program and a Nobel equiv award for his efforts.

Philip Copland  -       The only sad person to take on the FAQ because I was
                        getting annoyed at the number of 'petty' tcp/ip code
                        problems being asked on the net. Besides of which I
                        wanted to give something useful towards Linux which
                        I've used since 0.10 (does this make me a vetrian?)

XIII. EMACS for LINUX
=====================
*** This section is maintained by Rick Sladkey (jrs@world.std.com)
*** Last Update November 1992.

XIII.A. GENERAL INFORMATION 
XIII.B. GNU EMACS for LINUX

XIII.A. GENERAL INFORMATION
~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is a short list of Frequently Asked Questions about GNU Emacs
under Linux.  It does not address general questions about Emacs which
are not Linux specific.  For general help about Emacs, 1) learn to use
and read the online documentation, 2) read the real Emacs FAQ found in
emacs/etc/FAQ, and 3) read the newsgroup gnu.emacs.help.

                                        Rick Sladkey <jrs@world.std.com>

XIII.B. GNU EMACS for LINUX
~~~~~~~~~~~~~~~~~~~~~~~~~~~
QUESTION: Does Linux Emacs use the shared libraries?

ANSWER: Yes.  It wasn't easy.  If you have any problems with them let
me know. Also contact me if you would like static binaries.

QUESTION: What version of the compiler was used?  Which shared libaries?

ANSWER: This describes version of GNU Emacs 18.59 for Linux 0.97 and above
compiled with GCC 2.2.2d7 using the libc.so.4.1 and libX11.so.2.1 shared
libraries.

QUESTION: Which files do I need?

ANSWER:
emacs-18.59a.tar.Z              this file, sample default.el and diffs
                                for this version, the eight-bit patch,
                                iso-latin-1.el and eight-bit.el
emacs-etc-18.59a.tar.Z          emacs support programs and misc info
emacs-bin-18.59a.tar.Z          shared emacs binary and its doc file
x11emacs-bin-18.59a.tar.Z       shared x11emacs binary and its doc file

QUESTION: How do I install them?

ANSWER: According to Linux convention, cd to /usr and untar the
packages. 

QUESTION: Does Linux Emacs support eight-bit input/output?

ANSWER: Yes.  It is new with this version.  It uses the so-called
"ctl-arrow" patch.  See the file README.8bit for more information.

QUESTION: How much disk space is required?

ANSWER: Anywhere from 1 to 15 Meg.  Emacs works reasonably well with no
support files at all.  With a judicious selection from lisp/*.elc and
etc/*, quite a lot can be done using only 2 Meg.  If you want all of
lisp/*.elc, info/*, and etc/* this will require 4 to 6 Meg.  If you
unpack the whole source you need 8 Meg.  If you collect info files
like rare coins and install a lot of big lisp packages then Emacs may
need its own partition. :-)

QUESTION: Why does Emacs crash under Linux 0.98 patchlevel 4 or higher?

ANSWER: It crashes becuase of the a new 256-bit wide fd_set structure. 
Sometimes progress requires sacrifice.

QUESTION: Why can't Emacs find its support files anymore?

ANSWER: This is because older versions of Emacs were compiled with
"/usr/local/emacs" based paths.  The current version is compiled with
"/usr/emacs" paths.  If you have a previous installation, just "mv
/usr/local/emacs /usr" and you're done.  If you can't bear to part
with the "/usr/local" pathnames because of inertia then do "ln -s
/usr/local/emacs /usr" and you can have them both.

QUESTION: How do I get Emacs to recognize my cursor keys?

ANSWER: Simple.  Don't use them. :-)  Seriously, there are as many
ways to do this are there are elisp hackers but the preferred way is
to follow the pattern set by the other terminal definition files in
emacs/lisp/term/*.el.  For just arrow keys you can just copy vt220.el
to console.el and that's it.  For function keys and the others see
the sample default.el included with this file.

QUESTION: What packages are particularly useful under Linux?

ANSWER: Because info format is the documentation standard of the GNU
project and just about everything except the kernel comes from FSF,
you will find that Dave Gillespie's enhanced info package is very
useful.  It allows multiple info directories, space bar paging, and
supports compressed info files. Please learn to use info.  Imagine
Unix life without man.

Others that I highly recommend are Sebastian Kremer's enhanced
dired directory editor, Dave Gillespie's calc calculator, Masanobu
UMEDA's gnus for usenet news, and Kyle Jone's vm for mail.

All can be found in the OSU Emacs archive.  See the real FAQ for more
details.

QUESTION: Does Linux Emacs use the shared libraries?

ANSWER: Yes.  It is very delicate.  Emacs uses its own malloc and the
library uses the standard one.  Everything works as long as the two
never meet. 

QUESTION: Does Linux Emacs support the X Window System?

ANSWER: Yes.  However, there are two binaries.  One without X support
(about 485k) and one with X support (about 515k).

QUESTION: Do I need both Emacs if I don't always use X?

ANSWER: No.  The X11 version works equally well inside or outside of
X.  If you get the message "Check your DISPLAY variable" it means that
you have defined DISPLAY in your ~/.profile (or whatever).  You can
fix this by starting Emacs with 'emacs -nw' or by removing the DISPLAY
variable from your ~/.profile and putting it in you ~/.xinitrc.

QUESTION: Why doesn't Emacs use the settings in my
.Xdefaults/.Xresources file? 

ANSWER: You are probably using the word "emacs" and your X version of
emacs is called x11emacs.  Either use the word "Emacs" in your resource
file or rename x11emacs to emacs.  See above question on why this
is reasonable.

QUESTION: I read about some menu that is supposed to pop up when I
press some mouse button.  Does this work with Linux Emacs?

ANSWER: Yes.  This requires XMenu support to be compiled in.  Former
versions did not support it because it did not work correctly.

QUESTION: Sometimes Emacs crashes with a SIGALRM message.  What's
wrong? 

ANSWER: You need to upgrade to a newer version of bash.  Some older
versions of bash were compiled with buggy libraries that caused bash
to send a SIGALRM to its parent in some circumstances.  Recent
versions do not exhibit this problem.

QUESTION: Why does Emacs always put me in the root directory?

ANSWER: You have an old version of Emacs compiled before GCC 2.11c and
you are using the Linux extended filesystem.  Get the new version.

QUESTION: Why doesn't Control-Z doesn't work right with Emacs?
QUESTION: Why doesn't job control work in shell mode?

ANSWER: You have a really old version of Linux Emacs.  Get the new one.

           ===================8<==========>8================


-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#       LaBRI                    |                                          #
#  351 cours de la Liberation    |  e-mail:  corsini@labri.greco-prog.fr    #
#  33405 Talence Cedex           |                                          #
#                                |                                          #
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- 
  There will be some sig, once our local net will be reliable.
                Right now I rather stay anonymous.
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Linux Frequently Asked Questions 4/4 [monthly posted], , (Tue Nov 24, 7:22 pm)
speck-geostationary