Dec 082017
 
LINUX Frequently Asked Questions for January 1993. Linux is a freeware clone of the Unix operation system for 386 or better computers.

Full Description of File


LINUX Frequently Asked Questions, Jan. 93
(in dos text format), Linux is a FREEWARE
version of the Unix operating system that
is available via BBS, FTP, and mailorder.


File LINFAQ31.ZIP from The Programmer’s Corner in
Category Linux Files
LINUX Frequently Asked Questions for January 1993. Linux is a freeware clone of the Unix operation system for 386 or better computers.
File Name File Size Zip Size Zip Type
FILE_ID.DIZ 172 146 deflated
LNXFAQ31.DOC 208440 76871 deflated

Download File LINFAQ31.ZIP Here

Contents of the LNXFAQ31.DOC file


Newsgroups: comp.os.linux,news.answers
Subject: Linux Frequently Asked Questions 1/4 [monthly posted]
Summary: Linux, a small and free unix for 386-AT computers.
Date: 20 Jan 93 11:29:05 GMT
Sender: [email protected] (Marc-Michel CORSINI)
Reply-To: [email protected]
Organization: Greco Prog. CNRS & LaBRI, Bordeaux France
Lines: 1509

Archive-name: linux-faq/part1
Last-Modified: 93/01/16
Version: 1.15

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

This post contains Part 1 of the Linux FAQ (4 parts)


Hi Linuxers!

The original FAQ 1st version was posted on Dec. 19, 1991 by Robert Blum.

Most credits of this work to Linus, Robert and Ted. The first X11
section was written by Peter Hawkins, the rest was either on the list
posted by many (real) activists, not me ;-), either in some other news
groups, or else by direct posting to me (thanks Humberto, Dan,
Michael, Drew, Audoin). I haven't systematically copyrighted them, so
thanks to every one who participated even indirectly to this FAQ.

Since September 1992, the FAQ is co-written by:

WHO (WHAT) E-MAIL
=============================================================================
Lars Wirzenius (META-FAQ) [email protected]
Mark Komarinski (DOS) [email protected]
Matt Welsh(GENERAL INFO)[email protected]
A. V. Le Blanc(MCC, DOS)[email protected]
Matt Welsh(INSTALLATION)[email protected]
Drew Eckhardt(SCSI)headrest.woz.colorado.edu
Hongjiu Lu(GCC)[email protected]
Krishna Balasubramanian (X11)[email protected]
Zane Healy(BBS INFO)[email protected]
Philip Copeland(NET INFO)[email protected]
Rick Miller(DEVICE INFO)[email protected]
Peter MacDonald(SLS INFO)[email protected]
Rick Sladkey(EMACS)[email protected]
Dirk Hohndel(PROOF READER)[email protected]
Marc-Michel Corsini(FAQ collector)[email protected]{labri,firmin}.greco-prog.fr
=============================================================================

If anyone is interested in participating with this FAQ, just send me a
note with: your name/e-mail and the section you want to maintain.

Many of the questions could be avoided, if people had read the FAQ of
the following newsgroups: news.announce.newusers, comp.lang.c,
gnu.emacs.help, comp.unix.questions.

[The last-change-date of this posting is always "two minutes ago". :-)]

This is the introduction to a list of frequently asked questions (FAQ
for short) about Linux with answers (Yeap!). This article contains a
listing of the sections, followed by the question/answer part.

