Subject: Linux Frequently Asked Questions 3/4 [monthly posted]
From: [email-masked]
Date: Thu, 18 Feb 1993 17:41:26 GMT
Newsgroups: comp.os.linux,comp.os.linux.announce,news.answers,comp.answers

Archive-name: linux-faq/part3
Last-Modified: 93/02/18
Version: 1.16.1

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

	VI. 	MISCELLANEOUS HINTS 		(part3)
	VII.	MORE HINTS			(part3)
	VIII.	FEATURES			(part3)

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

VI. MISCELLANEOUS HINTS 
=======================
*** This section is maintained by Matt Welsh ([email-masked]). 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-masked]" 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 <[email-masked]>
*** Last Update: 17 Feb 1993 21:12:24 +0200

QUESTION: What are the device minor/major numbers?

			The Linux Device List
    maintained by [email-masked] (Rick Miller, Linux Device Registrar)
			  February 17, 1993

Many thanks to [email-masked], Jim Winstead Jr., and many others.

Majors:
 0.  Unnamed .	(unknown) ....	for proc-fs, NFS clients, etc.
 1.  Memory ..	(character) ..	ram, mem, kmem, null, port, zero
 2.  Floppy ..	(block) ......	fd[0-1]<[dhDH]{360,720,1200,1440}>
 3.  Hard Disk	(block) ......	hd[a-b]<[0-8]>
 4.  Tty .....	(character) ..	{p,t}ty<{S,[p-s][0-f]}><#>
 5.  tty .....	(character) ..	tty, cua[0-63]
 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[a-h]<[0-8]>
 9.  Scsi Tape	(block) ......	<n>rmt[0-1]
10.  Mouse ...	(character) ..	bm, psaux (mouse)
11.  CD-ROM ..	(block) ......	scd[0-1]
12.  QIC-tape?  (character) ..  rmt{8,16}, tape<{-d,-reset}>
13.  XT-disk .  (block) ......  xd[a-b]<[0-8]>
14.  Audio ...  (character) ..  audio, dsp, midi, mixer, sequencer

