From: corsini@hector.greco-prog.fr (Marc-Michel CORSINI)
Subject: FAQ part1 [repost?]
Reply-To: linux@numero6.greco-prog.fr
Organization: The Internet
Date: Wed, 7 Oct 1992 17:58:25 GMT


Newsgroups: comp.os.linux,news.answers 
Subject: Linux Frequently Asked Questions 1/2 [monthly posted]
Summary: Linux, a small unix for 386-AT computers, that has the advantage
	 to be free.

Archive-name: linux-faq/part1
Last-Modified: 92/10/05  15:35:30
Version: 1.10

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

This post contains Part 1 of the Linux FAQ


Hi Linuxers!

The originall FAQ 1st version was posted in Dec. 19, 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) 	wirzeniu@cc.helsinki.fi
Mark Komarinski 	(DOS) 	 	komarimf@craft.camp.clarkson.edu
Matt Welsh		(INSTALLATION)	mdw@tc.cornell.edu
A. V. Le Blanc		(MCC, DOS)	LeBlanc@mcc.ac.uk
Ward			(MGR)		ward@papagayo.srcc.lsu.edu
Drew Eckhardt		(SCSI)		headrest.woz.colorado.edu
Hongjiu Lu		(GCC)		hlu@eecs.wsu.edu
Krishna Balasubramanian (X11)		balasub@cis.ohio-state.edu 
Jim Gifford		(SERIAL)	jgifford@{attmail,world.std}.com
Zane Healy		(BBS INFO)	healyzh@holonet.net
Marc-Michel Corsini	(FAQ collector)	corsini@{labri,firmin}.greco-prog.fr
=============================================================================

If anyone is interested to participate to 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* an 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
.....

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 FTP/mailserver archive at pit-manager.mit.edu.

Please suggest any change, rephrasing, deletions, new questions,
answers ...  
Please include "FAQ" in the subject of messages sent to me about FAQ.  
Please use linux@numero6.greco-prog.fr whatever will be the From part 
of this message. Finally discussion about the FAQ can be done on the
mailing-list linux-man@stolaf.edu (see section II below).


Thanks in advance,
				Marc

Future Plan:
	- verification/location/organization for files available 
	via FTP (I've tried what a mess!!). In fact I can't handle
	this, so if there is some kind soul...
	- reorganization of the FAQ. I don't know what will be the
	next step of this, may be numbering and subsectionning.


================================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				(part1)
	V.	SOME CLASSICAL PROBLEMS			(part1)
	VI.	INSTALLATION HINTS			(part1)
	VII.	MORE HINTS				(part2)
	VIII.	FEATURES				(part2)
	IX.	GCC MISC INFORMATION			(part2)
	X.	SCSI SPECIAL				(part2)
	XI.	X11, THE MINIMUM and MORE		(part2)
 
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].

In what follows I'll consider Linux v0.97 as the current version.
Linus Torvalds wrote the following about the 0.97 release:

 - The VESA-support was removed.  I'd be happy to put it back once it
   works on all hardware.  Instead of the VESA-code, I finally put in
   the automatic SVGA setup patches.  See the top-level Makefile. 

 - The IRQ code has solidified, and should work on all machines.  Not
   all of the SCSI drivers use it yet, so I expect patches for that.. 

 - Serial interrupts are handled slightly differently, and performance
   should be up.  I've sent out a few alpha-releases, and testing seems
   to indicate that's actually true this time.  Reactions have ranged
   from "nice" to "wonderful" :-)

 - The buffer-cache and memory management code has been edited quite a
   bit.  ps/free etc programs that reads kernel memory directly no
   longer work, and even a recompilation won't be enough.  They actually
   need editing before they work. 

   The buffer-cache now grows and shrinks dynamically depending on how
   much free memory there is.  Shift+PrintScreen will give some memory
   statistics.  (Ctrl+PrSc gives task-info, ALT+PrSc gives current
   register values). 

   The mm code changes removed some race-conditions in the VM code, and
   I also tried to make the Out-of-swapspace error less severe (better
   thrashing-detection etc).

 - The super-block code has been cleaned up.  Especially the extended fs
   needs to be edited a bit to take advantage of the new setup, and I
   expect Remy Card will have a patch out eventually. 

 - include-files have been moved around some more: there are still some
   names that clash with the standard headers, but not many. 

 - Unswappable processes implemented: by default only 'init' is
   unswappable.  This is a bit safer in low-memory conditions, as at
   least init won't die due to low memory.  I also made killing init
   impossible: if init doesn't recognize a signal, it simply won't get
   it.  Some other changes ("while (1) fork();" won't kill the machine
   for non-root users etc)

 - The new SCSI drivers are in.  These make the kernel noticeably
   bigger, but you can leave them out if you don't want them.

 - The floppy- and hd-drivers print out more debugging-info in case of
   errors: this might be irritating if you have hardware that works, but
   often gives soft-errors.  On the other hand, some old debugging-info
   was removed - notably for user-level protection errors etc. 

 - Various minor fixes.  I haven't made cdiffs (and I haven't gotten any
   requests for them, so I probably never will), but they would be
   pretty big. 