This FAQ is supposed to reduce the noise level ๐Ÿ˜‰ in the comp.os.linux
newsgroup, and spare the time of many activists. I will cross-post it each
month to news.answers. This FAQ is NOT an introduction to UNIX, there
are many books for unix, and there is *also* a FAQ for unix (it's the
one of comp.unix.questions which contains things such as "How do I
remove a file named -". I DO NOT WANT TO ADD SUCH THINGS IN THIS FAQ
DEVOTED TO LINUX.

Some books to read:
The C Programming Language: Kernighan & Ritchie.
Unix System Administration Handbook: Nemeth, Snyder & Seebass.
Unix for the Impatient: Abrahams & Larson.
Unix System V Release 4, An Introduction, by Rosen, Rosinski and
Farber; Publisher Osborne MacGraw-Hill.
The X Windows System in a Nutshell: O'Reilly.
.....

BTW This FAQ is available at the main Linux sites in the doc
directory, the addresses are given in section II. of this FAQ. There
is also an automated FAQ mailserver archive at pit-manager.mit.edu.
Send mail to [email protected] with the word "help" in
the body.

Please suggest any change, rephrasing, deletions, new questions,
answers ...
Please include "FAQ" in the subject of messages sent to me about FAQ.
Please use [email protected] whatever will be the From part
of this message. Finally discussion about the FAQ can be done on the
DOC Channel (see section II below).


Thanks in advance,
Marc

The FAQ can be found in LaTeX version, thanks to Pepe Flores Peters.

Future Plan:

- provide FAQ as diff too, since it seems to stay stable
except for very few sections.
- perform automatic post to c.o.l and n.a evry month as I
promised long time ago.

================================8<=====8<==============================
CONTENTS
0.WARNINGS(part1)
I.LINUX GENERAL INFORMATION(part1)
II.LINUX USEFUL ADDRESSES(part1)
III.INSTALLATION and COMMON PROBLEMS(part1)
IV.LINUX and DOS(part2)
V.SOME CLASSICAL PROBLEMS(part2)
VI.MISCELLANEOUS HINTS(part2)
VII.MORE HINTS(part2)
VIII.FEATURES(part3)
IX.GCC MISC INFORMATION(part3)
X.SCSI SPECIAL(part3)
XI.X11, THE MINIMUM and MORE(part4)
XII.NETWORKING and LINUX(part4)
XIII.EMACS dor LINUX(part4)

0. WARNINGS
===========

The FAQ contains a lot of information sometimes I've put it down
in 3 different ways because people seems not to understand what they
read (or what I wrote, you know I'm just a froggy and english is not
my natural language). What I mean is that not all is in the FAQ but
many things are there, so please just take time to read it this will
spare a lot of the other linuxers [and if you think I should rephrase
some Q/A just drop me a note with the corrections].

As the Linux kernel changes monthly (and even more ...), I define 2
pseudo variables a la C one for the version, and one for the date of
the release.

#define CURRENT_VERSION 0.99 /* the current version */
#define PATCH_LEVEL 3 /* the patch level */
#define KERNEL_DATE 13, Jan. /* Date of the CURRENT_VERSION */

In what follows I'll consider CURRENT_VERSION as the current version.

Below is the information provided by Denise Tree on the LINUXNEWS
Channel: "Linux News, a summary. Issue #11"
- January 13 Linus sent 0.99 patchlevel 3 to nic.funet.fi:
"Still no 1.0 - I have had a couple of reports of problems, so I'll make
yet another 0.99 release. The diffs (against 0.99.2) and complete
source can be found at nic.funet.fi: pub/OS/Linux/PEOPLE/Linus as usual,
and will probably show up at the other sites pretty soon.
0.99.3 contains no real new features, but the diffs are pretty big
anyway (100kB+ compressed): various things have moved around a bit and
there are a lot of minor changes. The changes include (but are not
limited to):
- the math emulator code now also understands the unofficial codes (in
case somebody followed the ML math emulator thread). I'd be
interested to hear whether ML now works with the emulator.
- various SCSI driver changes
- some re-organization of the tty open/close code to remove a few race
conditions.
- interrupt handling rewrites (two-level interrupt code cleanups)
- the serial drivers are tytso's alpha-drivers: they aren't quite
completed, but as they need the interrupt handling patches to get
ready, this is probably the least traumatic way of doing it.
- some more minor keyboard driver changes (mostly taking advantage of
the two-level interrupts)

+ a lot of other minor changes. I once more hope people will try it
out, and report any problems or successes to me.
Known problems:
- there seems to be something weird going on in the ST-0x driver with
some scsi disks.
- tcp/ip is reportedly still not quite stable, and I can't even test it
out.
NOTE! The DMA functions have changed for the high DMA channels - all DMA
functions now take their arguments as the number of bytes instead of the
old way of using bytes for ch 0-3 and words for ch 5-7. This might lead
to problems with the SoundBlaster driver, which may need editing. ''



I. LINUX GENERAL INFORMATION
=============================
*** This section is maintained by Matt Welsh ([email protected]). Mail
*** him if you have corrections, additions, other questions, etc.
*** Last update November 1992.


QUESTION: What is linux?

ANSWER: Linux is a small unix for 386-AT computers, that has the added
advantage of being free(*). It is still in beta-testing, but is slowly
getting useful even for somewhat real developement. The current
version is CURRENT_VERSION, date: KERNEL_DATE.

(*) Free means that you may use it, change it , redistribute it, as
long as you don't change the copyright. Free does not mean public
domain.


Linux is a freely distributable UNIX clone. It implements a subset of
System V and POSIX functionality, and contains a lot of BSD-isms.
LINUX has been written from scratch, and therefore does not contain
any AT&T or MINIX code--not in the kernel, the compiler, the
utilities, or the libraries. For this reason it can be made available
with the complete source code via anonymous FTP. LINUX runs only on
386/486 AT-bus machines; porting to non-Intel architectures is likely
to be difficult, as the kernel makes extensive use of 386 memory
management and task primitives.


QUESTION: Does Linux support GCC, TCP/IP, X-Windows, MGR, etc.?

ANSWER: Linux currently supports and uses a large amount of the GNU
software (i.e. GCC, bison, groff, etc) so all of that functionality is
there. X-Windows is also available, along with many client
applications. MGR is there too. TCP/IP is in testing, and is available
for you to try out.

(Dirk Hohndel:) TCP/IP is available. I use Linux boxes as Xterminals
and my "own" asterix has mounted half a Gig via NFS. Mitch DSuoza is
running an anonymous FTP server on his Linux box. This is definitely
more than testing. The newest SLS has a TCP/IP kernel by default.


See section VIII of this FAQ ("Features")!

In short, Linux supports many, many features and programs. One of the
biggest questions is:
"Does ***** work on Linux? Does Linux have *****?"
The answer, usually, is "yes". Just check out the rest of this FAQ,
the newsgroup, as well as the files on the FTP sites.


QUESTION: What is the current state of Linux?

ANSWER: read the comp.os.linux newsgroup, where the INFO-SHEET is
periodically posted.


QUESTION: I've just heard about linux, what should I do to get it?

ANSWER: FIRST read this FAQ, and especially section III (installation).
Choose a "release" of Linux (such as MCC, SLS, bootdisk/rootdisk, etc).
Download from your nearest FTP site, use the "rawrite" program as needed
to write the images to high-density floppies (5.25 or 3.5). Specific
instructions are given in section III and in the README files for each
release.

Note that some releases only give you the kernel and a few utilities, and
others give you everything you need (including X11, GCC, and more) in
that latter case the downloading is close to a douzen of SOFT. Just
check out section III for more info.


QUESTION: Does it run on my computer?

ANSWER: Linux has been written on a clone-386, with IDE drives and a VGA
screen. It should work on most similar setups. The harddisk should be
AT-standard, and the system must be ISA. (though *some* EISA success
has been reported [T. Koenig], Linux doesn't take advantage of the EISA
structure). A high density floppy drive -- either 5.25" or 3.5"-- is
required.

{Drew's information:
Linux supports anything that's register compatable with a WD1003 MFM
disk controller (ie, the original PC-AT disk controller.) Most AT
MFM, RLL, ESDI, and IDE setups look like this.

XT compatable disk controllers won't work.

Generally, the rule is if you have the disk configured into the
CMOS setup of your machine, it will work (because the BIOS is talking
to a WD 1003 compatable board), otherwise it won't.}

IDE and MFM seem to work with no problem. It works, also, for some
ESDI drive (you might have to comment out the "unexpected hd
interrupt"-message from hd.c). There exists a high-level SCSI driver,
under which low-level drivers are placed; a ST-01/ST-02 low driver has
been completed see the FEATURES and the USEFUL ADDRESSES sections.


Otherwise the requirements seem relatively small: a 386 (SX, DX or any
486). Any video card of the following: Hercules, CGA, EGA, (S)VGA.

It needs at least 2M to run (with SWAP), and 4M is definitely a plus.
It can happily use up to 16M (and more if you want).

BTW There are problems with some MAXTOR drives on high speed machines
(sometimes switching off "turbo" helps). There may also be a problem
with "slow" memory (under 60ns) on fast machines. Again, the solution
is to turn off "turbo". Mixed SIMMs (3 and 9 chip versions) have also
reported to be problematic.

NOTE1: It doesn't run (yet?) on a MCA machine
NOTE2: There is a driver for XT but not tested by me (see below)
NOTE3: There is also a support for 8514 and S3.

From: [email protected] (Pat Mackinlay)
Subject: ANNOUNCE: New XT disk driver
Date: Tue, 15 Dec 1992 15:24:27 GMT

This is a short note to annouce the second release of the XT hard disk
drivers for Linux. This set of patches is for Linux 0.99 (pl0) and
should be available on tsx-11 under
/pub/linux/ALPHA/xtdisk/xtdisk2.tar.Z and
/pub/linux/ALPHA/xtdisk/README.xtdisk.

Just a brief introduction: this driver allows you to use XT-style (8
bit) hard drive controllers. The advantage of these is that you can
use them in conjunction with normal AT-style (16 bit) controllers,
IDE drives and SCSI drives. The major problem with them is the fact
that they are very slow, so swapping to one of these
controllers/disks is not recomended .

QUESTION: Why the suggested 4Meg, for Linux?

ANSWER: Linux uses the first 640k for kernel text, kernel data and
buffercache. Your mother board may eat up 384K because of the chipset.
Moreover there is: init/login, a shell, update possibly other daemons.
Then, while compiling there is make and gcc (2.01 ~770k).
So you don't have enough real memory and have to page.


QUESTION: How would this operate in an OS/2 environment?

ANSWER: Linux will coexist with *ANY* other operating system(s) which
respects the "standard" PC partionning scheme - this includes Dos,
Os/2, Minix etc.

WARNING: Linux and OS/2 *can* co-exist on the same machine. BUT, you
cannot use Linux's fdisk to make Linux partitions! See the warnings in
section III about Linux and OS/2.


QUESTION: Will linux run on a PC or 286-AT? If not, why?

ANSWER: Linux uses the 386 chip protected mode functions extensively,
and is a true 32-bit operating system. Thus x86 chips, x<3, will
simply not run it.


QUESTION: Will Linux run on a 386 Laptop?

ANSWER: It works, including X on most of them.


QUESTION: (Dan) How long has Linux been publicly available?

ANSWER (partial): Few months, v0.10 went out in Nov. 91, v0.11 in Dec.
and the current version CURRENT_VERSION is available since KERNEL_DATE.
But even it is pretty recent it is quite reliable. There are very few and
small bugs and in its current state it is mostly useful for people who
are willing to port code and write new code. As Linux is very close to a
reliable/stable system, Linus decided that v0.13 will be known as v0.95.
Believe it or not: the whole story started (nearly) with two processes
that printed AAAA... and BBBB...
BTW consult the digest#136 Vol2 for a complete story.


QUESTION: What is the proper pronounciation for "Linux"?

ANSWER: (Linus himself)
'li' is pronounced with a short [ee] sound: compare prInt, mInImal etc.
'nux' is also short, non-diphtong, like in pUt. It's partly due to
minix: linux was just my working name for the thing, and as I wrote it
to replace minix on my system, the result is what it is... linus' minix
became linux.

I originally intended it to be called freax (although buggix was one
contender after I got fed up with some of the more persistent bugs ๐Ÿ™‚
and I think the kernel makefiles up to version 0.11 had something to
that effect ("Makefile for the freax kernel" in a comment). But arl
called the linux directory at nic.funet.fi pub/OS/Linux, and the name
stuck. Maybe just as well: freax doesn't sound too good either (freax
is obviosly free + freak + the obligatory -x).

(Rick's note for English speakers: Linux - "LIH-nuhks".)


QUESTION: What's about the copyright of linux?

ANSWER: This is an except of the RELEASE Notes v.095a: Linux is
NOT public domain software, but is copyrighted by Linus Torvalds. The
copyright conditions are the same as those imposed by the GNU
copyleft: The GNU GENERAL PUBLIC LICENSE Version 2, June 1991 is part
of the source tree.


QUESTION: Should I be a UNIX and/or a DOS wizard to install/use Linux?

ANSWER: Not at all, just follow the install rules, of course it will be
easier for you if you know things about Unix. Right now Linux is used
by more than BIGNUM persons, very few of them enhance the kernel, some
adds/ports new soft, most of us are only (but USEFUL) beta testers.
Last but not least, various Linuxers work on manpages, newuser_help,
file-system organization. So join us and choose your "caste".

It is even used in production environments (Dr. G.W. Wettstein)


QUESTION: Does Linux use TSS segments to provide multitasking?

ANSWER: Yes!


QUESTION: If my PC runs under Linux, is it possible to ftp, rlogin,
rsh etc.. to other Unix boxes?

ANSWER: Kermit and ka9q have both been ported to Linux. Also, TCP/IP is
quite reliable, only a few clients are missing.
Read section XII. devoted to Ethernet and Linux.


QUESTION: Does linux do paging? Can I have virtual memory on my small
machine?

ANSWER: Yes, it does. Generally you set up a swap file or partition, and
enable it with the "swapon" command. Voila! Virtual memory.


QUESTION: Can I have tasks spanning the full 4GB of addressable 386
memory? No more 64kB limits like in coherent or standard minix?

ANSWER: Since 0.97pl? it uses 4 GB Process Space, 3 for userspace and
1 for the kernel space.


QUESTION: Does the bigger program sizes mean I can run X?

ANSWER: Yes! See section XI below for details on X11.


QUESTION: What are the differences, pros and cons compared to Minix ?

ANSWER (partial):
Cons:
- Linux only works on 386 and 486 processors.
- Linux needs 2M of memory just to run, 4M to be useful.
- Linux is a more traditional unix kernel, it doesn't use message
passing.

Pros:
- Linux is free, and freely distributable, BUT copyrighted.
- Linux has some advanced features such as:
- Memory paging with copy-on-write
- Demand loading of executables
- Page sharing of executables
- Multi-threaded file system
- job control and virtual memory, virtual consoles and pseudo-ttys.
- Linux is a more traditional unix kernel, it doesn't use message
passing.


QUESTION: What are the pros and cons compared to 386BSD ?

ANSWER: Linux and 386BSD started out as completely different projects,
with completely different goals and design criteria in mind. Personally,
my experience with 386BSD has shown that :
(a) its TCP/IP is more stable, and seems to work (on my NE2000 card,
which Linux doesn't support yet), but
(b) the interface and "feel" just wern't the same as Linux (which I liked
better ๐Ÿ™‚ ). You'll have to try it out for yourself. Here's information
from comp.unix.bsd, September 1992:

| This is a free BSD for the 386. It does NFS and X.
| Grab it from agate.berkeley.edu (128.32.136.1).
| Bill Jolitz is writing a book on it.
|
| It has a neat, small kernel, and is stable enough to run for a week or
| more without crashing/hanging. It works fine with 4MB RAM and 80MB
| disk. Running X however needs 8MB RAM, and supports only vanilla VGA.
| The TCP/IP implementation in this is functional, but not optimised.
| This means that FTP throughput is about 5KB/sec on Ethernet, when
| almost anything else gives you about 70KB to 100KB per second.
|
| Read comp.unix.bsd. That is almost entirely Jolitz's 386BSD now.
|
| 3. How much disk space for:
|*kernel
|*X
|*source to kernel
|*source to X
| Binary only: 49 M (30 disk, 5 swap, 14 extraction)
| Source: 125 M (49 bin, 37 disk, +6 extraction, 25 recompile)
| User software: +51 M
|
|X Binaries require about 61 Meg (?)
|I don't know about the sources.


To conclude this Q/A wrt Linux vs 386BSD, you should read the Linux News
Issue #5 of L. Wirzenius, where a true story of Mark W. Eichin is
reported.


QUESTION: How much space will Linux take up on my hard drive?

ANSWER: It depends on which release you choose. See the section
INSTALLATION below. Usually it's somewhere between 10 megs (for a
nominal system+swap space) and 30-40 megs (for everything plus space
for user directories, etc.).

BTW the full SLS needs around 60 MB (including TeX and other goodies).

II. LINUX USEFUL ADDRESSES
=========================

II.A. LINUX ON THE NET: ftp, mailing-list
II.B. OBTAINING LINUX FROM BBS'S: everything about bbs

II.A. LINUX ON THE NET
~~~~~~~~~~~~~~~~~~~~~~

QUESTION: Where can I get linux?

ANSWER: Linux (all the software, binaries, sources, releases, and so on),
can be retrieved via anonymous FTP from :

[ Major sites ]
EUROPE:
nic.funet.fi (128.214.6.100):
directory /pub/OS/Linux
ftp.informatik.tu-muenchen.de (131.159.0.110)
directory /pub/Linux

US:
tsx-11.mit.edu (18.172.1.2):
directory /pub/linux
sunsite.unc.edu (152.2.22.81):
directory /pub/Linux

[ Mirroring sites (some of them, there are lots now) ]
AUSTRALIA:
kirk.bu.oz.au (131.244.1.1)
directory /pub/OS/Linux
EUROPE:
src.doc.ic.ac.uk (146.169.3.7):
directory /pub/os/Linux
ftp.mcc.ac.uk (130.88.200.7):
directory pub/linux
ftp.dfv.rwth-aachen.de (137.226.4.105):
directory /pub/linux
ftp.informatik.rwth-aachen.de (137.226.112.172):
directory /pub/Linux
ftp.ibr.cs.tu-bs.de (134.169.34.15):
directory /pub/os/linux

US:
wustl.wuarchive.edu (128.252.135.4):
directory /pub/mirrors4/linux
ftp.eecs.umich.edu (141.212.99.7):
directory linux

Korea:
cair.kaist.ac.kr (143.248.11.170):
mirror of sunsite; directory pub/Linux

You might want to check out which of these is the most up-to-date.


If you have no FTP capability, you are in trouble. See the next Q/A.
Also, you'll need the "UNCOMP.EXE" and "RAWRITE2.EXE" programs for DOS
(to make your install disks). These are usually found in the Linux
directories on the above FTP sites.


QUESTION: I do not have FTP access, what can I do to get linux?

ANSWER: You can either read the next subsection related to BBS's
otherwise, read the following.

The SLS release is distributable by snail-mail on floppies for those
without net access; see the SLS section in section III of this FAQ for
more.

Try to contact a friend on the net with those access, or try
mailserver/ftpmail server otherwise contact [email protected] You
might try mailing "[email protected]" with "help" in the body of
the mail. If you choose ftpmail server (example: [email protected]),
with "help" in the body, the server will send back instructions and
command list. As an exemple to get the list of files available at tsx-11
in /pub/linux send:

mail [email protected]
subject: anything
reply
connect tsx-11.mit.edu
chdir /pub/linux
dir -R
quit

In Europe ftp.informatik.tu-muenchen.de is accessible via e-mail (send
"help" in the body to [email protected])


QUESTION: Is there a newsgroup or mailing-list about linux? Where can
I get my questions answered? How about bug-reports?

ANSWER: The comp.os.linux newsgroup is literally *teeming* with postings.
So, to the first question, yes. ๐Ÿ™‚ The older newsgroup, alt.os.linux,
is being phased out and shouldn't be used anymore.

If you don't have news access you can get the digest of postings via
e-mail from: [email protected] This list is
gatewayed to the newsgroup as well. Only use the 'request' address for
subscribe/unsubscribe messages; don't post those to the newsgroup or to
the actual mailing list.

Questions and bug-reports can be sent either to the newsgroup or to Linus
himself at "[email protected]", depending on which you find more
appropriate.


And last but not least there is the original mailing-list, which is
now a multi-channel list.
contact [email protected]


QUESTION: Could you be more explicit about the multi-channel list?

ANSWER: Well, there are many things to say:
- these channels are rather devoted to hackers
- the ones I am aware of are: GCC, MGR, X11, SCSI, NEW-CHANNELS,
MSDOS (emulator discussion) , NORMAL, KERNEL, FTP, LAPTOP, DOC,
NET, CONFIGS, LINUXNEWS ...
- whenever you want to JOIN or LEAVE a channel you have to
contact the request address
- you have to use special header (X-Mn-Key and Mn-Admin); X-Mn-Key
is *ONLY* for regular post, the X-Mn-Admin is for *REQUEST*

(Ari Lemmke: 1 Nov. 1992):
Hmmm.... It seems our list has now about 1500 users
in 21 channels (mailing lists). 3960 without uniq.

"echo foo | mail [email protected]"
to get the Mail-Net User Guide.

QUESTION: How can I join the channel XXX on the linux-activists
mailing list?

ANSWER: just send a mail to the request address with help in the body;
you will get back a mail which gives you the list of channels and the
way to join/leave them. Basically you send mail to the request address
with the line:
X-Mn-Admin: join


QUESTION: How can I leave the channel XXX on the linux-activists
mailing list?

ANSWER: Same as above, basically. You send mail to the request address
that contains the line:
X-Mn-Admin: leave

QUESTION: I'm not an hacker, what are the channels I could be interested
in?

ANSWER: Probably these are the most interesting for you (IMHO)

Channel NORMAL:
~~~~~~~~~~~~~~~

Channel normal is the former Linux-Activists mailing list
(all the people who were on the old Linux-Activists list
are moved to this channel).


Channel DOC:
~~~~~~~~~~~~

This channel is for Linux document "project". Discussion about Linux
documents, manuals, papers, etc.

Channel CONFIGS:
~~~~~~~~~~~~~~~~
This channel will be devoted to send submissions of systems that have
Linux already running, AND those that, for any reason, can't get it
to work yet.

Mainly, what it's need from all the channel users is to send their
hardware configuration list (as complete as possible). Include
anything that you feel pertinent for information: CPU,
motherboard, RAM amount, HD & floppy controller, BIOS, monitor,
video card & memory, network adapter, etc. If you are having trouble
with your current system, or you find out that a program doesn't work
properly on your system due to a HARDWARE problem, it may be useful
for us to know your configuration; maybe you can get a lot of help.

Channel LINUXNEWS:
~~~~~~~~~~~~~~~~~~
The LINUXNEWS channel will be used for distribution of Linux News, a
weekly (if I can find the time) summary of things that happen in the
Linux community. Discussion is not encouraged, if you have complaints
or suggestions, send them directly to me ([email protected]).

Channel NEW-CHANNELS:
~~~~~~~~~~~~~~~~~~~~~

On the future users on this channel get the information about new
channels created.

By this way you can join the channels you want, and do not need to
send mail to Mail-Net info server or listen rumours.

QUESTION: Does there exist a place where the traffic of the newsgroup
is kept?

ANSWER: Yes, on nic and tsx-11 (see the ftp addresses above), and since
12th March, a Gopher server is up at beryl.daimi.aau.dk (130.225.16.86).
The archives go back to Nov. 18. 91. Also recently a WAIS server for the
linux mail archive has been setup at fgb1.fgb.mw.tu-muenchen.de. Contact
[email protected] for more info.

All back issues of the Digest are available on tsx-11.mit.edu
[18.172.1.2] in the following place(s):

pub/linux/mail-archive
~/Volume? /* where '?' in volume #
~/digestnnn.Z * and nnn is issue #
*/



II.B OBTAINING LINUX FROM BBS'S
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*** This section is maintain by Zane Healy ([email protected])
*** Last Update November 1992.

QUESTION: I don't have access to FTP, how can I obtain Linux?

ANSWER: Linux is available from various BBS's around the world.

QUESTION: I got this FAQ from a local BBS, or a friend, and I see there
is a newsgroup called comp.os.linux . I don't have access to USENET or
mail, so how can I get the messages?

ANSWER: Some of the BBS's on FidoNet carry comp.os.linux as a FidoNet
conference. Also some of the other BBS's carry it in some form or other.

QUESTION: Do BBS's offer anything that the Internet does not?

ANSWER: Yes, on the information side there are the UNIX conferences on
both the RIME network and FidoNet. Although they are not dedicated to
linux, a large amount of the messages are linux related. Also at least
one software package being developed for linux, and also one port is
available via BBS's long before they are available via anonymous FTP.

QUESTION: What is a BBS?

ANSWER: A BBS is a Bulletin Board System, it let's you transfer message's
and file's via your phone line and all you need is a computer with
communications software and a modem. Some BBS's transfer message's among
each other forming large computer network's similar to USENET. The most
popular of these in the US are FidoNet and RIME.

QUESTION: How can I get a (Near) complete list of BBS's that carry Linux?

ANSWER: I (Zane Healy) post a list of all known BBS's that carry Linux
to comp.os.linux as well as the RIME and Fidonet UNIX conferences on the
1st and 15th of each month.

QUESTION: Now that I have a phone number, how do I go about accessing a
BBS?

ANSWER:

1. You need a computer equipped with communications software and a modem.

2. For ALMOST all BBS's you will need to set the comm software up for:
8 - Data Bits
N - Parity
1 - Stop Bit

Although certain BBS's and Communication services require that the
software be set for:
7 - Data Bits
E - Parity
1 - Stop Bit

You will also need to set the comm software for the correct speed,
either the top speed, or the max speed for your modem.

3. Using the comm software, call the BBS. Once you connect with the BBS
(this may take awhile, as other people are likely to be using it), you
will be asked some questions.
If you are a registered user of the BBS it will normally only ask for
your name and password. However if you are not a registered user, it
will most likely require that before you do anything, you register. The
method of registration varies from BBS to BBS.
Normally the first thing that will happen is, you sign on to the BBS,
and tell it your name. It will then check it's list of user's and see
that you are not one of them. At which time it will ask you if you are a
new user, or if you wish to re-enter your name. When you tell it you are
a new user, it will then ask you some questions about yourself, such as
where you are calling from and your phone number. A lot of BBS's will
want some statistical info such as what type of computer you are using,
your communications software, your age, etc, etc.
After this, most BBS's require some sort of validation, this is for
the System Operator's (SysOp's) protection. One type is where you give
the BBS software your phone number, hang up, and the BBS calls your
computer to verify that you gave it legitament phone number. Some BBS's
require that you mail the SysOp a postcard. Most, however just require
that you give the SysOp the request info and then he upgrades your level
of access a couple of day's later.
For the most part you will find that the registration process is easy
to follow and well documented.

QUESTION: There is a local BBS that carries Linux, but it isn't on the
latest Linux BBS List. How do I go about submitting it for inclusion in
the list?

ANSWER: Send the following information on the BBS to me:

BBS Name:
Phone Number:
Modem Speed:
City and State/Country:
Whatever Network it's on (i.e. FidoNet, RIME, etc.):
First Time access to D/L Linux Files (Y/N):
Free Access to Linux Files (Y/N):
Allow File Requests (Y/N):
BBS Rating (1-5):

I can be reached at one of the following E-Mail Addresses:
Internet -- [email protected]
CompuServe -- 70332,14
Prodigy -- SCNN49A
Fido NetMail -- Zane Healy at 1:109/615
RIME UNIX Conference -- Zane Healy

QUESTION: What can I do to help ensure the continued development of
Linux?

ANSWER: PLEASE UPLOAD FILES TO BBS'S

I would like to point out that a very large number of the Linux
enthusiasts don't have FTP access. In fact it is possible that by now
most of the Linux fan's don't. So I would like to suggest that those of
us that do, find at least one BBS to post the Linux file's to. I, for
one post every file that I get to at least one of the local BBS's, and
from there they the file's tend to find there way to other local BBS's.
I've seen posts about the future of Linux etc., well here is a way to
help guarantee it. I think it's safe to assume that most people with FTP
access also have a modem. So how about doing other Linux fan's a favor
and finding a BBS to upload the Linux files to.

QUESTION: How do I read the data contained in the Linux BBS List?

ANSWER: The list uses the following format:

State YYY BBS Name Phone Number Modem Speed
Rating City Other data

The BBS's are rated by the number of Linux related file's that they
carry. This is so you can choose one's that has a better chance of
carrying the file's you are looking for if you are calling long distance.
The BBS's are rated on a scale of one to five.

1 -- Only enough the most basic of files
2 -- The basics and a little more
3 -- So, so
4 -- A respectable amount
5 -- Pretty much everything you need

Information about the boards access policies can be obtained by
checking a three digit field.

YYY -- Either a Yes/No/? answer to the question
|||
||Free access to Linux files
|Allow file requests (FidoNet)
First time D/L of Linux related files

NOTE: Just because a board has N's in the first two fields does not
mean that it is a board to stay away from. A lot of boards require
that you register and be verified before you can access most of their
features, hence the first N. The second field is, to the best of my
knowledge, limited to BBS's that are part of FidoNet.

QUESTION: What are some of the best BBS's to check out?

ANSWER:

In the US:

CA YNY hip-hop 408-773-0768 14.4k V.32bis/HST
5 Sunnyvale Login: guest (no password)
DC NNY When Gravity Fails 202-686-9086 14.4k
5 Washington
FL ??? Slut Club 813-236-1232 14.4k
5 Tampa/St.Pete Fidonet 1:377/42
GA YYY Information Overload 404-471-1549 9600 HST
5 FidoNet 1:133/308
ID ??? Rebel BBS 208-887-3937 9600
5 Boise
IL YYY EchoMania BBS 618-233-1659 14.4k HST
3 Belleville Fido 1:2250/1 (f'reg LINUX)
F'reqs from unlisted nodes, online callback verifier (works L.D.)
MD ??? Brodmann's Place 301-843-5732 14.4k
5 Waldorf RIME ->BRODMANN
NC ??? MAC's Place 919-891-1111 DS modem
5 Dunn RIME ->MAC
NY YYY Prism BBS,Middleton 914-344-0350 9600 HST/v.32
5 Middletown, NY Fidonet 1:272/38
NY YYY The Laboratory 212-927-4980 16.8k HST, 14.4k v.32bis
3-4 FidoNet 1:278/707
OR YYY Intermittent Connection 503-344-9838 14.4k HST v.32bis
5 Eugene, Ore 1:152/35
TX YYY Advanced BBS 512-578-2720 9600
5 Victoria, TX Fidonet 1:3802/215
VA ??? VTBBS 703-231-7498
5 Blacksburg
WA YYY S'Qually Holler 206-235-0270 9600
5 Renton Fidonet 1:343/34

And here are all the known BBS's outside the US:

AUSTRALIA:
NSW YYN Linux-Support-Oz +61-2-418-8750 2400
2-3 Sydney Intlnet, SBCNet
? ??? 500cc Formula 1 BBS +61-2-550-4317 V.32
? (2-3)
CANADA:
ON ??? EX-10 Kitchner 519-725-4400
?
ON ??? Ned's Ottawa 613-739-1591
2
ON ??? Bytown 613-236-1232
2 SmartNet
PQ ??? Synapse 819-246-2344 819-561-5268
5 Gatineau RIME->SYNAPSE
GERMANY:
??? bakunin.north.de 00 49 421 870532 9600
? D 2800 Bremen [email protected]
??? ?????????????? +49-40-735-5349 14.4k
1
??? Hipposoft's Mail Server +49-241-875090 14.4k V.32bis/HST
3 D-W5100 Aachen Fidonet 2:242/6
IRELAND:
??? TOPPSI +353-1-711047 or 773547 9600
? Fidonet 2:263/151
NORWAY:
??? Thunderball Cave 472567018
? RIME ->CAVE ?
NETHERLANDS:
??? DownTown BBS Lelystad, Linux Support BBS 14.4k
? +31-3200-48852 FIDONET
SOUTH AFRICA:
??? Andre Skarzynski - Linux Activists of Southern Africa
? +27 2231 78148 (Is this voice or data?)
UNITED KINGDOM:
NYN The Purple Tentacle +44-734-590990 HST/V32bis
3-4 Reading Fidonet 2:252/305
??? A6 BBS +44-582-460273 14.4k
? Herts Fidonet 2:440/111


QUESTION:
What are File Requests?

ANSWER:
FidoNet BBS's with the right type's of front-end mailer's can call other
Fido BBS's and request their front-end mailer to send them files that they
want. All this can be done automatically. File Requests (freqs) are
basically the FidoNet equivallent to UUCP.

III. INSTALLATION and COMMON PROBLEMS
=====================================
*** Note: this FAQ section should be kept up-to-date, and should
*** be the most 'reliable' source for installation info. Please mail
*** any corrections or changes to this section's coordinator,
*** Matt Welsh ([email protected]).
*** Last update 13 Dec 1992.

III.A. WHERE TO START: What are the reliable sources of information
III.B. LINUX PACKAGES: Where and how install a complete Linux package
III.C. SOME COMMON PROBLEMS: Simple problems and simple solutions

III.A. WHERE TO START
~~~~~~~~~~~~~~~~~~~~~

QUESTION: I want to install Linux on my machine. Where do I start?

ANSWER: The first thing you should do is read through the various
introductory files, and ESPECIALLY the FAQ (this file). Especially
this section :). A lot of effort has been done on these intro files,
but note that some of them conflict with each other and cover older
versions of Linux. When in doubt consult this file.

These files are all found on tsx-11.mit.edu:/pub/linux/docs...

FAQ
The Linux Frequently Asked Questions list
It's sitting in your hands now. This section is probably the best
place to start to get the most up-to-date Linux installation
information.

INFO-SHEET
Linux Information Sheet, by J. Winstead/L. Wizenius
This is a collection of general info about Linux. It's
a good place to start if you've never heard of the package
before.

README.kernel
Kernel compilation README file, by L. Wirzenius
This is the README notes for recompiling the Linux kernel from the
sources. You don't need it unless you're planning to upgrade

your kernel by compiling it yourself.

Others
Every "release" of Linux (such as MCC-interim, SLS, HLU's disks, etc.,
see below) has its own up-to-date README files and docs that explain
how to install that release. This FAQ section summarizes, but for more
info on how to install Linux, read the READMEs and docs for the release
that you choose.

Old docs
There are a number of obsolete, old docs lying around. Most of these
tell how to install Linux from the old boot/root disk combo. I DO NOT
SUGGEST that you use these docs unless you know what you're doing--
the best thing for beginners to do is read this FAQ and install the SLS
release (using the docs and READMEs for the SLS release).
These old docs are things like "install.txt", "guide.txt", "RELNOTES",
"CHANGES", and so on, and are all geared towards old versions of the
boot/rootdisk. They are *NOT* relevant to current versions of Linux.


QUESTION: Is there some kind of limit on how large my Linux partitions
and/or filesystems can be?

ANSWER: There's no limit on partition size (just the size of your drive),
but Linux mainly uses the minix filesystem which limits filesystems to
64 megs each. You can also use the extended filesystem (which is still
in testing, but has been included with recent kernel versions) which has
a limit of 4 terabytes. Probably enough unless you have a disk array. ๐Ÿ™‚

III.B. LINUX PACKAGES
~~~~~~~~~~~~~~~~~~~~~
This section contains information about *SOME* of the possible Linux
packages available. The information related to the MCC package were
written by A.V. Le Blanc.


QUESTION: Does there exist a way to get all (or nearly all) of the Linux
stuff?

ANSWER: Yes. To install Linux, you're going to want to choose one of the
"releases" of Linux, all of which have a different method of installation
and set up. Each release also has its own README and installation docs,
which you'll want to read first. But I'll summarize here. The major
releases are:

* The "Softlanding Linux System Release"
Also known as the "SLS" release, consists of 14 disks for Linux
and 8 for X11. The nice thing about this release is that you can
pick and choose which disks and packages you want to install. The
first 2 disks must be "rawritten" (using rawrite.exe) on floppies,
and the rest of the images are put onto DOS format floppies.
Contains all of the stuff in the MCC release plus a lot more
(like mail/uucp), and includes X11 on the last 5 disks. Is also
very easy to install for newcomers.

This is the release that I suggest everyone new to Linux should
install. It's the most complete and up-to-date package. HLU's
disks, below, are good for upgrading, and (unfortunately),
the MCC-interim is quite dated at this point. If you install
SLS you'll save yourself a lot of trouble.

* H.J. Lu's "bootable rootdisk"
This is a release of the Linux kernel and basic binaries on
a single floppy. It, along with HLU's 'gccdisk', 'libdisk',
and so on, are good for upgrading or installing basic
Linux system by hand. It's not reccommended for newcomers,
because there's no real install script, it's mostly meant
as an upgrade of the basic system software. Beginners should
install SLS or MCC-interim (see below) instead.
The images and docs are found at tsx-11.mit.edu:/pub/linux.

* The "MCC Interim Release" ("Manchester Computing Centre")
Several (at this point, seven) disk images that contain the
Linux kernel, root filesystem, and binaries for every major
program that you'll need, including GCC, file utils, bash,
everything. Everything, that is, except X11 (which is easy to
install on top of this release). The MCC interim release is
very easy to install, and contains all the programs you'll
need to partition your hard drive and create filesystems, etc.
first before installing the Linux system itself. See below
for more.
*LAST UPDATE* kernel 0.97.2, a bit dated ๐Ÿ™

* Others
There are other releases and distributions of the Linux software,
such as the "sc.tamu" and "MJ" releases. There is also an older
"boot/root" disk combo (0.98.1) which is like HLU's bootable
rootdisk, above, but it's no longer supported (as far as I know).

QUESTION: Where can I get these versions of Linux?

ANSWER:

The SLS release is at tsx-11.mit.edu:/pub/linux/packages/SLS.

H.J. Lu's "bootable rootdisk" release is found at tsx-11.mit.edu:
/pub/linux/packages/GCC, as well as the mirror sites.

The MCC Interim release is at ftp.mcc.ac.uk:/pub/linux/mcc-interim. It's
also mirrored to nic.funet.fi: /pub/OS/Linux/images/mcc-interim, and
tsx-11.mit.edu: /pub/linux/mirrors/mcc-interim.

The MJ release (discussed more below) can be found at ftp.dfv.rwth-aachen.de:
/pub/linux/mj-bin.

The sc.tamu versions can be found at sc.tamu.edu:/pub/free_unix.


QUESTION: What should I do to install the SLS release?

ANSWER: Basically all of the releases are alike. You need to get
the DOS program 'rawrite.exe' (or 'rawrite2.exe'). This program takes
a binary file and writes it, block by block, to a blank formatted
floppy. This is the way to take a Linux floppy image and put it onto
a disk from DOS.

For the SLS release, you need to get the files in the a1, a2, a3,
and a4 directories at least. You also need the README's there.
Basically, you use rawrite to copy the a1 and a2 images onto floppies.
Or, you can use 'dd' on your UNIX system to transfer the files directly
to floppies (assuming you have a floppy drive on your UNIX system) in
place of rawrite.

The rest of the files all go onto DOS-formatted floppies, just using DOS
copy. The SLS release is nice because it reads the DOS floppies during
installation, so you don't have to rawrite all of those disks.

Once you have these 4 disks, you're ready to go. You can also get all of
the files in the b1-b7 directories (for extras, like man pages and
emacs), c1-c4 directories (for the GCC compiler and libraries), the x1-x8
directories (for Xwindows), and so on, but they're all optional. I suggest
at least getting the files in the a, b, and c directories. Remember that
only the a1 and a2 images need to be rawritten, ALL of the other files just
do onto the floppies in DOS format.

First you boot the a1 disk. It will load up Linux, and will ask you to put
in the a2 disk at some point. You'll be left with a prompt... from here you
want to look at the SLS README file on-line (it tells you how).
Then you'll run 'fdisk' to create your Linux partition(s), and then reboot
the a1 disk again (putting in the a2 disk, again, when asked). Then you'll
run 'mkfs' and 'mkswap' to make your filesystems and swap space. Then you're
ready to install the software-- type
doinstall /dev/PART
where PART is the main Linux partition you created with fdisk, above.
>From here on it's pretty automatic-- you simply flip disks while it installs
the software. First it will ask you how much software you plan to install--
just choose the correct option depending on which sets of disks you got.

You will need to have a blank DOS-formatted floppy on hand. The installation
procedure makes a Linux kernel boot disk out of it.

QUESTION: What's about SLS ?

ANSWER: (this is part of the FAQ written for SLS 0.98p5 by Peter
MacDonald).
SLS (Softlanding Linux System) Copywrite 1992, Softlanding Software.

which is NOT just an image dump of someones Unix system.

Also note that in the interest of preventing ftp storms, the version
of SLS that appears on the internet, is not quite the same as the
version distributed by Softlanding. Softlanding regularly gets a
whole new version which has the changes integrated. But the updates
to the Internet version are tailored to minimize the amount that has
to be downloaded to become current. That is why bugs manage to creep
in on me. I am not installing and testing the Internet version,
although, functionally, it should be quite close to the Softlanding
one.

So, why am I telling you this? After the next period of stability
(few changes to SLS), I will be uploading the Softlanding version of
SLS to tsx-11.mit.edu.

This distribution is freely available if you have internet
access, or an obliging friend with access to it.

The purposes of the SLS are the following:
0) provide an initial installation program (for the queasy).
1) utilities compiled to use minimal disk space.
2) provide a reasonably complete/integrated U*ix system.
3) provide a means to install and uninstall packages.
4) permit partial installations for small disk configs.
5) add a menu driven, extensible system administration.
6) take the hassle out of collecting and setting up a system.
7) give non internet users access to Linux.
8) provide a distribution that can be easily updated.