Breakdown of minors by Majors:
------------------------------
 0.  Unnamed .	(unknown) ....	for proc-fs, NFS clients, etc.
	Minors?

 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[0-1]<[dhDH]{360,720,1200,1440}>
	Minors are [drive + [4 * type]] where drive 0-3 == A:-D: (floppy)
	and type is:	0: Autodetect		4: 720k in 3.5"
			1: 360k in 5.25" 1.2M	5: 360k in 5.25" 1.2M
			2: 1.2M in 5.25" 1.2M	6. 720k in 5.25" 1.2M
			3: 360k in 3.5"		7. 1.44M in 3.5" 1.44

	0. /dev/fd0:  Autodetected first floppy.
	1. /dev/fd1:  Autodetected second floppy.
	2. /dev/fd2:  Autodetected third floppy.
	3. /dev/fd3:  Autodetected fourth floppy.
	4. /dev/fd0d360:  360k in 5.25" 1.2M first drive
	5. /dev/fd1d360:  360k in 5.25" 1.2M second drive
		(You can work out the rest of the intermediates...)
	8. /dev/fd0h1200:  1.2M in 5.25" 1.2M first drive
	12. /dev/fd0D360 (/dev/fd0H360):  360k in 3.5" first drive
	16. /dev/fd0D720 (/dev/fd0H720):  720k in 3.5" first drive
	20. /dev/fd0h360:  360k in 5.25" 1.2M first drive
	24. /dev/fd0h720:  720k in 5.25" 1.2M first drive
	28. /dev/fd0H1440:  1.44M in 3.5" 1.44M first drive

	Naming goes like this:
	fd[drive][type][size] where:
		[drive]=0-3:  Just like DOS's "A:"-"D:".
		[type]={d,h,D,H}:  Enlighten me.  All I can tell you
				   for certain is that the capital
				   letters represent 3.5" drives.
		[size]={360,720,1200,1440} kilobytes.

 3.  Hard Disk	(block) ......	hd[a-b]<[0-8]>
	0.  /dev/hda (/dev/hda0):  The whole first HD, including its MBR.
	1-4.  /dev/sda{1-4}:  Primary partitions on the first SCSI drive.
	5-8.  /dev/sda{5-8}:  Extended partitions on the first SCSI drive.
	64.  /dev/hdb (/dev/hdb0):  The whole second HD, including its MBR.
	65-68.  /dev/sdb{1-4}:  Primary partitions on the second drive.
	69-72.  /dev/sdb{5-8}:  Extended partitions on the second drive.

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

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

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

 4.  Tty .....	(character) ..	{p,t}ty<{S,[p-s][0-f]}><#>
	0.  /dev/tty0:  This is the currently active Virtual Console.
	1-63.  /dev/tty[1-63]:  Specific virtual consoles.
	64-127.  /dev/ttyS[0-63]:  Serial ports (dial-in mode).
	128-191.  /dev/pty[p-s][0-f]:  PTY Masters.
	192-255.  /dev/tty[p-s][0-f]:  PTY Slaves. ([0-f]=0123456789abcdef)

	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_CONSOLES	The number of virtual consoles.
			NR_SERIALS	The number of serial lines.
			NR_PTYS		The number of pty's.

 5.  tty .....	(character) ..	tty, cua[0-63]
	0.  /dev/tty:  the tty that owns the process calling it.
	64-127.  /dev/cua[0-63]:  Serial ports (dial-out mode).

 6.  Lp ......	(character) ..	lp{0-2} or par{0-2}
     Parallel (printer) ports.  (Increasable in include/linux/lp.h)
	0.  /dev/lp0
	1.  /dev/lp1:  Same as MS-DOS's "LPT1:" on my machine...
	2.  /dev/lp2

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

		Even if you only have one printer port, Linux may still call
		it /dev/lp1 (rather than /dev/lp0).  Watch during boot-up to
		see how it recognizes your printer port.

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

 8.  Scsi Disk	(block) ......	sd[a-h]<[0-8]>
	Minors numbers are ((16 * Drive) + Partition)
	where
	  Drive is the number of the physical drive in order of detection
	and
	  Partition is as follows:
		0   is the whole drive
		1-4 are the DOS "primary" partitions
		5-8 are the DOS "extended" (or "logical") partitions, so...

	0.  /dev/sda (/dev/sda0):  The first (detected) SCSI drive.
	1-4.  /dev/sda[1-4]:  Primary partitions on the first SCSI drive.
	5-8.  /dev/sda[5-8]:  Extended partitions on the first SCSI drive.
	16.  /dev/sdb (/dev/sdb0):  The second (detected) SCSI drive.
	17-20.  /dev/sdb[1-4]:  Primary partitions on the second drive.
	21-24.  /dev/sdb[5-8]:  Extended partitions on the second drive.
	32.  /dev/sdc (/dev/sdc0):  The third (detected) SCSI drive.
	...and so on.

 9.  Scsi Tape	(block) ......	<n>rmt[0-1]
	0.  /dev/rmt0:  First (detected) SCSI tape drive, rewind-on-close.
	1.  /dev/rmt1:  Second (detected) SCSI tape drive, rewind-on-close.
	128.  /dev/nrmt1:  First (detected) SCSI tape, *no* rewind-on-close.
	129.  /dev/nrmt1:  Second (detected) SCSI tape, *no* rewind-on-close.

10.  Mouse	(character) ..	bm, psaux (mouse)
     (MGR may require that /dev/mouse be linked to one of these...)
		NOTE THE CHANGES TO DIFFERENTIATE MOUSE TYPES!
		(Please implement these in the distributions.)
	0.  /dev/logibm:  (Logitec?) bus mouse
	1.  /dev/psaux:  PS/2 mouse port
	2.  /dev/inportbm:  MicroSoft "InPort" bus mouse
	3.  /dev/atibm:  ATI XL bus mouse

     If you don't feel like re-configuring your applications, you can
     just leave the old "/dev/bm" lying around.