I. LINUX GENERAL INFORMATION 
=============================

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 0.97, date: 01 August 1992. The previous version v0.96c
was on the 05 July 1992.


Linux is a freely distributable UNIX clone.  It implements a subset of
System V and POSIX functionality.  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: What is the current state of Linux?

ANSWER: do "finger torvalds@kruuna.helsinki.fi", or read the
comp.os.linux newsgroup.


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

ANSWER: First read all this FAQ, then
go to the nearest ftp site (see below), download the Images there are
two a rootimage and a bootimage (in general in the images directory),
for the present version, you need boot-image097 and root-image097
(or later), then download the INSTALL and RELNOTES files.  Find
the rawrite utility (for example at tsx-11 it's in
/pub/linux/INSTALL), then rawrite the images on HIGH density floppies
(5.25 or 3.5), finally boot on the root diskette and that's it.  

BTW From another Unix system a "dd" works fine. On "my" sun I use the
following "uncompress -c root-image.Z > /dev/fd0", assuming I had a
formatted floppy in /dev/fd0


After playing a while, you should want to install linux on HD (since v0.95
there are scripts on the images for that purpose, I guess they are better
now), see also section III for INSTALLATION. Then you will need
a compiler (gcc) and utilities, all can be found at the different
places described in section II below.



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.  A high density floppy
drive -- either 5".25 or 3".5

{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 (Joincom controller with Magtron drive after you have
commented 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, and 4M is definitely a plus. It can
happily use up to 16M (and more if you change some things). 

BTW On some high speed machine (486/33 DTK, 64KB cache, 4MB RAM), 
there might be some trouble with the HD driver ; one possible cure is
to switch off the "turbo" i.e. set the speed to 8MHz instead of 33MHz 

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 (1.40 ~530k; 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.


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 for some at least.


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 0.97 is available since August 1st. 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 decides 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). 


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: get a copy of the GNU copyleft at any major ftp-site (if it
carries linux, it probably carries a lot of GNU software anyway, and
they all contain the copyright).


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 400 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"

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: Not yet, but kermit has been ported to Linux, and the ka9q too.


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

ANSWER: Yes, it does.


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

ANSWER: Linux does limit the task-size, but at a much more reasonable
64MB (MEGA-byte, not kilos), so bigger programs are no problem. This
restriction is due to the file-system, pretty soon there will be a
workable VFS (it's in test) and the limitation will disappear.


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

ANSWER: X is ported to linux, it's in beta and needs some special
hardware stuff. There is some support since the Linux 0.96 release.


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

ANSWER (partial): 
Cons: 
- Linux is not as mature as Minix, there is less working software right now.  
- 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: First of all I had never tested 386BSD. 

Linux and 386BSD started out as completly different projects, with
completely different goals and design criteria in mind.

These are information found in  comp.unix.bsd in sept. 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.


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

ANSWER: It depends on which release to 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.). 


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 can be gotten by anonymous ftp from
1) Major Sites
EUROPE:
	nic.funet.fi (128.214.6.100):
		directory /pub/OS/Linux
	ftp.dfv.rwth-aachen.de (137.226.4.105):
		directory /pub/linux
US:	
	tsx-11.mit.edu (18.172.1.2):
		directory /pub/linux

2) Mirroring sites (some of them)
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.informatik.tu-muenchen.de (131.159.0.110):
		directory pub/Linux