SLS is a binary mostly distribution (except for the kernel), and is
broken into multiple parts, or series, each of which is denoted by a letter
followed by the disk number as follows:

a1-aN: The minimal base system
b1-bN: Base system extras, like man pages, emacs etc.
c1-cN: The compiler(s), gcc/g++/p2c/f2c
x1-xN: The X-windows distribution
i1-iN: Interviews (doc and idraw)
t1-tN: TeX (document processing)

This scheme allows new disks to be added to the distribution without
changing the disk numbering. Also, the sysinstall program doesn't
have to be changed when new disks are added as the last disk is marked
by the presence of the file "install.end". And when interviews is
added, say as a new series "i", it can be installed with:

sysinstall -series i

Highlights of the base are: gcc/g++, emacs, kermit, elm/mail/uucp,
gdb, sc (spreadsheet), man pages, groff, elvis, zip/zoo/lh and menu.
Highlights of X are: X, programmers libs, 75 dpi fonts, games (spider,
tetris, xvier, chess, othello, xeyes, etc) and utilities like xmag,
xmenu, xcolormap and ghostscript. Approximate usage is as follows:

Tiny base system: 9 Meg (Series 'a')
Main base system: 25 Meg (Series 'a', 'b' and 'c')
Main base system + X11: 45 Meg (Series 'a', 'b', 'c' and 'x')

Please read the file COPYING which outlines the GNU copying
restrictions. The linux kernel is copywrite Linux B. Torvalds.
Various other copywrites apply, but the upshot is that you
may do whatever you like with SLS, except restrict others
in any way from doing likewise, and you must leave all copywrites
intact, and you can not misrepresent or take credit for others work.

AVAILABILITY

SLS is available from the address:

Softlanding Software
910 Lodge Ave.
Victoria, B.C., Canada
V8X-3A8
(604) 360-0188

More details about SLS can be asked to [email protected]


QUESTION: What should I get to install the bootdisk/rootdisk combo
release?

ANSWER: Essentially it's a lot like the SLS installation, above. You get
the boot disk and root disk, and use rawrite to transfer them to floppies.
Then you boot the boot disk, and put in the root disk when asked. At this
point you login as 'install' to install the software.

QUESTION: What are the files /bin/sh and /bin/tar provided on the
0.97 rootdisk image (rootdisk-0.97)?

ANSWER: This image has been setup by Jim Winstead Jr, thanks to him.
The bin/sh is bash, the GNU tar is NOT on the root disk, instead the
PAX utility is there, NOTICE that this pseudo-tar does NOT handle the
'z' option for compressed tar files, instead you have to do the
following assuming the tared compressed file is myfile.Z and you want
to test it (flag t):

uncompress -c myfile.Z | tar tvf -
or
zcat myfile.Z | tar tvf -

But otherwise it works fine.


QUESTION: How do I get and install H.J. Lu's "bootable rootdisk" release?

ANSWER: It's just like the boot/root disk and the SLS release. Just get the
bootroot disk image and use rawrite to transfer it to a floppy, and then
boot it. You'll probably want to get the 'gccdisk' and 'libdisk', etc.
images and rawrite them to floppies as well. Note that this release doesn't
have a user-friendly installation script, it's meant mostly to upgrade or
install the system by hand. Unless you're familiar with Linux this may
prove difficult. ๐Ÿ™‚


QUESTION: What is the MCC interim version of Linux?

ANSWER: The MCC (Manchester Computing Centre) versions of Linux are
designed to provide an installation/recovery system for Linux at
various release levels. As of Sept 92, five MCC versions of Linux
have appeared at intervals of 6-8 weeks. The current versions include
basic system utilities, many GNU utilities, man pages, groff, gcc and
g++, gdb, and full kernel sources. MCC interim Linux is distributed
entirely on floppy disk images, of which there are 7 in release
0.97p2 (boot, utilities, misc, comp1, comp2, g++, and gdb). The
original intention was to create a basic Linux installation on two
floppies, and other disks have been added in the course of time.

The current MCC-interim release is 0.97.1, which is VERY outdated.
The SLS release is more up-to-date, and unless you want to completely
reinstall your system from SLS later, you should install SLS. Unless,
of course, MCC-interim is updated sometime, but I don't know of any plans
for this.


QUESTION: What are the advantages and drawbacks of using MCC or another
version over using the standard boot/root disks?

ANSWER: It is not possible to keep a large distribution like the MCC
interim versions absolutely up-to-date; if you want the very latest
copy of one or another program, you must get it from one of the ftp
sites yourself, and it might not cooperate with existing utilities.
On the other hand, MCC interim versions provide a large number of
utilities in a simple form, compiled in the same way, and integrated
into a fairly stable system. An MCC version of Linux will not have
its bugs fixed as rapidly.



QUESTION: How is installing MCC interim Linux different from installing
Linux from the standard boot/root disks?

ANSWER: The MCC interim versions of Linux do not use a floppy as their
root disk; instead they use a ramdisk contained on the boot image.
This means that more programs can fit on fewer disks, but that more
memory is used during installation. This may cause problems on
systems with only 2megabytes of memory. Also, parts of the MCC
interim systems may assume that some utility or library has been
installed from the same MCC interim system, and so may not work
properly if you have installed Linux from the standard root/boot
disks.

QUESTION: How can I find out more about the MCC interim versions of
Linux?

ANSWER: The file README in mcc-interim/0.97p2 at the various sites
mentioned describes the available files. The file README.install in
the same directory describes the installation in detail.

QUESTION: How do I go about installing the MCC Interim release?

ANSWER: FTP to ftp.mcc.ac.uk:/pub/linux/mcc-interim or one of the
mirror sites and grab all of the images and the gobs of README files.

Just rawrite these images to floppies and boot from the boot-US (or
boot-UK) image (read the Q/A above on the bootdisk/rootdisk combo for
instructions on using rawrite and so on). The reason you have a US and a UK
boot and util disk is that the keyboard codes are different depending on the
country.

This is a LOT like the SLS installation, except you have to rawrite all of
the floppies.

After booting the boot disk, you'll be prompted to put in the util-US (or
util-UK) disk and proceed with the installation. The basic steps that you'll
take are:

-- run fdisk to create Linux partitions
-- reboot from the boot floppy, then put in the util disk when asked
-- run mkfs to make filesystems and mkswap to make swap space on those
partitions
-- Mount each of the disks in turn and run the install script on each
of them

It's actually pretty simple, and the installation scripts take care of
most of the work. The tough part is making the partitions and
filesystems, just read the "README.fdisk" with the MCC release on how
to do this.


QUESTION: Any information about the MJ-stuff ?

ANSWER: The MJ-release was meant originally to allow users to upgrade their
Linux system to the shared library structure. However, this setup has been
standard for some time, and the other releases already incorporate this.
You can still check it out: Following Wayne Davidson advice "the mcc-interim
distribution has slightly smaller binaries on it, so I only used the
mj set to fill in a few extra executables that I was missing. Now I
not only have more executables on my disk than before but more free
disk space than I started with." mj**** is the Martin Junius package
and can be found at ftp.dfv.rwth-aachen.de in pub/linux/mj-bin.



III.C. SOME COMMON PROBLEMS
~~~~~~~~~~~~~~~~~~~~~~~~~~~

QUESTION: How can I boot Linux off of my hard drive?

ANSWER: You need to install the "LILO" program which changes the boot
sector of your hard drive to allow you to choose between a DOS or a Linux
partition to boot from. These programs are provided with most major
releases, or you can get them seperately from one of the FTP sites.


QUESTION: I have the previous Linux version, how can I upgrade it?

ANSWER: If you've never done this before, get the kernel sources from
your nearest FTP site (in a file named something like linux-*.tar.Z)
and unpack them into /usr/src/linux. Then edit the Makefile to your
taste, and run "make". Assuming you have GCC installed correctly, the
kernel should compile and you'll be left with a new "Image" which is your
new kernel: if you boot from harddrive, copy the Image to wherever you
told LILO to look for it, or if you boot from floppy dd the Image to a
new floppy. Make sure that you run "rdev" on the Image to make it look
for the correct partition for your root filesystem (if you specified
this correctly in the Makefile you don't need to do this).

Note: You may need to get the new sources for programs like "mount" or
"ps" corresponding to your new kernel version as well. These programs
tend to change with each kernel version, so after making your new kernel
make sure you have the most recent versions of these programs and compile
them.

If you HAVE done this before, you can just apply the source patches to
your old sources and then recompile (i.e. you don't have to get the
entire kernel sources all over again). Use the "patch" program to do
this.


QUESTION: How can I be sure I won't be writing over anything
important? I have to use DOS on my machine, and I don't want to
lose any files.

ANSWER: Back up everything. Just in case. Then, write some easily
recognizable pattern to the partition you have reserved for linux,
using some DOS tool. You can then use "cat /dev/hdX" under linux to
examine which of the partitions you used.


QUESTION: Linux mkfs doesn't accept the size I give the device, although
I double-checked with fdisk, and it's correct.

ANSWER: Be sure you give the size in Linux BLOCKS (1024 bytes), not
sectors. Also make sure that you have the right partition: partitions
are numbered "/dev/hda1", "/dev/hda2", and so on (and "/dev/hdb1",
"/dev/hdb2" for the second hard drive)... DON'T use "/dev/hda" or
"/dev/hdb" as they correspond to the entire disk, not just single
partitions.


QUESTION: I just rebooted my machine, and now Linux dies with a
"panic: trying to free unused inode". What's going on?

ANSWER: You probably forgot to "sync" before rebooting, which stores
on the disk physically the contents of the kernel buffers. You can
either run "fsck" on the partition to TRY to correct the problem (it
might fail), or re-mkfs and re-install the software on that partition.


QUESTION: I have a one partitionned 40Mb disk. If I run mkfs, what
happens?

ANSWER: If you do that, you will have an empty 40Mb Linux file system.
You should, at least, make on your hard disk, one partition per
operating system you want to use.


QUESTION: Can I use both OS/2 and Linux on my machine??

ANSWER: Yes! See the following two Q/A's about getting your OS/2 Boot
Manager to work. But, be warned: IF YOU USE OS/2, DO NOT USE LINUX's
FDISK TO CREATE LINUX PARTITIONS!! The problem is with a bug/feature in
OS/2's fdisk that tries to correct 'errors' in partitions that it doesn't
like... Linux partitions included. The solution: make your Linux
partitions with OS/2's fdisk, then use Linux's fdisk to change the
partition ID's to the right values (this is self-explanatory with Linux's
fdisk).

If you made your Linux partitions with Linux's fdisk, and OS/2 sees them,
it will think they have errors and end up trashing them.


QUESTION: I use OS/2's Boot Manager on my hard drive. How can I get it to
recognize Linux?

ANSWER: To do this, install LILO on your Linux root partition, NOT on
your hard drive's master boot record. The lilo command for this would be
(if /dev/hda3 is your Linux root partition, and your Linux kernel is in
/vmlinux):