11.  CD-ROM ..	(block) ......	scd[0-1]
	0.  /dev/scd0:  The first (detected) SCSI CD-ROM.
	1.  /dev/scd1:  The second (detected) SCSI CD-ROM.
	("There's not much more to it than that" says Eric Youngdale.)

12.  QIC-tape?  (character) ..  rmt{8,16}, tape<{-d,-reset}>
     (I really don't have much info on this one... )
	6.  /dev/rmt8:  QIC-120
	8.  /dev/rmt16 (/dev/tape):  QIC-150
	136.  /dev/tape-d:  (It has something to do with being 128+8... ?)
	255.  /dev/tape-reset:  For resetting only.

13.  XT-disk .  (block) ......  xd[a-b]<[0-8]>
     XT (8-bit) hard disk controller devices.
	Minor numbers are assigned in the same manner as for the
	normal Hard Drive devices ("/dev/hd*").

14.  Audio ...  (character) ..  audio, dsp, midi, mixer, sequencer
	0.  /dev/mixer:  Mixer and Control Device
	1.  /dev/sequencer:  FM-synthesizer and Midi
	2.  /dev/midi:  (for future use)
	3.  /dev/dsp:  Digitized voice (DAC/ADC)
	4.  /dev/audio:  (Reserved for compatibility with Sun)

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-masked]:)
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
*** (jgifford@attmail,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-masked])
   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-masked]
   To join, send mail to [email-masked]
   I hope that this list will prove beneficial to the improvement of
   Linux. This list is maintained by Michael K. Johnson as
   [email-masked]

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

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 KERNEL_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 tcsh		it'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 ""$@" ; 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 <executable>" 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.8. It
has been generally agreed that the days of using "shoelace" are at an
end. See Section III of this FAQ for LILO information.

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 the	filename, 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
<RETURN> at the "Press <RETURN> 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 <space> 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
	mov	ax,#0x0305
	mov	bx,0x0000
	int	0x16

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
	mov	bx,0x000
by	mov	bx,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 Laurent JULLIARD
([email-masked]). Its purpose is to fix the keyboard
map used in your kernel image. It works more or less a la "rootdev"
(or rdev). It can be found on tsx-11.mit.edu in
/pub/linux/binaries/sbin/fixkbd.tar.Z.  

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 <alt>-key
together with <Fn>-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-masked], 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-masked]  

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-masked]

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-masked] 
The stuff can be found at tsx-11 in pub/linux/packages/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 

The information hereafter appeared on the MGR channel on 19th Jan. 
> From: [email-masked]
> Subject: MGR 0.53
>
>
> MGR, version 0.53 for Linux and SunOS (Coherent unfinished yet).
>
> Unpack the src* stuff under in /src/lbin/mgr and the usr* stuff in 
> /usr/mgr.  I splitted things that way for making it easier to ftp
> them and carry them home.  If you don't like these paths, then use
> others, but remember to edit the Configfile after generating it. 
> YOU NEED TO INSTALL ALL FILES FOR COMPILING.
>
> This is a beta release for programmers, there are no binaries.  It
> makes my work available for people who either also work on MGR and
> like to get new sources and for adventerous beta testers.  WARNING:
> I assume using Linux 0.99.2 and GCC 2.3.3.
>
> There is some new m4 code to generate menus.  It is more powerful
> than menu(1), but a little harder to use.
>
> MGR is currently being ported to Coherent 4.0, but this version
> doesn't include everything yet.  There is already a beta version
> running on Coherent, although not too stable yet.
>
> For questions, write to the mailing list, channel MGR.  Please be
> sure to talk about the latest version of MGR plus having read the
> README files in the directories containing the problem.
>
> You got this stuff from ftp.thp.uni-koeln.de:pub/linux/mgr or from 
> tsx-11.mit.edu:~ftp/pub/linux/packages/MGR, which is a mirror of the
> Cologne directory.

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 XII. devoted to X11 in this FAQ.

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

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#	LaBRI 			 |					    #
#  351 cours de la Liberation    |  e-mail:  [email-masked]    #
#  33405 Talence Cedex		 |					    #
#  				 |					    #
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- 
	 There will be a sig when our local net is reliable.
	       For now, I would rather stay anonymous.