US:
	ftp.eecs.umich.edu (141.212.99.7):
		directory linux
        reggae.oit.unc.edu                                 
		directory pub/pc-stuff/Linux
JAPAN:
	utsun.s.u-tokyo.ac.jp (133.11.11.11):
		directory misc/linux

You might want to check out which of these is the most up-to-date.
Moreover banjo.concert.net is no longer a Linux ftp site :(

al198723@next00.mty.itesm.mx forwarded me the following message from
Louis. LaBash Jr.
Washington University St Louis, a SIMTEL mirror, is also mirroring  
tsx-11.
Note: logins allowed 24 Hrs a day
 login anonymous your-net-address

    wuarchive.wustl.edu [128.252.135.4]
     pub/mirrors4/linux             LINUX tsx-11 mirror
     pub/mirrors/unix-c             SIMTEL mirror
     pub/mirror/msdos               SIMTEL mirror
     pub/mirrors3/garbo.uwasa.fi    Garbo mirror

If you don't have ftp-capability, you are in trouble. See next Q/A.  If
you have no uncompress utility, there are a lot even for DOS, have a
look on SIMTEL, or else use facilities provided by some sites to
uncompress for you. Don't do that if you can, because it's lengthy,
expensive and causes troubles to other users on 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.
Try to contact a friend on the net with those access, or try
mailserver/ftpmail server otherwise contact tytso@ATHENA.MIT.EDU. You
might try mailing "mailserver@nic.funet.fi" with "help" in the body of
the mail.  If you choose ftpmail server (example: ftpmail@decwrl.dec.com),
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 ftpmail@decwrl.dec.com
		subject: anything
		reply <your e-mail>
		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 ftp-mailer@informatik.tu-muenchen.de)


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

ANSWER: comp.os.linux is formed, for those who can't access to the
news you can ask for digest to: 
Linux-Activists-request@NEWS-DIGESTS.MIT.EDU. On the other hand, mail
sent to Linux-Activists@NEWS-DIGESTS.MIT.EDU are posted to
comp.os.linux

DO NOT mail "I want to [un]subscribe" to the newsgroup, use
the request-address. IF not your mail-box will be over-crowded by
activists.

Questions and bug-reports can be sent either to the newsgroup or to
"torvalds@kruuna.helsinki.fi", depending on which you find more
appropriate. 


People are working on the man pages and users guide.
		contact linux-man-request@stolaf.edu

And last but not least there is the original mailing-list, which is
now a multi-channel list. 
		contact linux-activists-request@niksula.hut.fi


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 one I am aware of are: GCC, MGR, X11, SCSI, NEW-CHANNELS,
	MSDOS (emulator discussion) , NORMAL, KERNEL, FTP, LAPTOP ...
	- whenever you want to JOIN or LEAVE a channel you have to
	contact the request address
	- you have to use special header (Mn-Key and Mn-Admin); Mn-Key
	is *ONLY* for regular post, the Mn-Admin is for *REQUEST*

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 (or simply send a mail to the request address
with the following line: 
X-Mn-Admin: join XXX
)

QUESTION: How can I leave 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 (or simply send a mail to the request address
with the following line: 
X-Mn-Admin: leave XXX
)

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 tw at that address.

II.B OBTAINING LINUX FROM BBS'S
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This section has been complety written by Zane H. Healy,

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:  How can I get a list of BBS's that carry Linux?

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

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

ANSWER:  Send the following information 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:
             Internet -- healyzh@holonet.net
           CompuServe -- 70332,14
              Prodigy -- SCNN49A
         Fido NetMail -- Zane Healy at 1:109/615
      RIME UNIX Conf. -- 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
enthusiests 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 post's about the future of Linux etc., well here is a
way to help guarentee 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 basic's and a little more
  3 -- So, so
  4 -- A respectable amount
  5 -- Pretty much everything you need
 