/etc/lilo/lilo -c -b /dev/hda3 -v -v /vmlinux

Then use OS/2's fdisk to add it to the Boot Manager.


QUESTION: When I run Linux's fdisk it says "OPUS" for OS/2's Boot Manager
partition. Is this right? What's OPUS?

ANSWER: It's correct. OPUS is BBS software that used partition type 0x0A
long before OS/2.

QUESTION: (Denise Tree)
Where is /usr/include/linux and /usr/include/asm?" or "Why
won't my new kernel source compile without errors?", etc.

ANSWER: These directories exist as symbolic links to the online linux
kernel source found (usually) in /usr/src/linux/include/linux/* and
/usr/src/linux/include/asm/*. Do:

ln -fs /usr/src/linux/include/linux /usr/include/linux
ln -fs /usr/src/linux/include/asm /usr/include/asm

to create the symlinks. OR ELSE! It's a good idea to keep kernel
source on your system because the header files are needed for
compilations other than the kernel.



--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#LaBRI | #
# 351 cours de la Liberation | e-mail: [email protected] #
# 33405 Talence Cedex | #
# | #
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
There will be some sig, once our local net will be reliable.
Right now I rather stay anonymous.

From: [email protected]
Newsgroups: comp.os.linux,news.answers
Subject: Linux Frequently Asked Questions 2/4 [monthly posted]
Summary: Linux, a small and free unix for 386-AT computers.
Date: 20 Jan 93 11:29:07 GMT
Sender: [email protected] (Marc-Michel CORSINI)
Reply-To: [email protected]

Archive-name: linux-faq/part2
Last-Modified: 93/01/16
Version: 1.15

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

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

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

IV.LINUX and DOS(part2)
V.SOME CLASSICAL PROBLEMS(part2)
VI.MISCELLANEOUS HINTS(part2)
VII.MORE HINTS(part2)

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


IV. LINUX and DOS
=================
*** This section is co-written by Mark Komarinski, A. V. Le Blanc and
*** MM. Corsini. The official maintainer is Mark, if you have *any*
*** questions, critics \ldots, mail him at [email protected]
*** Last Update 15.11.92


QUESTION: Is is possible to access DOS from Linux?

ANSWER: Yes.
(1) The mtools package allows you to access DOS files;
it emulates the DOS commands CD, COPY, DEL, DIR, TYPE, and others.
(2) Since approximately version 0.97 of the kernel, you can mount
DOS file systems as part of your Linux directory tree, providing you
have an appropriate mount command.
(3) A DOS emulator is in alpha test, which will allow some DOS programs
and utilities to run under Linux.


QUESTION: Why use mtools if you can just mount a drive?

ANSWER: Mtools is good if you want to do something quickly. For
example, if you want to get directories on a bunch of floppies. The
mount procedure requires you to mount the drive, get a directory, then
umount it. Mtools lets you get the directory with one command.

(Dirk Hohndel:) Mtools is really fast when copying disks. I mount the
SLS directory of my SUN to my linux box and use mcopy to get the files
on the disks. 3 times faster than using xcopy under DOS

QUESTION: How do I get the mtools package set up correctly?

ANSWER: The mtools package is available in source form on most Linux
ftp sites. The most recent version (As of Sept 1992) is mtools.n2,
and there are linked binaries and library (.a) files available as
well (for example, as part of MCC interim releases of Linux).
In the n2 release of mtools, there is only one executable binary
which works differently depending on its name: you can create hard
or symbolic links to it named mcopy, mdel, mdir, mtype, etc; this
is how the Makefile in version n2 of mtools does it, and it saves
several hundred kilobytes of disk space. Finally, you need the
correct information in the file /etc/mtools, which is described below.

QUESTION: What is the format of the file /etc/mtools?

ANSWER: A complete entry in the file /etc/mtools contains the following
fields: drive, device, fat, cylinders, heads, sectors, offset. Two
examples of entries from /etc/mtools are

A /dev/fd0 12 80 2 15
C /dev/hda1 16 0 0 0

which defines the DOS disk A: as accessible through the device /dev/fd0,
having a 12-bit FAT, 80 cylinders, 2 heads, and 15 sectors per track;
DOS disk C: is accessible through the device /dev/hda1, has a 16-bit
FAT, and its geometry is simply that of the hard disk where it lives.
The last three numbers can be 0 if you wish; this allows mtools to
try to figure out the disk's geometry itself, and perhaps to fail.
A 12-bit FAT is common for floppies, but may occur in small hard
disk partitions. A 16-bit FAT is common for hard disks.
This is an extract of my /etc/mtools file:
A /dev/fd0 12 0 0 0 # 3.5 1.4 Meg (autodetect)
B /dev/fd1 12 0 0 0 # 5.25 1.2 Meg (autodetect)
C /dev/hda1 16 0 0 0# 1st partition of my Disk

QUESTION: Where can I find out more about mtools?

ANSWER: There are two detailed README files in the mtools.n2 distribu-
tion. These files treat compiling and using mtools. There is a file
README.mtools which treats only using mtools, which is a part of the
MCC interim version of Linux.


QUESTION: How do I use the DOS file system?

ANSWER: The DOS file system is part of the kernel. If you have a
kernel of level 97.1 or above, and an appropriate mount command, type

mount -t msdos [-o conv=text] /dev/hda1 /dos

to mount the partition /dev/hda1 as an MS/DOS file system on the
directory /dos. You'll need a recent mount command, from at least
release 97 or later of the root disk. Recent mount commands also
accept the options conv=binary|text|auto (default is binary) to
specify that text end-of-lines in DOS files are to be converted to
UNIX end-of-lines (by omitting carriage return characters) in no cases
(binary) or in all cases (text) or in cases that don't have 'well-
known binary extensions' (e.g., .EXE or .COM) (auto).


QUESTION: I want to use the DOS file system with either conv=binary or
conv=auto, but I want to convert text files from DOS to UNIX format,
or from UNIX to DOS format.

ANSWER: Use the utility todos/fromdos which comes as part of the
dosfs package, currently (Sept 92) in released in version 8, or
use the flip utility by Rahul Dhesi.

QUESTION: Where can I find out more about the DOS file system?

ANSWER: There is a README file included in dosfs.XX.tar.Z (the current
value of XX is 8), and an abbreviated version of this in the MCC
interim package.


QUESTION: Whenever I use mtools to read a 720K in an 1.44MB drive, I
get a long sequence of reset-floppy-errors, why?

ANSWER: This is what happens if you use the /dev/PS0 device (b 2 28),
to read a 720k floppy you have to use another device, for example
/dev/fd0. Or you may use the setfdprm utility.


QUESTION: This sounds me like a chicken and eggs problem, how can I
install the mtools package at the very beginning.

ANSWER: You have to use the rawrite stuff or the mount procedure.


QUESTION: Could someone explain how to use rawrite?

ANSWER: Well, rawrite is a DOS util, which write sequential sector of
a formatted disk/floppy. When a floppy has been rawritten, you can
(under Linux) untar it (use x, v, z and f flags). As an example:
a) under Dos use rawrite
rawrite
source: kermit.z
destination: a
b) boot under Linux, and perform a tar
tar zxvf /dev/fd0
tar zxvp < /dev/fd0


You DO NOT NEED TO MOUNT a rawritten disk


QUESTION: What is as86.tar.Z ?

ANSWER: It's the port of Bruce Evans' minix assembler, you need it to
be able to recompile Linux at your convenience. In fact this is ONLY
used for boot/setup.S and boot/bootsect.S they create 80x86 REAL mode
code.


QUESTION: Turbo (Microsoft) Assembler won't compile the Linux boot
code. In fact, some of the opcodes in these files look completely
unfamiliar. Why?

ANSWER: The Linux boot codes are written in Bruce Evans' minix
assembler, which has the same opcodes as the original minix assembler
ported to linux get as86.tar.Z Anyway there are a few differences
between these and normal DOS assemblers.

QUESTION: What about the dos emulator (dosemu)?

ANSWER: Dosemu is in alpha testing now, so it is very unstable and crashes
easily. Some programs (such as earlier versions of Turbo Pascal; TP
5.5 too) seem to work fine, but other programs such as dir /p will
crash the emulator.
Look in your favorite FTP site for the dosemu kit.


V. SOME CLASSICAL PROBLEMS
==========================

QUESTION: While running du I get "Kernel panic: free_inode: bit
already cleared". Also, du produces a ENOENT error for all the files
in certain of my directories. What's going on?

ANSWER: These are both consistent with a bad file-system. That's
relatively easy to produce by not syncing before rebooting, as linux
usually has 1.5MB of buffer space held in memory (unless you have <=4M
RAM, in which case the buffers are only about 0.5MB). Also linux
doesn't do anything special about the bit-map blocks, and as they are
used often, those are the thing most likely to be in memory. If you
reboot, and they haven't been written to disk ...

Just do an fsck on the device, the -a flag might repair it otherwise,
the only thing to do is to reinstall the filesystem from the Images.

A sync is done only every 30 seconds normally (standard unix
practice), so do one by hand (some people think you should do 3 syncs
after each other, but that's superstition), or by logging out from the

startup-shell, which automatically syncs the system. Unmounting a
filesystem also syncs it (but of course you can never unmount root).

Another (sad) possibility is that you have bad blocks on your disk.
Not very probable, as they would have to be in the inode-tables, just
a couple of blocks in size. Again there aren't programs available to
read a disk for bad sectors and put them in some kind of
"bad-sector-file". On IDE drives this is no problem (bad sectors are
automatically mapped away).


QUESTION: How can I partition my hard-drive to use Linux?

ANSWER: There are (at least) two ways to answer this. The easy way is
probably to use a program which will do it for you, such as the MS-DOS
fdisk, Minix fdisk, Xenix/Unix fdisk, or programs such as edpart.exe
or part.exe. With the 0.95a distribution, there is pfdisk. To use it
have a look in the beginner's guide written by I. Reid, it's clear and
it had worked for me like a charm. In the mcc-interim release ther is
also fdisk, which runs under Linux and manages partition tables
(it also creates extended partitions).

On the other hand, you can use a disk editor and modify the contents
of the partition table directly. This has been already done, and an
extensive explanatory note can be found in the mailing-list archives
(25th Jan. 92). You must also edit the bpb on the Dos partition you
are shrinking, otherwise Dos will step on Linux.

BTW It might be useful to set three (3) separated partitions for
Linux, one for the root, another one for the usr and a third one for
swap, as an illustration, my root partition is 10Meg, the usr is 22Meg
and instead of a swap partition I use a swap file. As an experience I
have used MS-DOS fdisk to partition my two hd and got no peculiar
difficulties.
You can, as long as you stay within the 64MB per filesystem limit
(Minix-filesystem limitation), have swap, root, etc, ... all on there.


QUESTION: I heard something about repartition a hard disk without
deleting everything on it, any clue?


ANSWER: It's not a program but a partition procedure which requires
a) a partitionning program
b) a sector editor
The procedure itself can be found (at least) in digest#132 Vol2.


QUESTION: What must I do to mkfs a floppy?

ANSWER: blocks are of size 1K so 1.44 floppy is 1440 blocks. The
floppy has to be formatted before this will work (e.g., fdformat can
do this from within Linux).


QUESTION: I have some trouble with tar/untar; any clue ?

ANSWER: The tar provided on .96 and latter is Pax (don't know for .98)
which do not accept the z flag. You can download the GNU tar at tsx-11
in /pub/linux/binaries/usr.bin


QUESTION: I can do this as root but not as non-root, is it a bug?

ANSWER: Except for an early make utility, the problem is caused by an
incorrect permission flag. The most common problems are about /tmp
which should be 1777 and /dev/ttys? which might be 766. So as root do

chmod 1777 /tmp ; chmod 766 /dev/ttys?


QUESTION: "du" reports twice the size showed with "ls -l", is it a
bug?

ANSWER: No it is not, the report is 512 bytes multiple (due to POSIX
requirement), for KB you just add the -k flag. You can add a du
function in your .profile which does this automatically, something
like du(){ /usr/bin/du -k $* }


QUESTION: Sometimes, I get "mount can't open lock file"; what does this
means?

ANSWER: This can happened for two reasons:
A) You try to mount something as non-root. In that case you can either
retry as root, or set the setuid bit to mount as follows:
- be sure that mount belongs to root, if not do 'chown root /bin/mount'
- set the setuid bit with 'chmod u+s /bin/mount'
BTW you have to do the same with umount (in order to be able to unmount)
Remark that it is NOT safe to allow anyone to perform mount/umount,
you should rather write a small utility that will make any user able
to mount/unmount a (and ONLY a) *floppy*
B) You are root. mount wants to open /etc/mtab and /etc/mtab~ - the
first one for reading, the second as lock file. If there is already a
mtab~ remove it. This can happen if you used once gnuemacs on mtab.

To forbid that case, just add the following entry in your /etc/rc file:
rm -f /etc/mtab


QUESTION: When I try "mount /dev/hd?? /user", I get error 2.

ANSWER: Be sure, that your mount point /user does exist; if not perform
a "mkdir /user".
BTW the error numbering is explained in /usr/include/errno.h


QUESTION: Since I have upgrade my Linux kernel, ps won't work anymore,
why?

ANSWER: Each time you upgrade (or re-compile the kernel), you should
perform a 'ps -U' (-U is for update the /etc/psdatabase).

Every time you boot a new kernel you have to do a 'ps U' to update
the psdatabase, after doing this you can remove the system file or
do a make clean.

The pathname to the system binary [/usr/src/linux/tools/system] is
stored in the psdatabase, so you only have to specify it if you have
moved your source tree or if you are creating the psdatabase for the
first time. The psdatabase is always '/etc/psdatabase'. The system
file is obtained in compiling the linux kernel (which I assume is
rooted in /usr/src/linux).

BTW: sometimes a patch makes recompiling ps necessary. Sometimes you
even have to patch the ps-suite.


BTW: there is also procfs in Linux. And one can find a BETA ps package
(wrote by Michael K. Johnson) based on these filesystems.

MKJ wrote in c.o.l.a:

tsx-11.mit.edu:/pub/linux/BETA/procps/procps.tar.Z is the latest
version of procps. Most of the reported bugs (i.e. all I can remember
at the moment ๐Ÿ˜‰ have been fixed, a man page for ps has been added,
and several new programs have been added and/or fixed. A list of the
stuff provided:
ps
free (a real one, from Linus)
uptime (this needs work to be good, mine is a hack)
tload (a hack, but who cares?)
xload (from drew)
fuser (perl script prototype, hopefully the real thing in a
later release)

QUESTION: Since Linux 0.96b I have a lot of core file all over
my disk. How can I sweep them away ?

ANSWER: Use the following command
find / -name core -exec rm {} \;

BTW: think twice before using this command, there might be a John Core
user on your system; this command will erase his mail ๐Ÿ™‚

(Rick) If you never want to see another core file, put this line into
your /etc/rc file:
ulimit -c 0

provided you are a bash user :))


QUESTION: I can only log-in as "root", is it normal ?

ANSWER: No, add "rm -f /etc/nologin" in your /etc/rc.local file


VI. MISCELLANEOUS HINTS
=======================
*** This section is maintained by Matt Welsh ([email protected]). Please
*** mail me if you have any changes/updates/questions. Thanks -mdw

Special gcc information are located in section IX. A special section is
devoted to it since it's *the* compiler of Linux. I have subsectionned
this part in 3 subsections: Misc/Device Major-Minor/Serial Information.

VI.A. Misc information
~~~~~~~~~~~~~~~~~~~~~~

QUESTION: It seems that $#@! ported on linux don't run correctly, what
do I do about reporting bugs?

ANSWER: (Matt Welsh) It's possible that either the program itself has a bug
or that Linux has a problem that this program brings out. ๐Ÿ™‚ But first check
that the size of the file(s) corresponds that of the files(s) on the FTP
sites where it's available. If they're different, either you downloaded them
incorrectly (i.e. you forgot to turn on "bin") or whoever put them on the
FTP site uploaded them incorrectly.

If that's not the problem, then post to comp.os.linux asking about the
program, to verify that it is a bug. PLEASE: when posting possible "bug
reports" include all error and output information from running/compiling
the program. Just saying "it doesn't work" isn't very helpful. Also mention
your specific setup, Linux version, GCC version, etc. Some of these things
depend on running under certain versions and you may have missed that
information.

Note that my "[email protected]" bug reporting list has been
phased out. It turns out that Linux has so few bugs, most of which are
resolved on the newsgroup or through Linus before I can accumulate them
and post. ๐Ÿ™‚ In short: if there's a bug in Linux or in Linux-ported
software, it will usually be fixed in the next patchlevel or version.


QUESTION: Has $#@! been ported to Linux?

ANSWER: First check out the FTP sites and read the monthly INFO-SHEET,
as well as the new "Linux News" and the META-FAQ's (all of which are
either available on the FTP sites and/or posted to the newsgroup as they're
written). Also check out the "Linux Project Registry" (posted to the
newsgroup and on the FTP sites) which lists ongoing/current Linux projects.
Also look in the "old" Linux digests and mailing-list archives, kept on
tsx-11.mit.edu and nic.funet.fi. Also, see if there's a GNU(*) version
of the program you're looking for (which are available everywhere).
Since Linux uses GCC as its native compiler, most GNU software ports
directly to Linux without problems. If all else fails, ask on the
mailing list or newsgroup if the program is ported and where it's
available.


(*) GNU stands for GNU's Not Unix, which (besides being a recursive
acronym) is a project started by the Free Software Foundation (the FSF)
to write a freely distributable version of Unix. The GNU kernel is
named HURD, and is based on Mach. It is currently being written, and is
not yet done. Many of the GNU utilities, however, are completed and are
much more functional than the original Unix utilities. Since they are
freely available, Linux is using them as well.



QUESTION: I've ported $#@! to Linux, what should i do to add it in the
standard distribution?

ANSWER: (Matt Welsh) First read the previous Q/A, then talk to the
maintainers of the various releases (MCC interim, SLS, and so on)
about including your program with those releases. The best way to make
programs available to the rest of the world is to upload it to one of
the Linux FTP sites (such as tsx-11.mit.edu:/pub/incoming or
sunsite.unc.edu:/pub/Linux/Incoming).

BTW Whenever you submit binaries, please think that if you link them
with shared libraries, this might cause problems for those who (gasp!)
don't have the shared libraries installed. You can either link them
using -static, and if someone wants to build a shared version on their
own machine they can get the sources (which you should also make
available) and build it themself. Or else provide the shared lib.


QUESTION: I want to port $#@! to Linux, what are the flags?

ANSWER: Recall that Linux implements subset of SYSV and POSIX, so
-DUSG and -DPOSIX work in general.

NOTE1: SIGBUS is not there, and can be safely commented out in general.
NOTE2: see section related to GCC, in the third part of this FAQ, for
more details.

VI.B. Major/Minor device number
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*** This section is maintained by Rick Miller, any comments,
*** suggestions, remarks should be mailed to him at
*** Last Update: 17 Nov 1992 16:00:20 GMT

QUESTION: What are the device minor/major numbers?

ANSWER: Here's a preliminary listing from Rick Miller :

The Linux Device List
published by [email protected] (Rick Miller, Linux Device Registrar)

Many thanks to [email protected] and Jim Winstead Jr.

Majors:
0. Unnamed .(unknown) ....for proc-fs, NFS clients, etc.
1. Memory ..(character) ..ram, mem, kmem, null, port, zero
2. Floppy ..(block) ......fd[01][dhDH]{360,720,1200,1440} or fd[01]
3. Hard Disk(block) ......hd[ab] or hd[ab][1-?] (Extended>4)
4. Tty .....(character) ..tty{0,1-8,63,64-127,128-?} or ttys{0-3,1-4}
5. tty .....(character) ..special tty: owner of its calling process.
6. Lp ......(character) ..lp[0-2] or par[0-2]
7. Tape ....(block) ......t[0-?] (reserved for Non-SCSI tape drives)
8. Scsi Disk(block) ......sd[0-?] or sd[0-?][0-?]
9. Scsi Tape(character) ..st[0-?]
10. Bus Mouse(character) ..bm, psaux (mouse)
11. CD-ROM ..(block) ......scd

Breakdown of minors by Majors:
------------------------------

0. Unnamed .(unknown) ....for proc-fs, NFS clients, etc.
Minors???(Not yet implemented???)

1. Memory ..(character) ..ram, mem, kmem, null, port, zero
0. /dev/ram
1. (block): RAM-Disk(character): /dev/mem
2. /dev/kmem
3. /dev/null
4. /dev/port
5. /dev/zero

2. Floppy ..(block) ......fd[01][dhDH]{360,720,1200,1440} or fd[01]
Minors are [drive + [4 * type]] where drive 0-3 == A:-D: (floppy)
and type is:0: Autodetect4: 720k in 3.5"
1: 360k in 5.25" 1.2M5: 360k in 5.25" 1.2M
2: 1.2M in 5.25" 1.2M6. 720k in 5.25" 1.2M
3: 360k in 3.5"7. 1.44M in 3.5" 1.44

3. Hard Disk(block) ......hd[ab] or hd[ab][1-?] (Extended>4)
0. First HD (/dev/hda), whole drive including Master Boot Record.
1-4. Partitions on the first HD.
5-8. Logical partitions within an extended partition on first HD.
64. Second HD (/dev/hdb), whole drive including Master Boot Record.
65-68. Partitions on the second HD.
69-72. Logical partitions within an extended partition on second HD.

Notes:BE *VERY* CAREFUL WITH /dev/hda AND /dev/hdb!! These two
devices signify the *entire* *drive*, not just one partition.
The only things that use /dev/hda or /dev/hdb are things that
need to read/change the partition table (like fdisk).

The names of the hard drives are not the same as under Minix.

Linux doesn't order anything. It perceives partitions in the
order in which they appear in the partition table. Thus,
/dev/hd?1 may be physically after /dev/hd?2.

4. Tty .....(character) ..tty{0,1-8,63,64-127,128-?} or ttys{0-3,1-4}
0. /dev/tty0: This is the currently active Virtual Console.
1-63. /dev/tty#: Specific virtual consoles.
64-127. /dev/ttys*: Serial ports.
128-191. /dev/pty[??]: PTY Masters.
192-255. /dev/pty[??]: PTY Slaves.

Notes: There are several constants set in the kernel sources which
can be changed to compile a more customized kernel. They're
found in [/usr/src]/linux/include/linux/tty.h:

NR_CONSOLESThe number of virtual consoles.
NR_SERIALSThe number of serial lines.
NR_PTYSThe number of pty's.

5. tty .....(character) ..special tty: owner of its calling process.
0. /dev/tty: the tty that owns the process calling it.

6. Lp ......(character) ..lp[0-2] or par[0-2]
1-3. Parallel (printer) ports. (Increasable in include/linux/lp.h)

Notes:The number of line printers is defined by LP_NO which is
found in [/usr/src]/linux/include/lp.h.

7. Tape ....(block) ......t[0-?] (reserved for Non-SCSI tape drives)
This one's just getting started. No minor numbers are yet assigned.
It's not even in the source code.

8. Scsi Disk(block) ......sd[0-?] or sd[0-?][0-?]
Minors numbers are [[16 * HostID] + partition]

Notes:The maximum number of SCSI drives is defined by MAX_SD
found in [/usr/src]/linux/kernel/blk_drv/scsi/sd.h.

Additional note (Eric Youngdale): In the new scsi drivers
there is no set maximum number of scsi disks, hence no need to fiddle
with sd.h Everything autoconfigures as the system boots.

9. Scsi Tape(character) ..st[0-?]
Quoting from the source-code:
void do_st_request(void)
{
panic("There is no st driver.\n\r");
}

Notes:For future reference, the maximum number of SCSI tapes
is defined by MAX_ST which is found in
[/usr/src]/linux/kernel/blk_drv/scsi/st.h.

(E. Youngdale) The same is true here. There is no longer any
need to set MAX_ST, and it would be a bad thing to actually try. Even
though there is a MAX_SR in the cdrom code in the 0.98.5 kernel, the
new scsi code effectively eliminates this as well.

10. Bus Mouse(character) ..bm, psaux (mouse)
(If I recall, X Windows requires that
/dev/mouse be linked to one of these...)
0. /dev/bm: (Logitec?) bus mouse
1. /dev/psaux: PS/2 mouse port
2. /dev/bm: MicroSoft bus mouse
3. /dev/bm: ATI XL bus mouse

11. CD-ROM ..(block) ......scd
Minors?

From: [email protected] (Eric Youngdale)
Date: 17 Nov 92 16:25:40 GMT

> For the cdrom, the minors are just the devices
> themselves. If you have one cdrom drive, the minor is 0. If you
> have two, then the minors are 0 and 1. Not much more to it than that.

> For a SCSI tape, each physical device has two minor numbers
> that are associated with it. If you have two tape drives, then
> minors 0 and 1 will refer to the first and second drives and the
> tape will be rewound when the device is closed. Minor numbers 128
> and 129 (i.e. 128+n) also refer to the first and second physical
> drives, but the tape will not be rewound after closing the device.
> If you have one tape, you could create the devices with the
> following commands:

> mknod /dev/rmt0 c 9 0
> mknod /dev/nrmt0 c 9 128


NOTE: all the numbers given are in decimal form (the one you can see if
you perform ls -l on /dev).


QUESTION: Could some one give me indication about the meaning of the
IRQ's ?


ANSWER: ([email protected]:)
Standard IRQ's :
IRQ 0 - Timer
IRQ 1 - Keyboard
IRQ 2 - Slave 8259 (AT)
IRQ 3 - COM 2 / COM 4
IRQ 4 - COM 1 / COM 3
IRQ 5 - (XT) Hard Disk, (AT) LPT2
IRQ 6 - Floppy Disk
IRQ 7 - LPT1

AT only IRQ 8 - Real Time Clock
IRQ 9 - Re-direct to IRQ 2
IRQ 10 - Not Defined
IRQ 11 - Not Defined
IRQ 12 - Not Defined
IRQ 13 - 80287
IRQ 14 - Hard Disk (AT)
IRQ 15 - Not Defined

QUESTION: (Chuck Boyer) Could some one clear up the devices meaning?

ANSWER: (Jim Winstead Jr)
>port

This allows programs to access the hardware ports directly. Not
something you generally mess around with much.

>ptyp0-3
>ptypa...tty

These are the pseudo-tty 'master' devices. Each pty connection uses
a slave-master set of tty devices.

>tty0...

tty[1-8] are the virtual consoles associated with Alt-F[1-8]. tty0 is
the current virtual console (so writing something to tty0 goes to the
current vc).

>tty64 I've figured out is the modem connection

Yes, that would correspond to COM1 under DOS. However, the tty64 name
is obsolete - ttys[1-4] should be used instead.

>ttyp0...
>ttypa...

These are the pseudo-tty 'slave' devices.

>ttys1...

These are the serial devices. ttys1 corresponds to COM1 under DOS,
ttys2 corresponds to COM2, etc.


VI.C Special Serial
~~~~~~~~~~~~~~~~~~~
*** This section is maintained by Jim Gifford
*** ([email protected],world.std}.com
*** Last update October 1992.

Douglas E. Quale:
This has come up a couple of times already (including the case of
serial mice as well), but for the record stty acts on stdin not
stdout. Old stty's (from V7 through BSD4.3) used stdout, but this is
suboptimal and doesn't conform to POSIX. The GNU stty you are likely
using on Linux uses stdin, as does the stty distributed with BSD
Networking Release 2. (Also, ``stty -a'' is more informative about
possible parameters, although it's pretty hard for me to remember what
90% of that stuff does without refering to the man page.)
Jim Gifford:
However, there are a few older (of mysterious origin) stty's that work
on stdout(I have one myself!)

QUESTION: Is there a list somewhere where I can get help with serial
communications under Linux?

ANSWER: (Jim Gifford -- [email protected])
There is a list for the discussion of serial communications under
Linux. It is for problems, drivers, new developments, etc... with
the Linux serial devices. The list is: [email protected]
To join, send mail to [email protected]
I hope that this list will prove beneficial to the improvement of
Linux. This list is maintained by Michael K. Johnson as
[email protected]

QUESTION: When I run kermit under Linux, I get "Warning, Read access
to lock directory denied". What am I doing wrong?

ANSWER: Nothing, you just need to create /usr/spool/uucp (kermit 4.6?)
or /usr/spool/locks (this is for the kermit5A), which is where kermit
like to lock files.

QUESTION: What are the major, minor numbers for the serial ports under linux?

ANSWER: Major 4, Minor :
64 /dev/ttys0 - com1
65 /dev/ttys1 - com2
66 /dev/ttys2 - com3
67 /dev/ttys3 - com4

QUESTION: can anyone give me a sample /etc/inittab entry for login
from a pc attached to serial line /dev/ttys2?

ANSWER: "Humberto speaking :), updated by Rick Miller"
First set up the modem to turn off echo and enable auto answer, I do
this in kermit by connecting to the modem and typing "ate0s0=1"
followed by enter (w/o quotes). Then setup inittab to spawn getty on
the modem
ttys2:vt100:/etc/getty -m 1200 ttys2
(Replace "vt100" with the name of the /etc/termcap entry for the
terminal type you will use, or use "dumb" if you don't have one.)


Then it should work. Some modems can be permanently set to disable
echo and set auto answer, see your manual.

Jim Weigand says:
disable all messages. This will prevent getty from hanging up
your modem.
Set For:
ATE0 No echo
ATQ1 No messages
ATS0=2 Answer 2nd ring
ATS7=60 1 minute to answer (shorter if 2400 baud)
You can use kermit to set these. Do an AT&W to save for power-up.

Michael K. Johnson says:
If you would rather not save these commands as defaults to come up
on power-up, perhaps because you want to use your current modem
settings under a DOS communications package, you can also shove
these command out ttys? from /etc/rc (or /etc/rc.local) using
the command:
echo "" > /dev/ttys?

QUESTION: How do I set parameters like parity for serial login?

ANSWER: Use stty and redirect input from the serial line.
ex: stty parodd < /dev/ttys2 which gives ttys2 odd parity.
type stty -a to get an idea of possible parameters.
Or 'man stty' as well ๐Ÿ™‚


VII. MORE HINTS
===============

This part try to keep track of the different information
that appeared in comp.os.linux and on the list since beginning of
March. I tried to update it for KERENL_VERSION, so there might be some
mistakes. Moreover take care to use the correct library and include
stuff, and the ad-hoc gcc you use !!!


QUESTION: How can I backup my Hd under Linux ?

ANSWER: I know at least two ways. One possibility is tar and mtools,
another possibility is the diskbackup/diskrestore of Diamano Bolla
(digest37 vol. #2) which saves big hd to floppies using the
stdin/stdout. These utilities have been uploaded to the major sites in
file disksplit.tar.Z.
An example usage (Roger Binns) is:

tar cvf - bin dev usr etc .. | compress | diskbackup

and to restore:

diskrestore | uncompress | tar xvf -

BTW: if you are on Ethernet you could send your files via tar..|rsh (tar...)
or even via NFS to a host which is regularly backed up !


QUESTION: Where is 'which' ?

ANSWER: It depends on the sh you are running:
in bash 'type -path'
in tcshit's a builtin

for rc you can try the following (untested by me) script from
Kevin Brown:

#!/bin/sh
for i in `echo $PATH | sed 's/:/ /g'` ; do
for j in ""[email protected]" ; do
if test -x "$i/$j" ; then
echo "$i/$j"
fi
done
done

QUESTION: How to use setterm: for the novice?

ANSWER:The setterm utility provides access to most of Virtual Consoles
(VCs) functionality. You can set your screen up to blank at 10
minutes using:
setterm -blank 10

You can set colors, and clear the screen. For a full list of commands,
just type "setterm" with no arguments.

There are a few tricks with the screen dumper can really make VCs go a
long way. Here are a few of the common ones that I use:

setterm dump

Dumps the contents of the current VC to screen.dump (in the current dir).

setterm dump 4

Dumps the contents of VC 4 to screen.dump

setterm -file mydumpfile -dump 4

Dump the contents of VC 4 to the file mydumpfile

setterm -file /dev/tty0 -dump 4

Dumps the contents of VC 4 to the current VC.

setterm -file /dev/tty4 -dump

Dumps the contents of the current VC to VC 4.

setterm -file /dev/ttys1 -dump

Dumps the contents of the current VC to the serial port.
Handy if you are logged on and want to paste a screen full without
having to resort to doing a file transfer.

setterm -file mydumpfile -append 4

Appends to instead of overwriting the dump file. Useful if you
have several screens you wish to concatenate.


QUESTION: I've tried clear/reset which exist on most of unix but it
doesn't work, have I missed something?

ANSWER: setterm -clear or setterm -reset will solve your missing. For
clear, you can also write a small script (which use the cl: part of
/etc/termcap wrt your TERM), or use bash where ctrl-l will do it for
you.


QUESTION: I know there are VC, but where is the setterm stuff?

ANSWER: It's in the current distribution (i.e. on the images), the
source can be found in virtcons.tar.Z at nic.


QUESTION: I know there are shared libraries; does there exist an easy
way to check an executable for sharing ?

ANSWER: (Josh Yelon & HJ Lu)
(J.Y.) An executable which shares a library is linked with an
(ordinary, non-shared) "stub" version of the library. One of the first
thing this stub does (when the executable is run) is to ask the kernel
to load the (big) "shared version" of the library (which is usually
named /lib/lib.XX.XX) The upshot of this is that in the code for the
stub (part of the executable), is the string "/lib/lib.XX.XX"; which
can be searched by using 'strings' or 'grep'.
(HJ. L.) if you have gcc2.11a or later the shared image is changed to
/lib/libxxxx_vyy_zzz. And you should better use nm to find
"__shared_lib" (nm failed on stripped executable). You can also write
a function for "file", which can even check the version number ....

(Claude Morin:) There exists at tsx-11 ldd.tar.Z If you follow
the instructions, you will be able to type "ldd " to List
the Dynamic Dependencies of the executables. In other words 'ldd'
prints the name of the shared libraries needed by the executable,
nothing appears for static one.

QUESTION: What is the rdev program provided in the images?

ANSWER: It's a program from Werner Almesberger of ETH. With no
argument it prints the first line of /etc/mtab. With one argument, a
boot-image, it prints the device configured as the root device, and
with two arguments, a boot image and a device, it sets the device as
default root in the specified image.


QUESTION: How to start Linux from drive B?

ANSWER: There is a DOS utility called boot_b.exe (look at DOS ftp).
Another simple way is to open the box and invert the cables.


QUESTION: The program boot_b works fine /but/ once the first disk is
read the system go back to the first drive, any hints?

ANSWER: Yes, change the bootimage in just the same way that you change
it to boot on the hard drive, execept that the major/minor pair is
different. All these information are in the file INSTALL-0.10.
Remember that if you use a sun or other endian machine, you will need
to reverse the byte order when you run the filter program (also in the
same file).


QUESTION: How can I get Linux to boot directly from the harddisk?

ANSWER: (Rick) The best option right now is LILO version ALPHA.6. It
has been generally agreed that the days of using "shoelace" are at an
end.

QUESTION: I use shoelace, but I want to change my root partition, what
is the process to get rid of it?

ANSWER: With Norton utility you can put back a standard boot sector.
Another possibility is to restore the old boot sector (the one you
should have backup *before* installing shoelace).


QUESTION: Sometimes, when I want to remove a directory, I get an error
message, is it a (known) bug?

ANSWER: No, There is no bug at all, you probaly have another shell
on another VC whose working directory is either the one you try to
remove, either a subdirectory of it.


QUESTION: I'm looking for init, getty, login, passwd stuff, where
can I find them?

ANSWER: You should find it in shadow.tar.Z (only sources), at least
at tsx in the usr.bin directory. Many people have reported some troubles
with the *OLD* shadow-passwd (shadow-bin.tar.Z and shadow-src.tar.Z, so
do not use them anymore); an alternative might be the mcc-interim
which contains standard passwd binary. There is also the Peter Orbaek's
admutil-1.?.tar.Z and poeigl-1.?.tar.Z which contains source for
shutdown, su, chsh, passwd and a system V init compatible.


QUESTION: How can I setup a user account other than root ?

ANSWER: You can either use the adduser program, either do it manually.
In the later case, you have to:
a) edit /etc/passwd as root and add a line of the following format:
user:passwd:uid:gid:user name:home directory:login shell

user is the login name; uid is the numeric user id, it should be
unique; gid is the numeric group id, this number should correspond to
an entry in /etc/group. The passwd field should be left blank 'cause
it is stored in an encrypted form [to set this field just use the
passwd program].
example
faq::200:5:Marc-Michel:/home/faq:/bin/sh
b) Still as root, you shoud now create the home directory and set the
correct ownership.
mkdir /home/faq
chown faq /home/faq
chgrp 5 /home/faq


QUESTION: I've been trying to get Linux to run on my [3/4]86 box. It
can't even boot. Any suggestions?

ANSWER: The most common error/problem is writing the bootimage to a
low density disk. It fits, but the bootstrap code will only recognize
high density disk. So try to format explicitely disk as high density:
- for 3.5", 'format a: /n:18 /t:80 '
- for 5.25", 'format a: /n:15 /t:80 '


QUESTION: Does there exist games, languages (other than C), and
anything which make the system more friendly?

ANSWER: Yes, among other things there are rogue and yahtzee; TeX;
Prolog, Perl.. but in general, if you want some extra tool port it to
Linux this is also a good beta-testing exercice.


QUESTION: Whenever I use uemacs 3.1X on a symlink, the symlink does
not exist anymore, why?

ANSWER: (Tristram Mabbs) Since ue3.10, uemacs uses 'safe save' mode,
writing the file to a temporary and moving it OVER the original. In
the process, this deletes the original. To prevent this just add the
following in your emacs '.rc' file: set $ssave FALSE


QUESTION: Uemacs doesn't work anymore with 0.95a, whenever I want to
save a file; what can I do?

ANSWER: ^S and ^Q are used for flow control. One solution is ^X^W
followed by thefilename, or M-X save-file, try also ^XS it could work
for some version (not mine). Another possibility,
if you have download the stty.tar.Z file, is to do stty -IXON
before you first use uemacs (this can be included in your .profile).
And the last is to recompile the Peter Orbaek init-1.2 package.


QUESTION: I have an SVGA, but Linux detect an EGAc/EGAm; is it normal?

ANSWER: (Jim Winstead) This is correct actually. You have an EGA+ card
(SVGA) with a Color/Mono monitor. The only four possibilties are EGAc,
EGAm, *MDA and *CGA (according to the code in
kernel/chr_drv/console.c).
The true test, if Linux detects your video card, is if you press
at the "Press to see SVGA- ..." boot-time message.
If you have a SVGA recognized card, it will ask you to choose a
screen size. If not detected, the default is 80x50 mode.
BTW if you have no SVGA, press the and you are in 80x25 mode.

If you have dowloaded the kernel, you can automatically skip this
query at boot-time if you set the SVGA_MODE variable in the main
Makefile before compiling a new bootimage.


QUESTION: How can I change the keyboard repeat rate?

ANSWER: (Michael K Johnson) In boot/setup.S there are the lines:
! set the keyboard repeat rate to max
movax,#0x0305
movbx,0x0000
int0x16

If you don't want to change the repeat rate at all, just comment out
these lines. If you want something in the middle, change the
movbx,0x000
bymovbx,0x??yy
where ??yy is determined by (Ralf Brown's interrupt list)
bh= delay value (0x00 = 250ms to 0x03= 1000ms (one sec))
this is the delay before the repeat is performed
bl= repeat rate (0x00 =30/sec to 0x1f=2/sec; 0x0c=10/sec [default])


QUESTION: I compiled fdformat.c and ran it on 1.44Mb and 1.2Mb, the
results are unreadable, any clue?

ANSWER: (M. Pereckas) fdformat only low-level formats the disk. to use
the fdformatted disk with DOS filesystem, run mformat on the disk.
Mformat writes DOS filesystem information but is unable to low-format
:). In order to put a Linux filesystem on a (low)formatted disk you
have to mkfs it.

QUESTION: Is it possible to disable the 3-fingers salute
(ctrl-alt-del) ?

ANSWER: Yes, in kernel/sys.c you can read the following:

/*
* this indicates wether you can reboot with ctrl-alt-del: the deault is yes
*/
static int C_A_D = 1;

there is also a small utility written by Linus in digest242 vol#2


QUESTION: Could some one explain the information provided at boot-time?

ANSWER: (Jim Winstead Jr)
> serial port at 0x03f8 is a 16450
> serial port at 0x02f8 is a 16450 (what's that the uart chip?)

Right, the last number should either be 8250, 16450, 16550, or 16550a,
and on the two 16550 models, it will report that FIFO's have been
disable (16550) or enabled (16550a).

> 8 virtual consoles (that's how many alt-F's I can get going?
> but only F1-4 actually work)

You can get sessions running on Alt-F[1-8], but the 'standard'
/etc/inittab only runs getty/login on Alt-F[1-4]. You can start
sessions on the other consoles by using 'doshell' or adding lines to
/etc/inittab.

> 4 pty's (are these the consoles F1-4?)

No, those are 'pseudo' ttys, which programs like MGR use to simulate
tty connections. That's probably a gross over-simplification, but it
gives you the general idea, I think. ๐Ÿ™‚

> p_init: lp1 exists (0) (is that the (l)ine (p)rinter?)

Right.


QUESTION: What is the meaning of files ended by .T.Z (or .taz) ?

ANSWER: The suffix Z is for compressed files (to uncompress them use
the command `uncompress file.Z`).
The suffix T indicates a "tar file" the usual suffix is tar but, the
14 chars filename limit of the Minix filesystem makes it cumbersome to
use .tar.Z (to untar a file ended by .T, use the command
`tar options file.T` (see the man page for more details).

For the .taz file, change them as .T.Z and go-ahead.


QUESTION: I have upgraded the kernel from XX to YY (XX > YY), however the
login screen still says YY.

ANSWER: Just change the message in one of these files: /etc/issue and
/etc/motd. The former contains the message before the login, the later
is the one after you are logged in.

QUESTION: What is doshell good for ?

ANSWER: It's an old program provided in the early Linux version (0.12)
when the getty was not already there, it spawns a shell on any tty's.
(Mattew Gream): I do this quite often ( getty on tty1, 2, 3 and my
rc.local spawns a shell on tty4 as follows
'/usr/bin/doshell /dev/tty4 /bin/tcsh &'


QUESTION: I don't have the kernel sources, how can I change the keyboard
language?

ANSWER: You can use the fixkbd program written by
[email protected] Its purpose is to fix the
keyboard map used in your kernel image. It works more or less a la
"rootdev" (or rdev).


--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#LaBRI | #
# 351 cours de la Liberation | e-mail: [email protected] #
# 33405 Talence Cedex | #
# | #
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
There will be some sig, once our local net will be reliable.
Right now I rather stay anonymous.

Newsgroups: comp.os.linux,news.answers
Subject: Linux Frequently Asked Questions 3/4 [monthly posted]
Summary: Linux, a small and free unix for 386-AT computers.
Date: 20 Jan 93 11:29:16 GMT
Sender: [email protected] (Marc-Michel CORSINI)
Reply-To: [email protected]

Archive-name: linux-faq/part3
Last-Modified: 93/01/16
Version: 1.15

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

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

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

VIII.FEATURES(part3)
IX.GCC MISC INFORMATION(part3)
X.SCSI SPECIAL(part3)

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



VIII. FEATURES
==============

QUESTION: I've read that linux has virtual consoles, what must I do to
get them?

ANSWER: Yes there are, you can access them with the left -key
together with -key. With the Linux Images distribution, 4 consoles
are available, getty runs on them.
Notice that they are NOT accessible when running X (contrary to some
commercial unices).

QUESTION: When Linux boots, I get the following message "8 virtual
consoles"; how can I acess to the 5-8 vc's ?

ANSWER: If you want the getty to run on the 5-8, you should add the
corresponding entries in /etc/inittab. You can also just run sh on
them by using the doshell soft.
And then in either case, the ALT-F[5-8] will access the corresponding
vc.

QUESTION: What kind of shell is /bin/sh ?

ANSWER: It's the Bourne Again Shell, bash-1.12.3 and
compilation was straightforward, just "make"
that's all or nearly.
BTW There does exist different shells for Linux, these are:
bash, rc, zsh, tcsh and pdksh (a korn shell).


QUESTION: Does there exist a man page for **** ?

ANSWER: Download man.tar.Z from your favorite linux ftp site, there is
most of the fileutils man page -- either **** or g****, example there
is nothing on ld, but there is for gld ๐Ÿ™‚ --, check the whatis
database provided. The files in the cat1 dir are pre-formatted man
pages that the man program can use. Quite recently the man pages for
section 2 have been written (thanks Drew) and can be found, at least
at tsx-11 in /pub/linux/docs/man/man2.tar.Z

Also manpages are in the SLS on the b? disks.

BTW there is nroff and groff for Linux. Cawf 2.0 works just
fine for simple man pages, and a partial ms support too.


Moreover Michael Johnson is the coordinator for man pages under Linux,
he is looking for volunteers, so contact the DOC Channel.

QUESTION: Is there a simple man package (groff is too big):

ANSWER: "Cawf -man" also "fm -m" (Al Clark) tsx-11 in
/pub/linux/binaries/usr.bin/fm.tar.Z


QUESTION: What are the editors available in linux?

ANSWER: Right now there are uemacs-3.11, elvis-1.4 (1.5).
Gnu Emacs is there, read the section devoted to it in the 4th part of
this FAQ. Also the port of mg (micro gnu) has been done and can be
found at least at athos.rutgers.edu (128.6.4.4)
in pub/linux, mg is the binary and mg.tar.Z is the sources file. You
can also find a PD ed, and elvis has an ex mode. Finnally there are
joe, vile-3.11, elle (Elle Looks Like Emacs), Xedit and aXe.

QUESTION: Does there exist a printer package for Linux?

ANSWER: (R. Miller) Yes. The "plp" package is currently available
under the directory [/pub/linux]/BETA/plp on tsx-11 and its mirrors.
You may also print things manually like so: cat filename > /dev/lp1
(Note that though "/dev/lp0" exists, most people find that their
printer is on /dev/lp1. Use whatever the kernel says that it detects
in the boot-up messages.)

QUESTION: Are uucp, mail, and/or USENET news available for Linux?

ANSWER: (Vince Skakan)
Yes !!! At this time, the following (at least) have been
ported to Linux:

Package name version
------------ --------
taylor uucp 1.03
elm 2.3-pl11
smail 3.1.28

C-news 12/22/91
tin 1.1pl4
trn 2.2
nn 6.4.18

[...coming soon - Expect an announcement in the near future concerning
the packages above being made available in binary form in the SLS
distribution and in source form from sunsite.unc.edu and other Linux
archive sites...]

If you are interested in the last uucp features, join the UUCP channel
(see part1 of this FAQ for more details about the multi channels list).

QUESTION: How do I make swapping work?

ANSWER: Quite simply, you need the swapon and the mkswap binaries.
Then you can choose between a swap partition or a swap file.
The mkswap is used to write the "swap signature", whilst the swapon
binary is to activate the swapping.

First of all you need a partition :), I assume it's the second of your
first disk namely /dev/hda2, and it's 10MB big
A) swap partition:
you have to indicate it's a swap area, this is done via mkswap
(instead of mkfs) which needs the name of the partition and the size
in blocks (a block is 1Ko big); the optional -c flag is for bad block
checking. So for our example you should perform:
mkswap [-c] /dev/hda2 10000
Then you need to indicate that you want linux to use the swap area,
this is done via swapon. In general it is set in the /etc/rc file,
just put the following entry:
/bin/swapon /dev/hda2
It can also be achieved via the /etc/fstab file
B) swap file:
The process is quite close; you need a partition, and a swap file.
Assume that I prefer a swap area of 4MB (I want to keep some place in
/dev/hda2). I need first to "dd" the file.
dd if=/dev/hda2 of=/swap_file bs=1024 count=4096
bs stands for block size, and count is the number of blocks
then I have to put the "swap signature" on that file:
mkswap /swap_file 4096
At this point, you should 'sync', just to be sure the signature is
effective. And finally add an entry in the rc file:
/bin/swapon /swap_file