Information about the board's 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 field's does not
mean that it is a board to stay away from.  A lot of board's require
that you register and be varified before you can access most of their
feature's, 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      Bill of Rights          818-895-0455 this is NODE 2 and is private 
  5     San Fernando Valley                  Does anyone have a NODE 1 #?
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 verifire (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    kraehe@bakunin.north.de
        ??????????????          +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



III. INSTALLATION and COMMON PROBLEMS
=====================================

*** Note1: 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 (mdw@tc.cornell.edu). 

III.A. LINUX PACKAGES: Where and how install a complete Linux package
III.B. SOME COMMON PROBLEMS: Simple problems and simple solutions



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
    This is J. Winstead's general information sheet on Linux, and along
    with this FAQ is a good place to start for info.

  RELNOTES-xxxxx
  Linux version xxxxx Release Notes, by Linus Torvalds
    This is Linus's release notice for version xxxxx of the kernel.
  
  guide.txt      
  Beginner's Guide to Linux for DOS Users, by C. Boyer
    Last version was for Linux 0.95a. A bit dated, but still has
    lots of useful information for getting started on Linux.

  install.notes  
  Beginner's Installation Guide, by I. Reid
    Last version was for Linux 0.95a. Generally covers how to install 
    Linux using the "bootdisk/rootdisk" combo (for a basic setup): this
    is discussed below.

  INSTALL-xxxxx
  Install notes for version xxxxx of Linux, by J. Winstead
    This is Jim Winstead's installation notes on the "bootdisk/rootdisk"
    combo, much like "install.notes" above. The last version for this
    was 0.96. More recent copies are on the rootdisk itself, so follow
    the directions below and read the file ON the rootdisk for more.
 
  CHANGES-xxxxx
  Changes to the version xxxxx rootdisk, by J. Winstead
    These are the notes on the changes to the most recent version 
    of Jim Winstead's "rootdisk". Notes on that are below.
 
  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.

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.A. 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 "bootdisk/rootdisk" combo
     Linus's "bootdisk" (a kernel) and Jim Winstead's "rootdisk" 
     which contains the tools for installing a basic Linux system 
     to hard disk. See below for more.

   * H.J. Lu's "bootable rootdisk"
     Essentially the same as the "bootdisk/rootdisk" combo, above,
     but exists on one disk. This is still a fairly new release.
     READMEs and docs for this are found where the bootable rootdisk
     image itself is (under 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.

   * The "Softlanding Linux System Release"
     Also known as the "SLS" release, consists of 10 disks for Linux
     and 5 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.

   * Others
     There are other releases and distributions of the Linux software,
     such as the "sc.tamu" and "MJ" releases. Information on some of
     them is given below.
    

QUESTION: Where can I get these versions of Linux?

ANSWER: The "bootdisk/rootdisk" combo can be found at tsx-11.mit.edu:
/pub/linux/INSTALL, as well as at many mirror sites (which is true
for ALL of this software). 

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 SLS release is at tsx-11.mit.edu:/pub/linux/packages/SLS. 

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



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

ANSWER: FTP to one of the major Linux sites, such as tsx-11.mit.edu
(directory /pub/linux/INSTALL) or sunsite.unc.edu (directory
/pub/Linux) and get the files (you may have to look through some
subdirectories): 
   rawrite.exe (or rawrite2.exe) -- DOS executable to write the
       images to floppies
   bootimage-0.97.Z  -- The kernel bootimage floppy itself
   rootimage-0.97.1.Z -- The root filesystem and installation floppy

   Also get the associated README files.

Then transfer these files to DOS, uncompress the two images (you can  
either uncompress them under UNIX using the "uncompress" command or 
with the DOS executable "uncomp.exe"), and run rawrite on them.
Note that rawrite2.exe may have problems on some drives and setups; 
rawrite.exe is older but more trustworthy. Rawrite will copy,
sector-by-sector, the two images to two newly formatted floppies (of
course when this is done the floppies no longer work under DOS). 

Note: you can also just use "dd" on your UNIX system (if it has a
floppy drive attached to it) to copy the images to floppies. Something
like "dd if=bootimage-0.97 of=/dev/fd0" should work; consult your
system's manuals for the exact device name of the floppy drive. 

Now you have two floppies: one with the bootimage and the other with the
rootimage. Boot off of the bootimage disk and, when prompted, insert the
rootimage disk. You're all set... look at the README files on the
rootimage disk. To install the system from this disk you generally
log in as "install" and follow the procedures outlined in the READMEs
to create and format Linux partitions on your hard drive, install the
software, and so on. 

Note: with the bootimage/rootimage combo release, even though you
can install Linux on your hard drive, you can't BOOT Linux from your
hard drive (you have to boot from a kernel floppy, the only drawback
of which is that it's slower booting but afterwards you can take out
the floppy and everything). To boot from your harddrive you have to
install either the "LILO" program which changes the boot sector of your 
harddrive. This program is included with the MCC Interim and the SLS releases, 
or you can get is from one of the FTP sites seperately.


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

But otherwise it works fine.


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

ANSWER: Basically follow the directions above for the 2-disk "combo"
release, but you only have to rawrite a single floppy image and boot
it. It contains both the kernel and the root filesystem. This release
is new and in a state of flux, so this may change (as many things in
Linux are subject to do).  


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.


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.

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: You can grab the mj-base-[123].Z set to upgrade all your
software to the new shared library structure. There are some extra
files in the mj set. Following Wayne Davidson advice "the mcc-interium
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


QUESTION: What's about SLS ?

ANSWER: (this is part of the README of SLS 0.96c)
SLS (Softlanding Linux System) Copywrite 1992, Softlanding Software.

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

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.

SLS is a binary mostly distribution (except for the kernel), and
is broken into 2 parts: base (10 disks) and X (5 disks).
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 gwm.

Utilities < 40K are linked -N (in most cases) to eliminate the 
header, so much disk space is saved.  Disk usage is as follows:

Minimal base system:     6 Meg
Full base system:       20 Meg
Full base system + X11: 30 Meg

The distribution is made up of 15 disks, only the first two of 
which are not DOS formatted floppies. Each disk contains about 
1100K of stuff.  You can, however, get a pretty complete system with 
just disk 1-4, or if you already have linux up, just disks 3 and 4.
You may want to get just 1-4 first and do a minimal install, just
to get a feel for the system.

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.

QUESTION: How do I go about getting and installing the SLS release?

ANSWER: Ftp to one of the Linux sites and check out the files in the
"SLS" directory (usually under "packages" in the Linux directory). 
The README files there explain it all; basically you download the 
images (which are almost all DOS format files), rawrite the boot
disk to a floppy, and boot from it. Because the SLS release files are
DOS format, you don't have to rawrite them: the SLS installation reads
them directly. You can also get the SLS release on floppies by
snail mail for a nominal fee (for non-netters). See the SLS README
file for details.


III.B. 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-0.97.4.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 or shoelace 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. 

IV. LINUX and DOS 
=================
 
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 DOS programs
and utilities to run under Linux. 


QUESTION: So why use mtools?

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.
 
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/ps0 (b 2 16). 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. 
BTW as86 should not work on keyboard.S, instead, you must use gcc -E
and then (g)as. Since 0.96 the keyboard routine is no longer .S but .c 


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.


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


QUESTION: When I try to (un)compress many files in one command, the
command partially fails?

ANSWER: This is a bug, many partial fixes are floating around but ..
You can solve it by a bash command "for i in whateverfiles;do 
compress $i; done". Another possibility is to download the
GNU tar and compress binaries (at tsx-11 /pub/linux/binaries/usr.bin). 


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

ANSWER: The tar provided on .95a disk is broken, and the one provided
on .96 and latter is Pax 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: For 0.97 you should download the new ps it's at tsx-11 in 
/pub/linux/sources/sbin/ps097p2.tar.Z 

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 {} \;

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. INSTALLATION HINTS 
======================
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

ANSWER:(Matt Welsh) Possible, but check first if the size of your file
corresponds to the one on the ftp sites, if it is then post the
problem to comp.os.linux and verify that it's a bug that way. If the
problem IS indeed a bug, then you should get a copy of the Linux Bug
report template  (included with the 'ibug' program, posted to
comp.os.linux on 27 Jul 92 and available on the major ftp sites) and
fill it out (either with the ibug program, if on a UNIX machine or by
hand if not) and mail it to ml-linux-bugs@dg-rtp.dg.com. I will
compile a list of bugs and post weekly. If someone has a FIX or a
WORKAROUND to a bug in the weekly bug-report posting, they should fill
out the Linux bug report fix template (also with the ibug program) and
mail it to the same address (ml-linux-bugs@dg-rtp.dg.com). I will
update the bug report accordingly.  
I will post the aggregate bug reports as well as upload them to the
major ftp sites with the name BugReport_<date>.



QUESTION: Does anyone port this to linux?, if not i'll compile it

ANSWER: First check on the sites, have a look to the info-sheet
monthly post and also available on sites. Have a look in the "old"
digest files and mail-archives of linux-activists, these are kept at
least at tsx-11 and nic possibly at tupac. Look also at the GNU(*)
utilities to see if someone has already written a freely distribuable
version. Ask then on the list/news.


(*) 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: Read first the previous Q/A, then to make something available to
others you have to contact Alan Clegg (abc@banjo.concert.net) about
putting your code in the ABC-Release of Linux. The ABC-Release
is a standardized set of Linux sources and binaries that will be
available in an easy installable format, and which will be maintained
in a standard way. Submissions should conform to the Linux File System 
standard version 1.0 (this file is kept at banjo.concert.net in
/pub/Linux/docs). 
BTW Whenever you submit binaries, please do NOT link them with shared
libraries. 

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. Moreover throw away most of the ld
flags such as -lg, since the libg.a is missing for some version of gcc
(see section IX. for more details).


QUESTION: Linux lacks on ****/ Linux has a bug in ***, what are the
rules to enhance/correct the kernel?

ANSWER: Before anything check if some one else is working on that
subject, contact those people, since end february a BUGLIST (thanks to
Michael Johnson) is kept on the major sites. Test your improvment (it
should work is NOT enough), then send the patches in cdiffs form to
Linus and/or the list, moreover the localization must be clear. This
does NOT mean that bug-reports and patches are not accepted. Moreover,
you should sent a brief note to Michael: johnsonm@stolaf.edu; contact
also abc@banjo.concert.net he organizes the ABC-Release.

VI.B. Major/Minor device number
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

QUESTION: What are the device minor/major numbers?

ANSWER: (some comments are from richard@stat.tamu.edu and Jim Winstead Jr.)

		Memory devices: Major = 1 (characted devices) minor
0	/dev/ram 
1	/dev/mem 
2	/dev/kmem
3	/dev/null 
4	/dev/port (implemented, but untested - don't play with it)
5	/dev/zero

example: "mknod /dev/null c 1 3"


		Floppy disks: Major = 2 (block devices)

minor = drive + 4*type, drive = 0,1,2,3 for A,B,C or D-diskette

type	1: 360kB floppy in 360kB drive (5.25")
	2: 1.2M floppy in 1.2M drive (5.25")
	3: 360kB floppy in 720kB/1.44Mb drive (3.5")
	4: 720kB floppy in 720kB/1.44Mb drive (3.5")
	5: 360kB floppy in 1.2M drive (5.25")
	6: 720kB floppy in 1.2M drive (5.25")
	7: 1.44M floppy in 1.44M drive (3.5")

Thus minor nr for a 1.44Mb floppy in B is: 1 + 4*7 = 29, and to read
an old 360kB floppy in a 1.2M A-drive you need to use minor= 0 + 4*5 
= 20.

Example: "mknod /dev/PS0 b 2 28" (b for block: 2 for floppy, 28 for
1.44 in A)

Since the autodetect floppy, you can directly use the following:

0	/dev/fd0 - first floppy driver
1	/dev/fd1 - second floppy driver

See the 0.97.1 root disk or the MCC release for the specifics of the
naming convention - basically it's fd[01][dhDH]{360,720,1200,1440}.
Capital D/H means 3.5" drive, lower case is 5.25".

# Two hard drives are supported by default.  This number is encoded
# in MAX_HD in linux/kernel/blk_drv/hd.c.  The number of partitions
# appears to be hardcoded.

		Hard disks: Major = 3 (block devices) minor
0	/dev/hda - The whole hd0, including partition table sectors
etc.  
1	/dev/hda1 - first partition on hd0 
...  
4	/dev/hda4 - fourth partition on hd0 
5	/dev/hda5 - Extended partition
...
64	/dev/hdb  - The whole hd1, again including partition table info 
65	/dev/hdb1 - first partition on hd1
...  
68	/dev/hdb4 - fourth partition on hd1
69	/dev/hdb5 - extended partition on hd1
...
NOTE! Be /very/ careful with /dev/hda and /dev/hdb - you seldom need
them, and if you write to them you can destroy the partition tables:
something you probably don't want.  The only things that use /dev/hda
are things like "fdisk" etc.

NOTE 2!! The names for hd's are no longer the same as under minix,
there is a straightforward correspondance, but I think
minix orders the partitions in some way (so that the partition numbers
will be in the same order as the partitions are physically on the
disk).  Linux doesn't order anything: it has the partitions in the
same order as in the partition table (ie /dev/hd?1 might be physically
after /dev/hd?2).

NOTE 3!! Extended partitions are recently detected, use them 
carefully, they should work, but backup everything before.

# The number of virtual consoles is encoded in NR_CONSOLES in
# linux/include/linux/tty.h.  Similarly, the number of serial
# lines is encoded in NR_SERIALS, and the number of ptys in
# NR_PTYS.

			Tty's: Major = 4 (character devices) minor
0	/dev/tty0 	- general console 1 -
63			- reserved for virtual console
64-127			- reserved for serial io
128-			- reserved for pty's

And more particularly we have: 
64	/dev/ttys1 	- com1
65	/dev/ttys2 	- com2
66	/dev/ttys3	- com3
67	/dev/ttys4	- com4

On some distributions the ttysX have been renumbered as follows
64	/dev/ttys0 	- com1
65	/dev/ttys1 	- com2
66	/dev/ttys2	- com3
67	/dev/ttys3	- com4

# The number of line printers is encoded in LP_NO which is found in
# linux/include/linux/lp.h.

			lp: Major=6 (character devices) minor since 095c+
0	/dev/lp0	/dev/par0
1	/dev/lp1	/dev/par1
2	/dev/lp2	/dev/par2

# The maximum number of scsi drives is encoded in MAX_SD in
# linux/kernel/blk_drv/scsi/sd.h

			Scsi: Major=8 (block devices)
Minors are assigned in increments of 16 to SCSI disks as they are
found, scanning  from host 0, ID 0 to host n, ID `7, excluding the
host ID. For more information read the SCSI.note file available with
patches for SCSI (see the SCSI section below).


X*16	/dev/sdX 		full device
X+Y*16  /dev/sdYX		partition X on sd Y
 
# The scsi tape code is not yet in place.  But for future reference, the
# number of scsi tapes supported is defined by MAX_ST in 
# linux/kernel/blk_drv/scsi/st.h.

			Scsi Tape -- not implemented
			SCSI Tape: Major=9
X	/dev/stX	

			Bus Mouse: Major=10 (character devices)
0	/dev/bm

Finally there is also a PS/2 mouse with Major 10 and minor 1 it's also
a character device named /dev/psaux.

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

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
~~~~~~~~~~~~~~~~~~~
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 -- jgifford@world.std.com)
   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: linux-serial@stolaf.edu
   To join, send mail to linux-serial-request@stolaf.edu
   I hope that this list will prove beneficial to the improvement of
   Linux. This list is maintained by Michael K. Johnson as
   linux-serial-request@stolaf.edu

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/ttys1      - com1
   65      /dev/ttys2      - com2
   66      /dev/ttys3      - com3
   67      /dev/ttys4      - 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 :)"
   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:console:/etc/getty -m 1200 ttys2

   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 "<modem_settings>" > /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 :)