QUESTION: When I boot I get one of the following messages:
"Unable to find swap signature" or "Bad swap-space bitmap"

ANSWER: You probably forgot to make your swap-device, use the mkswap
command.


QUESTION: How do I know if it is swapping?

ANSWER: You will notice it :)) First of all, Linux tells you at boot
time, "Adding swap: XXX pages of swap space", and if you start running
out of memory, you will notice that the disk will work overtime, and
things slow down. Generally a 2Meg RAM will make the system swap
constantly while running gcc, 4 Meg will swap occasionnaly when
optimizing big files (and having other things active, such as make).
Also, the command 'free' (from the ps package) reports total enabled
swap space and current swap use.


QUESTION: How is it possible to remove a swap file?

ANSWER: Simply perform a rm on that file, and remove the swapon of
your /etc/rc file.


QUESTION: How is it possible to remove a swap device?

ANSWER: mkfs the device, and remove the swapon of your /etc/rc file.

QUESTION: How much swap space do I need ?

ANSWER: Linux does not perform real swapping, it's rather paging (see
below for a more complete explanation). The swap area is *added* to
the memory and can be viewed as virtual memory, so choose the size you
need, example:

8MB RAM + 6MB swap => 14MB virtual memory

QUESTION: Could someone explain the swap process on Linux?, is it
swapping or paging ?

ANSWER: (Linus) Linux uses swap as /additional/ memory, one page of
the swap-space is used for the good-page bitmap and the swapspace
signature.
In fact Linux does only paging, no swaping in the meaning "write out
one whole process to disk".
The reason it's called swapping is that Linux used paging for memory
management on a low level since the very beginning, but didn't page to
disk at all until 0.12.

QUESTION: Is demand paging different from paging and How ?

ANSWER: (Linus) Demand-paging is really "demand loading of
executables" and is totally independent of the page-swapping
algorithms, although they have similarities. When Linux strts up a
process, no actual code space is loaded: I let the page exceptions
load in the executable as needed. Thus Linux demand-loads the code and
initialized data it needs.
Demand-loading has very good points: (a) it simplifies the exec system
call; (b) it means page sharing between that have excuted the same
file is easy to implement; (c) it cuts down on the amount of memory
required. When Linux runs out of real memory, it starts to lock for
pages it can swap out, but if it notices that the page is clean, it
just forgets about it, and demand-loads it when it's needed again.
Thta means that swap-file isn't needed as much, especially when
running big binaries such as gcc, where the code-pages can be
demand-loaded as you wish.

Point (c) means that even without any swap space, you can usually run
slightly larger programs that your memory setup would actually permit.
I've noticed this while running X and doing a kernel compilation +
something else wshen I've forgotten to turn on swapping: free reports
0 page available but things still work, although performance is
slightly down...

QUESTION: Is there any way to tell how much swap space you are using
or have left?

ANSWER: The free program provided with the ps package handles this.


QUESTION: I have a 2Megs box, but "free" reports only 1Meg why?

ANSWER: (Linus:) "free" doesn't concern with the memory the kernel has
allocated for itself. In other words what you see is the *user* memory
available. The kernel has taken the low 1Meg for it's use (~250Ko for
it and the rest for buffer cache and kernel data structures); for big
memory machine it could be even 2Megs.

QUESTION: What tape drives work with Linux ?

ANSWER: (24 sept. P. Riipinen)
- There is a working QIC-02 device driver for Linux, supporting (at
least) Everex/Wangtek cards.
- There are additional patches for the QIC-02 to support Archive
SC402/499R. You can find them in /pub/linux/alpha/qic-02 at tsx-11
There are some bugs in the driver but you can backup.
- Newer drivers are all SCSI, so check the SCSI section in this FAQ.

QUESTION: Is there only the %$#@ keyboard ?

ANSWER: There are Dannish, Finnish, French, German, Uk, US and DVORAK
keyboards. Set it in the main Makefile of the kernel sources, then
(re)compile the kernel again. Make sure the files in kernel/chr_drv
directory are recompiled.


QUESTION: (special FINNISH/US) I booteed up with the new image and
everything work except that some keyboard keys produce wrong
characters. Does anyone know what is happening?

ANSWER: Since 0.95a images are US product (and so are US-keyboard
oriented), BUT linux sources are FINNISH product, and so the default
keyboard is set to be FINNISH. The solution is in the previous Q/A.


QUESTION: Does there exist shared libs ?

ANSWER: (H.J. Lu, [email protected], 09/01/92)

The shared library under Linux started at 0.12. Peter MacDonald
collaborating with Linus made the first generation of shared library,
which is the base of the current classic shared library.

The kernel support of shared library under Linux is system call

extern int uselib (const char *__filename);

which loads an executable image with fixed entry point into memory,
just like the ordinary executables.

In crt0.s, a function which can find out if and which shared images
are needed and loads them is invoked before `main ()' is called if
necessary. David Engel and I developed a way to tell the loader which
shared images have to be loaded, utilizing the similar technique used
in global constructor in g++ 2.x with the help from GNU binary
utilities.

In the classic Linux shared library, we build a big executable image
for several libraries and make sure no external variables outside of
the participating libraries are referenced. Then we can get the
absolute addresses of all the global variables defined in the
libraries used to build that executable image. After that, we make a
stub library for each participating library which just has the
absolute addresses of all the global variable in it.

For each shared image, there must be one and only one file, usually
called, __shared.o, which defines a global variable containing
version, name and entry point of the shared image, and a dummy global
data. Among those libraries used to build the shared image, there must
be one library which will always be referenced whenever any other
library is referenced. We put `__shared.o' into the stub library for
that library and add a declaration for the dummy global data defined
in `__shared.o' which will make sure `__shared.o' will always be linked
in when any participating libraries are linked.

In gcc 2.2.2d, jump table, developed by David Engel, was introduced in
the shared library. At the beginning of each shared image, there is
a table in which every library function has a fixed entry address and
the instruction at that address is a jump which will lead to the
real library function. So we can change the library function without
changing the corresponding entry address of the jump table. For the
global data we put them at the beginning of data section of the shared
image. We have to separate them from text code and link them in fixed
order. It is very hard to maintain the same addresses for the global
data when library is changed. After the global data are set up properly
and some spaces are left for possible future changes (that is a very
tough procedure.), it isn't too difficult to maintain.

In the current implementation, only libc.a, libcurses.a, libdbm.a,
libtermcap.a and libm.a are built with jump table. The global data in
X11 libraries are too complicated to make jump table such that their
addresses won't change when there is a change in X11 libraries. It's
not apparent yet that the benefits gained from a jump table version of
the X libraries would offset the effort required to set it up and
maintain it unless we get some cooperation from X Consortium, which
is very unlikely. But they are linked with jump table version of
libc.a and libm.a. That means they don't have to be relinked when
there is a modification in libc.a or libm.a.


QUESTION: Does Linux work for SCSI drives?

ANSWER: Yes since v0.96. At tsx-11.mit.edu in /pub/linux/ALPHA/scsi, you
will find the last SCSI alpha/beta version and also a special SCSI
FAQ, read it, it contains the latter information than the one provided
in the SCSI section. You should, also, contact the linux-scsi list or
directly [email protected]


QUESTION: Linux is supposed to work with ESDI drive. However I have
trouble with my Magtron MT-4115E (Joincom controler), any clue?

ANSWER: (Linus) Some harddisk don't like linux (even though they
should). Maybe not a bug but a deficiency.
(Mika) I had to remove the printk "unexpected hd interrupt" statement
in hd.c because I was getting so many of those messages. Be warned
that if there is any read error the system just hangs, even the
ctrl-alt-del won't work. You should be able to use your ESDI drives if
you could live with those nuisances.

QUESTION: How does one go about applying a patch to Linux ?

ANSWER: (Drew Eckhardt) In the unix world most of distribution are in
source form. This includes the operating system. To apply a patch, you
apply it with the 'patch' program to the affected sources. The patch
program takes as input the differences between the old and the new
version. After patching you need to recompile the sources.

Assume I want to apply a patch enclosed in the file XXX. First of all
I will look at the top of XXX, where the file affected is identified.
This may have aleading path attached to it. Either cd out to the
"root" of the patch, ie if I see
linux/kernel/blk_drv/blk.h

I would cd into /usr/src
(assuming it's the place where I can find linux/kernel...)
and then patch as follows
patch -p0 < whatever_place/XXX

or, you can specify a number of path components to strip from the
path. If I am in the blk_drv directory patching would be
patch -p3 < whatever_place/XXX


QUESTION: There are a lot of patches available (ps patch, NFS patches,
CD-ROM patches ...) can I be fairly confident the subsequent patches will
work?

ANSWER: This is not true yet for the current version; but it will be
so I kept it ๐Ÿ™‚
No you can't, patching is a real beta tester art :)). People are not
working on the same patched release, so you have to check if the
patches you already applied works on the same kernel part, if not,
/great/, just apply them. If yes, check if there is an order, patch
creator knows that, and (should) try to warn patch user (in other
words: beta tester) otherwise you should edit the patch files (and
possibly make a brief note to others on this list/newsgroup or even a
cdiff) before applying them, another solution is to keep cool and wait
for the next version of Linux where, in general, the modifications
have been done but this behavior is /not/ Linux helpful.


QUESTION: I got the patches on some ftp sites, and applied them to the
kernel and tried to compile. It didn't !!. Are the patches buggy?

ANSWER: Before remake, just do a make clean in the directories
involved by the patches. This will force a rebuild of the .o and .a
files.
If you have a RCS running on your source tree, did you checked a
patched version of the files changed before /any/ CO either by you or
make

Finally, make sure the patches succeded. Normally, failed patches on a
file FILE will leave a FILE# file. Moreover you will get a "chunk
failed" message. It is possible to capture the output while patching,
with the following:

patch -p0 < patchfile | 2>&1 patch.result | more


QUESTION: What is VFS?

ANSWER: (Ted) Linux 0.96 already has Virtual FileSystem, which means
that it acts as a filesystem switch. It makes it easy for someone to
design another filesystem format and include it in the Linux kernel
along with the standard minix filesystem format. So it /enables/
someone to design a robust filesystem which would have some nice
properties (no 14 chars file name limitation, nor 64Meg limit), and
could be included in the kernel in such a way that both the Minix and
the new one could be mounted at the same time. This solves the
uncompability problem; since the root disk could still use the Minix
filesystem, while the hardisk could be using the new one.



QUESTION: What's about Bus Mice ?

ANSWER: (Nathan I. Laredo) Since the Linux v0.96c-pl2 the kernel does
support LOGITECH and BUS MICE
If you are unsure that you have a bus mouse or not, check to see if
your mouse card has a selection for a sample rate switchable between
30Hz and 60Hz (or possibly 25/50Hz), if it does not, then it is NOT a
true bus mouse (InPort mice for example will not work with this
driver).
To create a bus mouse device:
mknod /dev/mouse c 10 0


QUESTION: What's about TeX ?

ANSWER: The primary site for Linux TeX is 129.78.66.1, this is
P. Williams' site in Australia. The stuff at tsx-11 was posted by
T. Dunbar who does support/maintain the dvilj stuff.


QUESTION: What's about LILO ?

ANSWER: (Werner Almesberger)
LILO - Generic Boot Loader for Linux ("LInux LOader")

This is an ALPHA test release of a new boot loader. Be sure to have
some means to boot your system from a different media if you install
LILO on your hard disk.

Features
--------

- does not depend on the file system. (Tested with Minix, EXT FS and MS-DOS
FS.)
- can be used to boot from floppies and from hard disks.
- can replace the master boot record.
- can boot non-Linux systems (MS-DOS, DR DOS, OS/2, ...) and unstripped
kernels.
- supports up to 16 different boot images that can be selected at boot
time. Root and swap disk/partition can be set independently for each
image.
- boot sector, file map and boot images can be all on different disks or
partitions.


Restrictions and known problems
-------------------------------

- SCSI disks are not fully supported yet. (Still waiting for some kernel
changes.)
- booting other operating systems doesn't seem to work everywhere. If
everything but booting a non-Linux OS from LILO works on your system,
you should boot LILO by BOOTACTV and select the alternate OS with the
latter as a temporary work-around.
- booting non-Linux systems from the second hard disk ("D:") is not yet
supported.

Please send all bug reports to [email protected]


QUESTION: What's about MGR ?

ANSWER: (General Information grabbed from various sources)
There is a MGR channel available , contact the request adress with
help in the body: [email protected]
The stuff can be found at banjo in pub/Linux/MGR
In brief:

MGR provides:
- multiple overlapping windows
- multiple fonts
- text and graphics in each windows
- a simple popup menu package
- a client/server model 'a la' X
- independance from any peculiar networking technology

MGR consist of a server process and some clients. Each client has his
own window, and can create subwindows. Clients communicate with the
server via a bidirectionnal channel. A C library is provided.

When a new window starts, it is as a terminal emulator running the
shell; for more information you can grab the mgr-man.out from
bellcore.com


QUESTION: I have successfully compiled MGR, but when I try to run the
program I get "can't find mouse" or "already in use", any clue?

ANSWER: try the following "mgr -m /dev/ttys1" if the mouse is on
the serial 1. Another possibility is to link /dev/mouse with
/dev/ttys1 (assuming your mouse is on serial 1). Or if it's a bus
mouse, "mknod /dev/mouse c 10 0" once.

QUESTION: Any tips for MGR?

ANSWER: Well, I have tried it on my 386Sx Ega/Vga; the screen is Ok
but the Logitech mouse I have is not well recognized.

BTW check the major/minor number for pty's; they should be character
device with 4 as major and 128 and bigger as minor:
ptyp0 c 4 128
ptyp1 c 4 129
...
ttyp0 c 4 192
ttyp1 c 4 193

QUESTION: What's about X11 ?

ANSWER: See the section devoted to X11 in this FAQ.


IX. GCC MISC INFORMATION
========================

**** Last update 93/01/16

IX.A. HLU Information
IX.B. OTHERS

IX.A. HLU Information
~~~~~~~~~~~~~~~~~~~~~

The official release of GCC for Linux is 2.3.3.
This section includes:
README.gccdisk
FAQ of gcc written by HLU



QUESTION: I don't know how to install gcc stuff, is there special
places?

ANSWER: This is the README.gccdisk

Linux GNU C/C++ [HJ release]

Introduction
------------
This is GNU C/C++ 2.3.3. It is linked with jump table 4.2. You should use
it with the Linux C library disks since the C/C++ compiler has no shared
images, which are required by all the binaries in it. It consists of
2 minix disks, which will fit on either 5.25" or 3.5" floppies.

It is on tsx-11.mit.edu under pub/linux/GCC/gccdisk


Distribution File Format
------------------------
There are two files, each of which goes on one disk

A. Disk 1 (gcc233a.Z)

This contains gcc, cpp, cc1 and crt0.o/gcrt0.o. There are also some header
files in /usr/lib/gcc-lib/i386-linux/2.3.3/include.

B. Disk 2 (gcc233b.Z)

This disk contains cc1plus.


Installing on the Hard Drive
----------------------------------------
1. uncompress base[1|2].Z.
2. rawrite or dd each file to a formatted floppy disk.

Now you have made a copy of gcc 2.3.3 on two floppies. To copy each
floppy to your hd, you should mount the floppy and copy its contents to
your hard drive. You can do this by:

mount /dev/fd[0|1] /mnt
cd /mnt
for d in bin dev etc usr
do
if [ -d $d ]; then
cp -av $d /
fi
done

Note: This may overwrite some files on your hard disk.

Thanks.

H.J.
[email protected]
12/31/92

QUESTION: What compiler should I use for Linux?

ANSWER: You should only use the same version on tsx-11.mit.edu or
fgb1.fgb.mw.tu-muenchen.de under /pub/linux/GCC. If you want to use
the testing release, first join the GCC channel on the Linux mailing
list, and then send a note to [email protected] Don't use gcc older
than the one on tsx-11.mit.edu or fgb1.fgb.mw.tu-muenchen.de.

QUESTION: Where is the latest official gcc 2.xx for Linux?

ANSWER: It's on tsx-11.mit.edu under /pub/Linux/GCC and
fgb1.fgb.mw.tu-muenchen.de under pub/linux/GCC. You may find it on the
other sites.

QUESTION: What are the contents of them?

ANSWER: Please read the current release note and ChangeLog for
details.

QUESTION: How do I install it?

ANSWER: Read README and release notes.

QUESTION: What are the main differences with the old release?

ANSWER: Read README and release notes.

QUESTION: Can I use the old version of gcc?

ANSWER: Please get rid of gcc older than gcc 2.2.2. Starting from
gcc 2.2.2, you can do

gcc -V xxxx

where xxxx is the version number. Please read `release.xxxx' for
detail. There is one catch in gcc 2.2.2d, setjmp/longjmp is changed,
so the old header files is not compatible with gcc 2.2.2. Before you
install gcc 2.2.2d, please do

cp /usr/include/setjmp.h /usr/lib/gcc-lib/i386-linux/2.2.2/include

where /usr/include/setjmp.h is come with gcc 2.2.2.

QUESTION: Is stdio ANSI compatible?

ANSWER: Yes, please test it.

QUESTION: Is g++ in 2.xx?

ANSWER: Yes.

QUESTION: How do I use gcc?

ANSWER: Read manual page, gcc.ps or gcc.man in /usr/install/gcc2.

QUESTION: What options can I use for gcc?

ANSWER: Read manual page, gcc.ps or gcc.man. Also -static tells gcc
to use the static libraries, -nojump forces gcc to use the classic
shared libraries. The default is the jump table version of shared
libraries. The shared libraries for X are linked with the jump table
version of shared C library.

QUESTION: Where is the source code of the new libc.a?

ANSWER: The same place you find this file. It is called
lib-src-yy.xx.TZ.

QUESTION: Why does g++ complain, even die?

ANSWER: You need "expr", which is in GNU shell utilities 1.6, echo (?)
and sed.

QUESTION: How do I generate code for 486?

ANSWER: Add -m486 to CFLAGS.

QUESTION: I heard malloc (0) wouldn't work with Linux, what should I
do?

ANSWER: include and don't define NO_FIX_MALLOC.

QUESTION: Why does gcc say "xxxxx..h not found"?

ANSWER: see QUESTION: What are the contents of them?

QUESTION: I really followed every step in the documentation, but when
I do "make", why does it say "don't how to make xxxxxx"?

ANSWER: The dependency in Makefile is dated, you need to make a new
one. Please get some guide on make and read Makefile. For the kernel
sources, please do

cd src/linux
make dep

QUESTION: How do I compile programs under Linux?

ANSWER: The Linux C library is trying to be ANSI/POSIX compliant. It
is also very compatible with SYSV and BSD. The C library is loaded
with SYSV and BSD functions. There are three exceptions:

1. signal in Linux is POSIX.
2. tty in Linux is POSIX.
3. time functions are POSIX, plus a few BSD and SYSV extensions.
4. setjmp/longjmp functions are POSIX. But you can use -D__FAVOR_BSD
to make it BSD or use sigsigjmp/siglongjmp.

When you compile a program under Linux, your best bet is include all
the appropriate header files and use -Wall. All the usable functions
and global variables are declared in the corresponding header files.
YOU SHOULD NOT DEFINE ANY functions or global variables OF THE LINUX C
LIBRARY IN YOUR CODE IF YOU WANT TO USE THE SHARED LIBRARIES.

After saying all those, you now should know you can compile a program
with -D_POSIX_SOURCE or -D_GNU_SOURCE (read for details).
With a few modifications you can even use -DSYSV, -DUSG or -DBSD. Some
codes need to define -DSTDC_HEADERS for ANSI C compiler like gcc here.

To use malloc () and calloc () safely under Linux, please include

and don't define NO_FIX_MALLOC.

BTW, gcc -traditional should work with gcc 2.2.2d or above.

Please also read ChangeLog for the latest enhencement.

Please read the header files for details. Maybe you should get a book
on POSIX. Any suggestion of the book list?

From Steve Robbins -- [email protected]

IX.B. OTHERS
~~~~~~~~~~~~

QUESTION: I seem to be unable to compile anything with gcc. Why?

ANSWER: If you have only 2 MB RAM, gcc will die silently without
compiling anything. You must have at least 4 MB to do compilations

BTW Since swapping is possible, I have heard that compilation works
with only 2Meg and a lot disk traffic ๐Ÿ™‚ Isn't it great?


QUESTION: gcc complains about not finding crt0.o and the system
include files What am I doing wrong ?

ANSWER: The include files normal place is in /usr/include. lib*.a and
*.o should be in /usr/lib or /usr/local/lib


QUESTION: I tried to port a /new/ version of gnu stuff. But in the
linking phase, gcc complains about the missing libg.a.


ANSWER: Yes this is well known for compiler version earlier than
2.2.2, throw away the flag -g that's all, anyway libg.a is /only/ for
debugging purpose.


QUESTION: How to compile programs which may be debugged with gdb?

ANSWER: There are different ways to handle this problem. If
you have the gcc2.2.2 or later it's simple, use the -g flag. Otherwise
there are different possibilities:
1) As there is no libg.a, you should throw away the -g flag in link
phase, this means that the compilation must be done in two steps
example: instead of "gcc -g monprog.c -o monprog", use the following
"gcc -g -c monprog.c" and then "gcc -o monprog monprog.o"
Alas this method is not that good if you are using Makefile.
2) The other way is to create an empty libg.a as follows (Peter
Macdonald trick):
- create libfake.c containing libgfake() {}
- compile it with: gcc -c libfake.c
- create the libg.a with: ar r libg.a libfake.o
2bis) The more tricky Humberto method:
cd /usr/lib
ranlib libg.a

then gcc -g monprog.c -o monprog will produce a debuggable monprog


QUESTION: When compiling some code, cc1 complains about some insn
code, what's that?

ANSWER: An insn is an internal representation that gcc uses when
compiling. The main part of gcc is to take ordinary c (or c++) code,
and compile it, while ding optimizations in insn part, which is
soft/hard independant. Then another part which is hard/Os dependant
takes the insns and translate it in assembly language. The fix is only
to turn off the optimization flag (-O).


QUESTION: When compiling #[email protected]!, I've got some problems with "SIGBUS"
signal that doesn't exist. Any clue ?

ANSWER: (Louis J. LaBash, Jr.) SIGBUS is a common problem, its not
needed, just comment it all out, something like:

#ifdef SIGBUS
.. normal sigbus code ..
#endif

QUESTION: How can I write codes suitable for building shared library ?

ANSWER: (H.J. Lu, [email protected], 09/01/92)
There are some guidelines for writing codes suitable for building the
shared library with jump table.

1. Never, ever allow library users to access global data directly.
Always, always make them go through access functions. That way,
you are free to change the internal implementation, but can
easily provide backward compatibility by simply replacing the
access functions.

2. If you do have to define some global data for library users to
access, put them into a separate file. Never mix them with other
library code. Also make sure the relative locations of the global
data will not change very often. One solution is leave some spaces
for them to grow.



X. SCSI SPECIAL
===============
*** This section is written by Drew Eckhardt, mail him for any
*** information, questions related to this section.
*** Last update December 1992.

QUESTION: What SCSI hosts are supported?

ANSWER: The Adaptec 154x, Adaptec 174x Future Domain 16x0, Seagate ST0x,
Ultrastor 14F, and Western Digital 7000 are supported. Various Adaptec
clones from Bustek and Future Domain are known to work, in both ISA and EISA
flavors.

The TMC 950, and the discrete 8xx implementations will be supported
in the new Seagate driver when debugging is finished. If you want to
use an older kernel, add 0x200 to the status and data register addresses.

Not very many BIOS signatures are included for the Future domain boards, so
they may not auto-detect correctly.

QUESTION: Which disks ?

ANSWER: Anything that works with your host adapter electronically, and
is new enough to support a December 1985 draft of SCSI-I.

Sysquest, and other removeable hard disks are supported.

Extended partitions also work, with 11 Extended partitions per disk
allowed in combination with the four real partitions and whole disk
sub device.

Disks up to two terabytes in size will work, since the sd driver
switches to 10 byte reads when necessary.

QUESTION: What about SCSI tapes ?

ANSWER: Tapes are supported. You may wish to obtain the utility program mt,
which is usually available from tsx-11.mit.edu in pub/linux/ALPHA/scsi.

QUESTION: What about CD ROMS?

ANSWER: Yes, cdroms are supported, and the ISO-9660 file system is in
included with the kernel distribution. Rockridge extensions are
supported. You will have to make sure that you have configured the
kernel to include the isofs filesystem or otherwise you will not be
able to use the cdrom.

QUESTION: What about flopticals, Bernoulis, Sysquests, and other removeable
media devices?

ANSWER: The normal SCSI disk driver supports these. Note that pre-.98pl4
versions of Linux had some bugs handling disk-change.

QUESTION: How do I get SCSI information?

ANSWER: Subscribe to the SCSI channel of the linux-activists mailing list.
mail [email protected]
And put in the header.
X-MN-Admin: join SCSI

QUESTION : I can't make a filesystem on /dev/hd*

ANSWER : /dev/hd* aren't your SCSI disks. /dev/sd* are.
See below for approproate major / minor numbers if they
do not exist on your root diskette.

QUESTION: How do I partition the disk?

ANSWER: Use pfdisk or the DOS parititioning program of your choice

QUESTION: My partitioning program can't figure out the disk geoemetry

The problem with partitioning SCSI disks and Linux is that Linux talks
directly to the SCSI interface. Each disk is viewed as the SCSI host
sees it : N blocks, numbered from 0 to N-1, all error free. There is
no portable way to get disk geometry.

However, DOS doesn't like things like this, it demmands that BIOS
present it with a normal Cylinder / Head / Sector coordinates. So,
BIOS does, and it comes up with some fabrication that fits what DOS
wants to see. You don't want to disagree with what BIOS thinks when
you write the partition table.

The newest SCSI code will return the mapped geometry for some host
adapter / disk combinations. Kernel release 0.99 and later should have
this capability.

QUESTION: The stock {f,pf}disk programs don't work.

ANSWER: At least some older versions of these partitioning programs have
/dev/hd* hardcoded into them, and they don't see /dev/sd*.

If you want, YOU can change the /dev/hd* devices to be links to or
other entries for the SCSI devices.

Also, pfdisk should be callable with a device name.

Hopefully, some one will change the partitioning programs to respect
the SCSI devices.

QUESTION: Where is the latest version maintained?

ANSWER: tsx-11.mit.edu:/pub/linux/ALPHA/scsi

Join the list before you grab anything.

[email protected] (Eric Youngdale) added scatter/gather support
to the SCSI drivers, and changed around the internal structures to get
something that works as "version 2"

QUESTION: What are the major / minor numbers for SCSI drives?

ANSWER: Because of the large number of devices that can be hung off of
a SCSI bus (as many as 56 if you use SCSI fanouts or bridge boards),
and the possibility of 16 partitions on a SCSI disk, we'd run out of
minor numbers if they were statically allocated - so a dynamic
numbering scheme is used.

Block device major 8 is used for SCSI drives, 11 for CD-ROMs.
Character device major 9 is used for SCSI tapes.

Minors are assigned in increments of 16 to SCSI disks as they are
found, scaning from host 0, ID 0 to host n, ID 7, excluding the host
ID. Most hosts use ID 7 for themselves.

A minor where minor mod 16 = 0 is the whole drive, where minor mod 16
is between 1 and 4, that partition, extended partitions dynamically
assigned from 5 to 15 inclusive. Note that the gendisk.c module
prints partition tables on initialization - you should be able to see
them there.

Example : I have four SCSI disks, set up as follows
Seagate ST02, ID=0
Seagate ST02, ID = 5
Ultrastor 14, ID = 0
Adaptec 1542, ID = 0

The first disk on the seagate at ID 0 will become minors 0-15
inclusive, the second at ID5 16-31 inclusive, the disk on the
Ultrastor 32-47, on the Adaptec 48-63.

QUESTION: How do I reduce kernel bloat and eliminate the drivers I
don't want?

ANSWER: For kernel release 0.99 and later, just go to the to directory
in the kernel source tree, and type ``make config'', and answer the
questions. For older kernel distributions, simply #undef
CONFIG_DISTRIBUTION in include/linux/config.h, and define the macros
for the SCSI hosts you want enabled.

QUESTION: I get SCSI timeouts.

ANSWER: Make sure your board has interrupts enabled correctly.

QUESTION: The seagate driver doesn't work.

ANSWER: There are several possibilities
1) Is the board jumpered for IRQ5 ?

The factory settings are
for MSLOSS, and have interrupts disabled. Interrupts are controlled
by the W3 (ST01) or JP3 (ST02) jumper, which should have pins FG
shorted. See your manual.

2) Cached machines will not have problems IF the Seagate's address
space (typically C8000 - CAFFFF) is not marked "non cacheable."
This applies to the i486 internal cache as well as i386/i486
external caches.

This can be set in the XCMOS of most machines. If you can't disable
cache for the Seagate's area (16K in size, starting at the base
address), then you must disable the cache entirely, otherwise
it won't work.

3) The new seagate drivers (not yet released) can operate in a mode where
the 0ws ISA bus line is used to synchronize the ISA and SCSI busses.
This makes things fast, since the alpha Seagate driver can dump SCSI data out
fast enough to swamp the bus. However, this will only work if the 0ws
jumper is enabled. If this isn't the case, the Seagate driver "should" detect
this as an over/under run condition, but it might not. Either enable
the 0ws jumper, or #undef FAST in seagate.h.

QUESTION: The Adaptec driver doesn't work.


ANSWER: Older versions of the SCSI drivers required that the Adaptec BIOS
be enabled because it does some initialization that affects
the driver. If the BIOS was disabled, it may fail on your system.
The new scsi code does not require this.

A common source of difficulty is a conflict between two different
boards forand IRQ level, a DMA channel, or an I/O address. Check the
settings for the boards you have in your system (music boards are
known to use similar IRQ or I/O addresses as the Adaptec. In the new
scsi code the Adaptec can use any of the IRQ levels that it can be
strapped for, it can use I/O address 0x330 or 0x334, and it can use
DMA channels 5, 6 or 7.

Older versions of the SCSI drivers ran the 17 x in 1542 emulation
mode, where some of these cards have a bug that interferes with
reads / writes > 512 bytes.

Older versions of the SCSI drivers ran the 174x in 1542 emulation
mode, where some of these cards have a bug that interferes with
reads / writes > 512 bytes.

The new SCSI drivers support the 174x in 'native' mode, so this isn't
a problem.

QUESTION: What about bugs?

ANSWER: It works on MY hardware. It works on Tommy Thorn's Adaptec
system, Dave Gentzel's Ultrastor, Thomas Wuensche's WD7000, Rick
Faith's Future Domain, and quite a few other systems.

Bugs that are there will mostly be very hardware specific, and nasty
to track down. SCSI should be basically error free - consequently,
the error code has not been heavily tested, and there are known bugs
in it.

If you have found a bug, please mail it to the SCSI channel of the
mailing list with specifics of your hardware. Other people may have the
same problem, a solution, etc.

If you provide a patch, in context diff form, the bug will be fixed
Immediately. If you can provide me with a procedure that reproduces
the bug on *MY* system, the bug will be fixed "soon." Your chances
of getting it fixed increase exponentially with the amount of
information provided. If I can't reproduce it, and your
description gives me no idea as to where in the code to look,
it won't get fixed by me.

QUESTION: What are the known bugs?

ANSWER :

Many of the drivers cannot abort a command that is in progress - if
something goes haywire, all drives off that controller will hang.

QUESTION: I get a message saying READ CAPACITY FAILED. What does this
mean?

ANSWER: UPGRADE.

QUESTION: Why does the system "hang" when SCSI disk access occurs.

ANSWER: Older Linux distributions (pre .97) used earlier versions
of the SCSI drivers, where the drivers were not interrupt driven
(easier debugging, or so we thought). Since the drivers did not return
from the device driver strategy routine, until the SCSI command
completed, no other tasks were scheduled, and ineteractive performance
was abysmall.

UPGRADE.

QUESTION: Why can't I swap to a SCSI disk?, Why can't I mount a SCSI
disk as root?

ANSWER: This was due do a race condition that has since been fixed.

UPGRADE.

QUESTION: What future developments are planned?

ANSWER: The following changes will/have occurred :

- have occurred :

- support for scatter / gather is there. This
means that all read (and readaheads) will be
handled via one command.

- Significant changes have been made to the
Seagate driver. Among other things, it supports the
0ws line, which means we can dump data fast enough
to flood the bus.

- Multiple outstanding commands per LUN are supported.
This should result in vastly improved performance
on multi-device systems.

- SCSI tapes are supported.

- Support for LUN !=0 is there.

- Planned
- SCSI commands are issued as linked commands
wherever possible, eliminating the arbitration /
selection / message out phases needed to start
a command "from scratch".

- I have the mode page specs, and am looking at
doing "appropriate things" w.r.t. cache enable,
buffer control, etc. It seems that some drives
power up, and keep the buffer off until told otherwise
in software.


QUESTION: What drivers does the new code support.

ANSWER: ALL of the existing drivers work fine. However, only the Adaptec,
Western Digital and Future Domain cards use scatter gather. The seagate
scatter/gather driver is fast but not yet stable and still kernel
panics.

QUESTION: WHEN?

ANSWER: Now. You just have to make sure that you are using version 0.98pl6
or later of the kernel, and you will automatically get the new scsi code.


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

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#LaBRI | #
# 351 cours de la Liberation | e-mail: [email protected] #
# 33405 Talence Cedex | #
# | #
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
There will be some sig, once our local net will be reliable.
Right now I rather stay anonymous.

From: [email protected]
Newsgroups: comp.os.linux,news.answers
Subject: Linux Frequently Asked Questions 4/4 [monthly posted]
Summary: Linux, a small and free unix for 386-AT computers.
Date: 20 Jan 93 11:29:24 GMT
Sender: [email protected] (Marc-Michel CORSINI)
Reply-To: [email protected]

Archive-name: linux-faq/part4
Last-Modified: 93/01/16
Version: 1.15

*********************************************************
**
* 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
*** . Mail him if you have corrections,
*** additions, etc.
*** Last update: Tue, 16 Jan 93 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
XI.J. MISC: the things that I don't know where to put ๐Ÿ™‚

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 ([email protected]). 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 ([email protected]).

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

ATIATI VGA WONDER XL and most ATI VGA WONDER PLUS
cards (chip version 5 or 6).
Courtesy Rik Faith ([email protected])
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)

8514ATI 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 ([email protected]).

XegaGeneric 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 ([email protected]).

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.


XS3S3 chipset server (Jon Tombs [email protected])
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 [email protected])






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/.


QUESTION: [suggested by Thomas Koenig]
How do I support national keyboards in X11 ?

ANSWER: Put a .Xmodmap file into the user's home directory specifying
which keys to use for what; or else replace the
/usr/lib/X11/xinit/.Xmodmap with the national keyboard keys
customized. Do man xmodmap for more details.
enclosed an except of mine (french keyboard):
keycode 8 =
keycode 9 = Escape
keycode 10 = ampersand 1
keycode 11 = eacute 2 asciitilde
keycode 12 = quotedbl 3 numbersign
keycode 13 = apostrophe 4 braceleft
keycode 14 = parenleft 5 bracketleft
keycode 15 = minus 6 bar
keycode 16 = egrave 7 grave
keycode 17 = underscore 8 backslash
keycode 18 = ccedilla 9 asciicircum
keycode 19 = agrave 0 at
keycode 20 = parenright degree bracketright
keycode 21 = equal plus braceright
keycode 22 = BackSpace
keycode 23 = Tab
keycode 24 = A
........


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: [email protected] (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 ttys2or you have a busmouse.
10 x mouse busmouse x = 0 => logitech 1 => ps/2 (aux)
2 => microsoft3 => 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 [email protected])

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 [email protected]
vga256
Virtual1024 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 [email protected]
TRIDENT TVGA 8900C card with BIOS C2.11, A cheap color monitor AOC (CM-335)
with a maximum horizontal frequence of 39.5
vga256
Virtual1024 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 [email protected] (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)

XI.J. MISC
~~~~~~~~~~
QUESTION: When using Makefiles generated by xmkmf why do I get many error
messages?

ANSWER: Currently xmkmf under Linux doesn't like # comments in Imakefiles.
Therefore you must change the #'s to XCOMM. But be careful. Don't change
any pre-compiler directives. ([email protected] Matthew A. Lewis)


QUESTION: Why do I get the error message 'could not open default font'
when I start X?

ANSWER: Some servers only work with compressed (uncompressed) fonts.
So compress (uncompress) the font files in misc and 75dpi directories and
run `mkfontdir .`. Leave the files fonts.alias and fonts.dir uncompressed.


QUESTION: Why is it I cannot get Xfree86 to work with my trident card?

ANSWER: You should get xfree86-1.1 which has improved trident support.
SLS contains 1.0Ya (I believe). If you have SLS already and a slow
connection get xbin2.1.TZa from the xfree86-1.1 distribution on tsx-11.


Sources for X11_FAQ:
Steve Kotsopoulos, Peter Hawkins, John Morris, MM. Corsini, K. Balasubramanian.
Direct comments, questions, complaints to krishna at:
[email protected]

XII.NETWORKING and LINUX
============================
*** This section should be maintained by Philip Copeland
*** ([email protected]). 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 Jan 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 CURRENT_VERSION
PATCH_LEVEL or later

2)An ethernet card, now by default the kernel assumes that
you have a WD80[0/1]3 but there are other 'drivers' available
for the following cards :-

wd8013\
wd8003 >-- These will work by default with the kernel
SMC Elite 16/
ne2000
ne1000
3com503 EtherlinkII

These are available from super.org:/pub/linux and a bit further
on I'll explain how to incorperate them (although having a
wd8013 I don't have any prectical experiance of it, I'm relying
on postings and email)

3)If you are only going to use 'loopback' mode, you 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...

You can get most if the networking stuff from :-
sunsite.unc.edu:/pub/Linux/system/Networking
OR
tsx-11.mit.edu:/pub/linux/ALPHA/NFS
OR
nic.funet.fi:/pub/OS/Linux/BETA/NFS

Linux now comes with nfs as a standard filesystem,
but you will have to recompile or get a new mount command
to use it if 'mount -t nfs csd:/very/private/area /mnt' fails
there should be one already compiled in the nfs-client package
on nic.funet.fi:/pub/OS/Linux/ALPHA/NFS

5)Know the IRQ's of your internal cards. This is to avoid
conflicts and allow the 'drivers' to communicate with your
hardware

6)Also, If you do have ethernet cable, both coax (thin and thick)
as well as twisted pair will work, the cable is only there to
carry signals, your ethernet board works out how and the linux
'drivers' simply stuff data onto the card.

7)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 )


INT=card interupt, usually selectable between 2-7
mem=where in memory to start stuffing data
i/o addr=low level communications to the board
memory start=nearly all boards have a jumper for mem starts
C8000 CC000 CD000 D0000 D2000 D4000 etc
memory end=in the case of the WD8013 this is a 16k buffered
card and will have a memory end at D4000

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 [email protected]

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
changed.

Now as I don't have another network card I am relying on other postings
for information on how to apply the other drivers, here is a better posting
I weeded out of the mailing lists which I feel should help those in need.
I'm sorry that I don't have any experiance of it but thats life. It's
specific to the ne2000 card but should also aply to the 3com and ne1000 cards

****

From: [email protected] (Matt Welsh)

[stuff deleted about getting utils etc]

---- Now, before you build the kernel, you need to install the
NE2000 driver stuff (this doesn't apply if you're not going to use
an NE2000, NE1000, or 3c503 ethernet card). Omit the following steps
if you're just using the wd8003 card (or no card at all).

---- Got the 8390 driver code. This driver runs the ne2000, ne1000, and
3c503 cards. It is in alpha, mail [email protected] if you are
interested.
Got the files 8390.c, 8390.h, 3c503reg.h, and Space.c, put them all in
/usr/src/linux/net/tcp. Note that this Space.c overwrites your old
one.

---- Edited Space.c to change value of EI8390_IRQ. Also changed the
#ifdef for the WD8003 card to something like
#ifdef I_HAVE_NE2000_INSTEAD
so that the wd8003 driver wouldn't get put in. I hear it causes
problems with the ne2000 if you set them both for IRQ5.

---- Edited /usr/include/linux/config.h and took out
#define CONFIG_DISTRIBUTION
to force use of config.site.h instead.

---- Edited /usr/include/linux/config.site.h and added
#define EI8390 0x300 /* base address */
#define EI8390_IRQ 5 /* irq of card */
#define EI_DEBUG 2 /* debug level */.

---- Edited /usr/src/linux/net/tcp/Makefile and added '8390.o' to OBJS.

---- Edited /usr/etc/inet/rc.net to config "eth_if" instead of "eth0".

*** (Phil: shouldn't be putting it here but it's part of the same message) ***

Now, it's not really that simple. There are numerous caveats. The main
one is: telnet and telnetd don't work. You can probably telnet out to
other machines okay, but telnetd is broken so you can't telnet to your
own machine. The fix? There is a new version of telnet and telnetd, which
are feature-laden and so far have worked great for me. They are in ALPHA,
but supposedly are to be released with a new TCP/IP package soon.

So, if you have problems telnetting into your machine, then you need
the new telnet. You'll know if you telnet to you own machine, it says
"connected to... whatever" and then closes the connection. If you don't
even get a connection, then things aren't set up right.

If you somehow have Pete Chown's new telnet, there are still bugs in telnetd,
which are fixed by an even newer version. All of this is to be released soon
so hold on. If you're really clamoring for a working telnet and telnetd,
talk to me. But the new binaries should be out soon.

NOTE: If you're only configuring for loopback you need to take out
the line in rc.net that runs config on eth0.

NOTE! SLS puts the TCP/IP stuff in /usr/inet instead of the right place
(/usr/etc/inet). If you can't seem to get things to work, make sure these
files are in the right place.

If you have any problems, just mail me ([email protected]). I'll be glad
to try and help. I hope I haven't forgotten anything. As long as you
set up everything in the canonical way it should work.

I think this is pretty complete. There are lots of problems, but
GO SLOW, make sure everything's setup right in all of your configuration
files (esp. rc.net, inetd.conf, services, hosts, resolv.conf, and so on).
Take notes while you do all of this stuff. Note anything out of the
ordinary. This will help GREATLY if you have inevitable problems and have
to ask others for help.

Good luck!
mdw

***

Right, compile the kernel (You may need to do a 'make clean dep Image' or
if you have just gone to 0.99, 'touch .config;make config;make 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 installed (I know you wouldn't) it could cause
all kinds of errors to be reported. (eg missing jumper settings, thick
ether selected instead of thin, that kind of thing)

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. Linux has the Network filing system
included by default (NFS) so you won't have to track down the nfs-server,
nfs-clients on the various ftp sites.


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 comes
up is that some binaries that are distributed requires libc.2.2.2 to
be present.

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
(currently at time of writting 0.98.5).

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.2d and if possible, combine it with gcc 2.3.2
although if disk space is low, trash your 2.2.2 version
and install 2.3.2 from nic.funet.fi:/pub/OS/Linux/GCC

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..)
nic.funet.fi and txs-11.mit.edu also have good variation
in utilities that you can use. Also don't forget that a lot
of network programs will compile reasonably well although,
be prepared for unexpected weeks of fustration.

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)If you are experiencing problems with missing files which are
placed where you think they *should* be, it's always worth
trying the following to find out what files are being used

strings | less

This should show up any hard linked files in the binary.
eg differing versions of telnet will look at /etc/services OR
/usr/etc/inet/services, therefore, it is a good idea to have
a symlink from one to the other eg

ln -s /etc/services /usr/etc/inet/services

7)Complain bitterly to me if I haven't covered your problem
and I'll get it sorted for the next FAQ


Cast of this production
-----------------------

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 DeSouza-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.

Donald Becker-Author of the drop in drivers for the linux kernel
allowing the following cards to be used,
3com503, 3com503/16, NE2000, NE1000 and even a
3com501 (Donald: 'not recommended').

Matt Welsh-For a quick overview of the process of installing the
atlernative ethernet drivers.

The pioneers-Mentioned in the history of TCP/IP 0.8.[01] by
Ross earlier in this FAQ, these are fearless people
who brazenly marched their filesystems towards
complete oblivion and watched weeks of work
evapourate in milliseconds without a shred of hate
for the OS that they had come to love.

The supporting-You know who you are (probably, depending on how
extrasmuch virtual beer you had last night) for contributing
to the network code with the various bug reports that
inevitably crop up.

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.

Phil. Copeland-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 veteran?)


XIII. EMACS for LINUX
=====================
*** This section is maintained by Rick Sladkey ([email protected])
*** 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

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.Zthis 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.Zemacs support programs and misc info
emacs-bin-18.59a.tar.Zshared emacs binary and its doc file
x11emacs-bin-18.59a.tar.Zshared 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: [email protected] #
# 33405 Talence Cedex | #
# | #
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
There will be some sig, once our local net will be reliable.
Right now I rather stay anonymous.



 December 8, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)