3953 lines
144 KiB
Plaintext
3953 lines
144 KiB
Plaintext
From: boyer@sumax.seattleu.edu (Chuck Boyer)
|
|
Newsgroups: comp.os.linux
|
|
Subject: faq 06.1
|
|
Message-ID: <4653@sumax.seattleu.edu>
|
|
Date: 7 Jul 92 20:36:30 GMT
|
|
Sender: boyer@sumax.seattleu.edu
|
|
Organization: Seattle University, Seattle WA
|
|
Lines: 2532
|
|
|
|
|
|
Path: labri.greco-prog.fr!corsini
|
|
Newsgroups: comp.os.linux,news.answers
|
|
Distribution: world
|
|
Followup-To: poster
|
|
From: corsini@labri.greco-prog.fr
|
|
Reply-To: linux@numero6.greco-prog.fr
|
|
Organization: Greco Prog. CNRS & LaBRI, Bordeaux France
|
|
Subject: Linux Frequently Asked Questions 1/2 [monthly posted]
|
|
Expires: Mon, 11 July 92 09:00:41 GMT
|
|
Approved: news-answers-request@MIT.Edu
|
|
Summary: Linux, a small unix for 386-AT computers, that has the advantage
|
|
to be free.
|
|
|
|
Archive-name: linux-faq/part1
|
|
Last-Modified: 92/06/11 15:35:30
|
|
Version: 1.8
|
|
|
|
*********************************************************
|
|
* *
|
|
* 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 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.
|
|
|
|
Many of the questions could be avoided, if people had read the FAQ of
|
|
the following newsgroups:
|
|
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 post it twice a
|
|
month, since there are more and more new incomers, and new features.
|
|
|
|
BTW This FAQ is available at the main Linux sites in the doc
|
|
directory, the addresses are given in section II. of this FAQ.
|
|
|
|
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. [If a mail to the previous address bounce to you try
|
|
corsini@labri.greco-prog.fr]
|
|
|
|
|
|
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 SECURITY (part1)
|
|
IV. LINUX and DOS (part1)
|
|
V. SOME CLASSICAL PROBLEMS (part1)
|
|
VI. INSTALLATION HINTS (part2)
|
|
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].
|
|
|
|
In what follows I consider Linuxv0.96(a) as the current version. Linus
|
|
Torvalds wrote the following about the 0.96 release:
|
|
|
|
0.96 has a lot of changes; it contains a lot of new files, as well as
|
|
some reorganizations in the old ones.
|
|
|
|
The main new things are:
|
|
- The SCSI distribution is now in the standard package.
|
|
- X11r5 as ported by Orest Zborowski is supported. It's still in
|
|
beta-testing (join the X11 channel see the USEFUL ADDRESS section)
|
|
- Hopefully better interrupt latency
|
|
- Reorganization of the vfs routines and minix filesystem driver
|
|
- ps/uptime patches + added readahead, so having computationnaly
|
|
intensive background processes is not as noticeable anymore while
|
|
doing IO.
|
|
|
|
|
|
Due to my hardware limitation (386SX, IDE drives, 8MB RAM, 2MB swap
|
|
file and VGA card); some information provided in this FAQ about X11,
|
|
and SCSI drivers are not my own. I just grab them from the various
|
|
mailing lists and comp.os.linux. In fact the Linux X11 section is from
|
|
Peter Hawkins, the rest is extracted from the X386 faq, the SCSI
|
|
section is from Drew. And the Serial subsection was enhanced by Jim
|
|
Gifford.
|
|
|
|
|
|
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.96a, date: May 22th 1992. The previous version v0.95c+
|
|
(April 9th) has been enhanced a bit (see 0. section).
|
|
|
|
|
|
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, and the INFO-SHEET monthly post, 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-image096 and root-image095a
|
|
(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 (there
|
|
were scripts on the v0.95c+ images for that purpose, I guess they are
|
|
in 0.96 too), 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
|
|
|
|
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 ; on 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: How big is the 'complete' Linux package?
|
|
|
|
ANSWER: Well, the boot and root image diskettes are about 750Ko
|
|
compressed. The kernel sources are about 200Ko compressed, and the
|
|
libc sources are another 170Ko compressed. The GNU C (1.40) compiler
|
|
is 670Ko, the GNU C (2.01) package which enclose C and C++ compiler is
|
|
about 3Mo; and the other miscellaneous unix utilities are probably a
|
|
bit over a megabyte.
|
|
|
|
Now add sources to whatever you want to port and compile yourself.
|
|
The sources to GNU emacs are about 3 megabytes, compressed. Groff (a
|
|
troff replacement) is just over 1 megabyte.
|
|
|
|
If you think this is big, remember that the OS/2 2.0 Limited
|
|
Availability release is 20 1.44 megabyte diskettes.
|
|
|
|
|
|
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.95c+ is available since April 9th. 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: 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: 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: Linux0.96(a) does do paging in a better way than Linux0.95c+.
|
|
|
|
|
|
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.
|
|
|
|
|
|
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. As I said in the 0. section, there is some
|
|
support in the Linux 0.96 (and after) release.
|
|
|
|
|
|
II. LINUX USEFUL ADDRESSES
|
|
=========================
|
|
|
|
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
|
|
Tupac-Amaru.Informatik.RWTH-Aachen.DE (137.226.112.31):
|
|
directory /pub/msdos/replace
|
|
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
|
|
banjo.concert.net (192.101.21.6):
|
|
directory pub/Linux/mirrors
|
|
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 mirroring hpb, nic and tsx.
|
|
|
|
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: 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, and alt.os.linux is dying little by
|
|
little, 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. Moreover there is a BUGLIST file available in the
|
|
different main site (at least you can find it at tsx-11, in
|
|
pub/linux/patches/BUGLIST).
|
|
|
|
People are working on the organization of Linux, this is done on
|
|
a separate mailing-list.
|
|
|
|
linux-standards: Discussion of distribution and directory standards
|
|
for the Linux operating system, including directory structure, file
|
|
location, and release disk format.
|
|
|
|
Requests to be added to this list must be sent to:
|
|
linux-standards-request@banjo.concert.net
|
|
|
|
Others 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
|
|
- whenever you want to join or quit 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 them (or simply send a mail to the request address with
|
|
the following line:
|
|
X-Mn-Admin: join 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.
|
|
|
|
|
|
III. INSTALLATION and SECURITY
|
|
==============================
|
|
|
|
|
|
QUESTION: Does there exist *any* reliable information that can help me
|
|
to install Linux, 'cause I know very few things about Dos and/or Unix?
|
|
|
|
ANSWER: Yes, there is a lot of effort which has been done recently.
|
|
You should read the following files:
|
|
Beginner's Guide: Installation by I. Reid
|
|
(Dos) Beginner's guide by C. Boyer
|
|
Info-sheet by R. Blum
|
|
Install-0.xx by L. Torvalds (?)
|
|
Relnotes-0.xx by L. Torvalds (?)
|
|
|
|
|
|
QUESTION: Does there exist a simple way to get all (or nearly) the
|
|
Linux stuff?
|
|
|
|
ANSWER: You can grab an 'interim' version of Linux at ftp.mcc.ac.uk in
|
|
/pub/linux/mcc-interim/0.95c+/images (thanks to A. V. Le Blanc). The
|
|
README files are in /pub/linux/mcc-interim/0.95c+ These files are
|
|
mirrored at banjo.concert.net in /pub/Linux/mirrors/uk.mirror/mcc-interim
|
|
|
|
|
|
QUESTION: What are the files provided in the interim distrib?
|
|
|
|
ANSWER: (16 April 92) The kernel supplied is the 0.95c+ one, there are
|
|
also 4 binaries floppy including C and C++ compilers.
|
|
boot-UK.Z (or boot-US.Z) this is the boot/root image disk
|
|
util-UK.Z (or util-US.Z) this disk is mounted on /mnt
|
|
comp.image the Gnu C 2.1 compiler (and everything)
|
|
+shoelace for Linux
|
|
comp2.image the GNU C++ 2.1 compiler (and all)
|
|
+kermit
|
|
|
|
QUESTION: Ok, I've got the interim distribution, what should I do now?
|
|
|
|
ANSWER: You should read the README file provided, and follow the
|
|
instructions. Roughtly, you have to uncompress boot-?? and util-??
|
|
then rawrite them on HD floppies. After that boot on the boot-?? disk
|
|
and follow the instructions (some are also on-line provided); remove
|
|
the floppy and put the util one.
|
|
|
|
QUESTION: I have copyed all the rootimage stuff on my HD, how can I
|
|
use the hard-disk as root?
|
|
|
|
ANSWER: There are three ways to answer this:
|
|
a) You have downloaded the linux sources and a compiler, in that case
|
|
recompile the kernel to make a new boot-floppy according to your
|
|
environment. If you have dowloaded the sources of linux-095c+ (or
|
|
later), you just have a look in the main Makefile to set your national
|
|
keyboard, your root drive and the flags for the compiler version you
|
|
use; if you have grabed linux-095a then you have to set your keyboard
|
|
in kernel/chr_drv/keyboard.S (.S not .s). "make disk " will compile
|
|
the kernel and create a new boot floppy, or else "make" and then "cp
|
|
Image /dev/PS0".
|
|
b) You have nothing except the images and DOS, in that case you should
|
|
have read the INSTALLATION notices provided at your ftp site, but
|
|
well: you have to change the boot image at offset 508. The word (in
|
|
386-order, i.e low-byte first) tells the system which device to use as
|
|
root: initially it's 0 which means that we want to use a floppy of the
|
|
same type as the boot-disk (this is the reason why HIGH density floppy
|
|
is required for the boot-image). In order to use the HD as root, this
|
|
value has to be changed to point to the correct device. For that
|
|
purpose you can download the program enclosed in INSTALL-0.10
|
|
(provided some slight modification according to the new minor/major
|
|
numbers) use the program written by Henning Spruth wich can be found
|
|
in digest#149 vol1 (there are both the C code and the uuencoded DOS
|
|
executable) or else any sector editor.
|
|
c)If you have Linux running, the command rdev will change the boot device
|
|
of a floppy or of a Linux image file. In the 'interim' release,
|
|
because the boot disk is in memory, there are instructions for unmounting
|
|
the utilities disk and making a floppy which will boot with the newly
|
|
installed file system as root.
|
|
|
|
|
|
QUESTION: I have the previous Linux version, how can I upgrade it?
|
|
|
|
ANSWER: It's quite simple. Down-load the new Linux kernel (the current
|
|
one is v0.96). Unpack it in /usr/src/linux. Have a look in the main
|
|
Makefile to setup your environment.
|
|
a) If you use shoelace, then perform 'make'. Then 'mv /etc/Image
|
|
/etc/Image.old' and finally 'cp /usr/src/linux/Image /etc/Image'
|
|
reboot, that's it.
|
|
b) You do not use shoelace, then it's even simpler just put a
|
|
formatted floppy in the driver and perform: 'make disk'
|
|
|
|
|
|
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 BLOCKS, ie 1024 bytes, not
|
|
sectors. The mkfs doesn't work for very big partition (over than 64
|
|
Megs). Also, make doubly certain that you have the correct partition.
|
|
|
|
There are a few rules about this: /dev/hda (linux0.95a and latter)
|
|
corresponds to /dev/hd0 (under minix) and /dev/hdb (linux0.95a ..)
|
|
to /dev/hd5 (minix). DO NOT USE THEM, they are the whole raw
|
|
disk, not partitions. Also if a partition is on drive 1 under minix
|
|
(ie /dev/hd1-4), it is drive 1 under linux as well. Moreover, there
|
|
is no real consensus on whether partition #1 is the first partition on
|
|
the disk, or is the first entry in the partition table. Some parition
|
|
programs sort this information on the screen only, some will write the
|
|
sorted information back to the hard disk. Linux assumes that the
|
|
first entry is hda1, and so if some utility starts sorting/reordering
|
|
the table these things can change. Moreover, use very carefully extended
|
|
partition they are still in beta-test (this is in the installation notes).
|
|
|
|
REMARK Minix does some reordering.
|
|
|
|
A useful hack is to make each of your partitions a different size.
|
|
Then after any editting or possible change to the partition table you
|
|
can boot a floppy system and run fdisk (linux's, not DOS) to see if
|
|
the assignments still hold.
|
|
|
|
|
|
QUESTION: I have a one partitionned 40Mb disk. If I run mkfs, what
|
|
happens?
|
|
|
|
ANSWER: If you do that, you will have an empty 40Mb Linux file system.
|
|
You should, at least, make on your hard disk, one partition per
|
|
operating system you want to use.
|
|
|
|
|
|
QUESTION: I mounted the linux filesystem, and copied the files from
|
|
the root-disk to the harddisk. Now I cannot find them any more, and
|
|
somethimes linux dies with a "panic: trying to free unused inode".
|
|
|
|
ANSWER: You have probably forgot to sync before rebooting. Linux, like
|
|
all unices, use a "buffer cache" to speed up reads and writes to disk.
|
|
On a machine that has enough memory, this buffer-cache is 1.5MB, and
|
|
if you forget to sync before exiting, it may not be fully written out
|
|
to disk. Re-mkfs and re-install (or try to use the preliminary fsck,
|
|
but remember that although fsck tries to correct the faults it finds,
|
|
it may fail.)
|
|
|
|
|
|
IV. LINUX and DOS
|
|
=================
|
|
|
|
QUESTION: Is it possible to access to DOS world from Linux
|
|
|
|
ANSWER: Yes, there is the mtools package (with patches for devices.c)
|
|
The original sources of mtools can be found at any places not only at
|
|
nic, tupac and tsx-11, and the patches for Linux (with fix for big DOS
|
|
partitions are in the directory patches or ports). Moreover you should
|
|
download the file patch.Z to apply patches :)
|
|
It is possible to find the compiled mtools stuff at mcc (see above for
|
|
the address)
|
|
BTW An improved version of mtools is on nic.funet.fi in
|
|
/pub/OS/Linux/tools/mtools.n.tar.Z, where all tools are in a single
|
|
executable; the device configuration are set in /etc/mtools one per
|
|
line. In the package, you will find a readme file, the compiled
|
|
program, an example of /etc/mtools and diffs to mtools-2.0.5.tar.Z.
|
|
It's also provided in the 'interim' release (in the util-?? disk).
|
|
|
|
|
|
QUESTION: the mtools package won't work. I get an ENOENT error message
|
|
for all devices.
|
|
|
|
ANSWER: mtools needs to be told which device to look for. If you have
|
|
the mtools.n.tar.Z package set correctly your /etc/mtools file; if you
|
|
use the older mtools stuff (see Q/A above) use 'ln' or 'mknod' to
|
|
create a special file called "/dev/dos?", where ? is A, B, C, X or Y.
|
|
A and B are for floppies (12 bits), C is for hard disk and X, Y for
|
|
any. This file should point to the device you want to read. About the
|
|
minor/major pair have a look in section INSTALLATION HINTS.
|
|
|
|
|
|
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).
|
|
|
|
|
|
QUESTION: I've got the mtools.n.tar.Z package, but I can't read
|
|
anything even with the etc/mtools file properly set. Any clue ?
|
|
|
|
ANSWER: To use the binary you have to link (or simlink) the mtools
|
|
binary with mattrib, mcd, mcopy, mdel, mdir, mformat, mkmanifest,
|
|
mlabel, mmd, mrd, mread, mren, mtype and mwrite.
|
|
Then You just need to use the proper mstuff with the apropriate
|
|
device.
|
|
|
|
|
|
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-0.92, 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 the swap partition is 8Meg (twice the size of RAM on my box). 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
|
|
new tar and compress binaries (at tsx /pub/linux/binaries/usr.bin).
|
|
|
|
|
|
QUESTION: I have some trouble with tar/untar; any clue ?
|
|
|
|
ANSWER: The tar provided on .95a disk is broken. Use the one available
|
|
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 the 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: When I use make as non root, it doesn't work, why?
|
|
|
|
ANSWER: ?????, the message is either (null) setuid ..., or (null)
|
|
setgid... This was a known bug in the first Linux make. May be this is
|
|
fixed in the gmake-3.62 version enclosed in gmake-3.62.tar.Z (at tsx
|
|
in pub/linux/binaries).In fact the make.a provided in the gcc-2.1
|
|
package or even the one provided in mcc-interim are correct.
|
|
|
|
BTW This problem does not exist with the pmake (make for BSD 4.3 Reno
|
|
and BSD 4.4) package.
|
|
|
|
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 $* }
|
|
|
|
|
|
|
|
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.
|
|
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".
|
|
|
|
|
|
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'.
|
|
|
|
|
|
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 Misc/Device Major-Minor/Serial Information.
|
|
|
|
VI.A. Misc information
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
QUESTION: I've got all the things on site ??? but I don't know what
|
|
goes where.
|
|
|
|
ANSWER: Read this carefully, it's a mess right know and I hope this
|
|
problem will be fixed when the ABC-release will be out. It heavily
|
|
rely on the compiler you use:
|
|
A) The following information are for those using gcc-1.40 or previous
|
|
release (1.37): include.tar.Z goes to /usr/include; system.tar.Z
|
|
contains the latest sources of the system files (mkswap, mkfs, fsck
|
|
and fdisk). In version 0.12 utilbin.tar.Z has been replaced by
|
|
fileutil.tar.Z and utils.tar.Z which contains a new tar to handle the
|
|
symbolic links, make, uemacs kermit and minor programs (sed,...).
|
|
Other utilities have been ported separately.
|
|
B) For those who use gcc-2.1 there are nearly everything in the
|
|
package that you can find at banjo in pub/Linux/GCC in the
|
|
2.1shared.tar.Z file. You could find more sources in system095a.tar.Z
|
|
file (at tsx in sources/system/system0.95a)
|
|
C) The 'mcc-interim' release comes with gcc 2.1, which it installs in the
|
|
correct place. If you have tar and compress (remember use the good
|
|
one ..), you can install gcc from the 'interim' comp.image and g++
|
|
from the comp2.image even if you don't have the rest of the 'interim'
|
|
version.
|
|
|
|
|
|
QUESTION: It seems that $#@! ported on linux don't run correctly
|
|
|
|
ANSWER: Possible, but check first if the size of your file corresponds
|
|
to the one on the ftp sites, if it is then check the BUGLIST available
|
|
on the main linux sites. If the bug is not reported, do a complete
|
|
report of the error, try to correct it and send your result to
|
|
johnsonm@stolaf.edu.
|
|
|
|
|
|
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:
|
|
Memory devices: Major = 1 (characted devices) minor
|
|
0 /dev/ram
|
|
1 /dev/mem
|
|
2 /dev/kmem - not implemented (easy, but I haven't done it)
|
|
3 /dev/null
|
|
4 /dev/port (implemented, but untested - don't play with it)
|
|
|
|
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)
|
|
|
|
|
|
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 VERY
|
|
carefully, they should work, but backup everything before.
|
|
|
|
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
|
|
|
|
lp: Major=6 (character devices) minor since 095c+
|
|
0 /dev/lp0
|
|
1 /dev/lp1
|
|
2 /dev/lp2
|
|
|
|
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).
|
|
|
|
NOTE 4!! all the numbers given are in decimal form (the one you can
|
|
see if you perform ls -l on /dev).
|
|
|
|
|
|
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.)
|
|
|
|
|
|
QUESTION: Is there a list somewhere where I can get help with serial
|
|
communications under Linux?
|
|
|
|
ANSWER: (Jim Gifford -- jgifford@attmail.com)
|
|
There is a new 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 output to serial line.
|
|
ex: stty parodd > /dev/ttys2 which gives ttys2 odd parity.
|
|
type stty by itself to get an idea of possible parameters.
|
|
Or 'man stty' as well :)
|
|
|
|
|
|
/*
|
|
$Log:
|
|
*/
|
|
Path: labri.greco-prog.fr!corsini
|
|
Newsgroups: comp.os.linux,news.answers
|
|
Distribution: world
|
|
Followup-To: poster
|
|
From: corsini@labri.greco-prog.fr
|
|
Reply-To: linux@numero6.greco-prog.fr
|
|
Organization: Greco Prog. CNRS & LaBRI, Bordeaux France
|
|
Subject: Linux Frequently Asked Questions 2/2 [monthly posted]
|
|
Expires: Mon, 11 July 92 09:00:41 GMT
|
|
Approved: news-answers-request@MIT.Edu
|
|
Summary: Linux, a small and free unix for 386-AT computers.
|
|
|
|
Archive-name: linux-faq/part2
|
|
Last-Modified: 92/06/11 15:35:30
|
|
Version: 1.8
|
|
|
|
*********************************************************
|
|
* *
|
|
* Answers to Frequently asked questions about Linux *
|
|
* *
|
|
*********************************************************
|
|
|
|
This post contains Part 2 of the Linux FAQ. It must be read *after* the
|
|
first part. It contains the following sections:
|
|
|
|
|
|
VII. FEATURES (part2)
|
|
VIII. MORE HINTS (part2)
|
|
IX. GCC MISC INFORMATION (part2)
|
|
X. SCSI SPECIAL (part2)
|
|
XI. X11, THE MINIMUM and MORE (part2)
|
|
|
|
===================================8<====>8============================
|
|
|
|
|
|
VII. MORE HINTS
|
|
===============
|
|
|
|
This part is recent and 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 v0.96, 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: Don't use the previous version (digest44 vol.#1) with 0.95a
|
|
|
|
|
|
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 ....
|
|
|
|
|
|
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: Right now, this can be done via the shoelace stuff or the
|
|
bootany package, or by the bootlin package from coutand@imag.imag.fr.
|
|
If you choose shoelace *please* do read the next Q/A (and also the
|
|
README provided with the shoelace stuff)
|
|
|
|
|
|
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've seen the login but I missed the passwd binaries, 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 misc.tar.Z file of
|
|
the mcc-interim which contains standard passwd binary.
|
|
|
|
|
|
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: 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/PS0
|
|
tar zxvp < /dev/PS0
|
|
|
|
You DO NOT NEED TO MOUNT a rawritten disk
|
|
|
|
|
|
QUESTION: Does emacs handle the arrows-key
|
|
|
|
ANSWER: Yes it does, one simple way is to put some elisp code in your
|
|
.emacs, this is an except of mine:
|
|
|
|
(global-unset-key "\e[")
|
|
(setq esc-c-map(make-keymap))
|
|
(fset 'esc-c-prefix esc-c-map)
|
|
(define-key global-map "\e[" 'esc-c-prefix)
|
|
(define-key global-map "\e[B" 'next-line)
|
|
(define-key global-map "\e[A" 'previous-line)
|
|
(define-key global-map "\e[C" 'forward-char)
|
|
(define-key global-map "\e[D" 'backward-char)
|
|
|
|
The keycode (A, B etc..) was obtained by ^Q followed by the key
|
|
|
|
|
|
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.
|
|
|
|
|
|
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])
|
|
|
|
|
|
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 0.95a Images distribution, 4
|
|
consoles are available, getty runs on them.
|
|
|
|
BTW: the serial ports are now /dev/ttys0, /dev/ttys1, /dev/ttys2 and
|
|
/dev/ttys3. tty0 is the general console. tty128- are reserved to pty's
|
|
|
|
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: Until v0.95 it's the Bourne Again Shell, bash-1.11 and
|
|
compilation was straightforward (Linus dixit), just "make"
|
|
that's all or nearly. But as the shell comes bigger and bigger the
|
|
v0.95a /bin/sh is ash the BSD 4.3 sh.
|
|
BTW I think that next time, it will be rc which is much more better
|
|
than ash and tiny wrt bash. If you want to test it, it's (at least) at
|
|
nic in /pub/unix/shells and the file is rc-1.2.tar.Z . The compilation
|
|
is straightforward (just a few things to modify in Makefile and
|
|
mksignal).
|
|
Also a port of tcsh6.1 has been done recently (beginning of April)
|
|
|
|
|
|
QUESTION: I've been able to install Linux on my box, but Ctrl-Z nor
|
|
switching jobs from background to foreground seem to work, why?
|
|
|
|
ANSWER: These feature are not provided with the bin/sh (ash) of the
|
|
Images, you should download bash to get jobs possibilities.
|
|
|
|
|
|
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
|
|
|
|
BTW there is no roff,troff nor nroff for Linux. Cawf 2.0 works just
|
|
fine for simple man pages, and a partial ms support too. Quite
|
|
recently the port of groff has been done (due to gcc2.x port), you can
|
|
found it (at least on tsx-11) in pub/linux/binaries/usr.bin/groff.
|
|
|
|
Moreover Michael Johnson is the coordinator for man pages under Linux,
|
|
he is looking for volunteers, so contact linux-man-request@stolaf.edu.
|
|
|
|
|
|
QUESTION: What are the editors available in linux?
|
|
|
|
ANSWER: Right now there are uemacs, elvis-1.4 (1.5). The port of emacs
|
|
18.57 has been done by John T Kohl, files can be found at the
|
|
different sites:
|
|
at nic it's in the directory xtra
|
|
at tsx-11 it's in the directory ports/emacs-18.57.
|
|
And recently the port of emacs-18.58 has been done by Bernd Wiegmann
|
|
which corrects some pty's problems (that one can be found in
|
|
binaries/emacs-18.58 at tsx-11). 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 and recently elle (Elle Looks Like Emacs).
|
|
|
|
QUESTION: Does there exist a printer package for Linux?
|
|
|
|
ANSWER: The lp patches which implement a parallel printer interface
|
|
and feature a greatly improved driver design, have been applied in
|
|
linux0.95c+. The original patches can be found in lp095.tar.Z
|
|
Once you have successfully recompiled the kernel v0.96, you need
|
|
to create new devices in the /dev directory (see the major/minor
|
|
information). Printing, then, can be achieved by :
|
|
cat filename > /dev/lp1
|
|
|
|
|
|
QUESTION: Does there exist a ps for Linux?
|
|
|
|
ANSWER: Yes, a very simple one is implemented by default, just press
|
|
the scroll-lock key; ctrl-shift-scrollock gives a kind of memory
|
|
status. There is also a much more complete ps/memory package it's
|
|
ps095.tar.Z. I have tested it, it's GREAT and well documented.
|
|
In the kernel v0.95c+ (and after), you do not need to apply the
|
|
patches, just follow the rest of the information provided.
|
|
|
|
|
|
QUESTION: It's nice to have the df utility, but it would be nicer if
|
|
it would give statistics of the root file system. Would it be
|
|
difficult to do?
|
|
|
|
ANSWER: surely not, in your file /etc/rc, instead of the line
|
|
> etc/mtab
|
|
put the following
|
|
echo "/dev/hdX (root)" > /etc/mtab
|
|
where the X is the hard drive you use as root partition.
|
|
|
|
|
|
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
|
|
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: 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: Is there only the %$#@ keyboard ?
|
|
|
|
ANSWER: There are Dannish, Finnish, French, German, Uk and US
|
|
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: They seem to work. The kernel features are in Linux 0.12
|
|
already. They work for gcc-2.1.
|
|
|
|
|
|
QUESTION: Does Linux work for SCSI drives?
|
|
|
|
ANSWER: Yes since v0.96. At headrest.colorado.edu in /pub/scsi, you
|
|
will find the last SCSI alpha/beta version and also a special SCSI
|
|
FAQ, read it, it contains much more information than the one provided
|
|
in the SCSI section. You should, also, contact the linux-scsi list or
|
|
directly drew@cs.colorado.edu
|
|
|
|
|
|
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: There are a lot of patches available (fd patch, lp patch
|
|
login patch ...) 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'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 MGR ?
|
|
|
|
ANSWER: (General Information grabbed from various sources)
|
|
There is a MGR channel available , contact the request adress with
|
|
help in the body: linux-activists-request@niksula.hut.fi
|
|
The stuff can be found at banjo in pub/Linux/MGR
|
|
In brief:
|
|
|
|
MGR provides:
|
|
- multiple overlapping windows
|
|
- multiple fonts
|
|
- text and graphics in each windows
|
|
- a simple popup menu package
|
|
- a client/server model 'a la' X
|
|
- independance from any peculiar networking technology
|
|
|
|
MGR consist of a server process and some clients. Each client has his
|
|
own window, and can create subwindows. Clients communicate with the
|
|
server via a bidirectionnal channel. A C library is provided.
|
|
|
|
When a new window starts, it is as a terminal emulator running the
|
|
shell; for more information you can grab the mgr-man.out from
|
|
bellcore.com
|
|
|
|
|
|
QUESTION: I have successfully compiled MGR, but when I try to run the
|
|
program I get "can't find mouse" or "already in use", any clue?
|
|
|
|
ANSWER: try the following "mgr -mouse /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)
|
|
|
|
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: (General Information grabbed from various sources)
|
|
There is a X11 channel available , contact the request adress with
|
|
help in the body: linux-activists-request@niksula.hut.fi
|
|
To use this BETA X11 you need the v0.96 release of Linux; you also
|
|
need to download stuff at banjo.concert.net in
|
|
pub/Linux/X11/x11v1.0
|
|
|
|
|
|
QUESTION: What is the hardware requirement for X11 so far?
|
|
|
|
ANSWER: (Linus 05.05.92) X won't work with CGA card - it won't even
|
|
work with normal VGA cards: you need SVGA (and even not any will do).
|
|
The supported one are et[3|4]000 and some other (pvga? and tvga?).
|
|
Resolution range from 640x480 to 1192x900 (close to that), all at 256
|
|
colours, depending on what kind of card/monitor you have.
|
|
|
|
As to memory: I'm using 8MB ram, and no swapping with a couple of
|
|
xterms, xclock (nothing major). If I want to compile the kernel in an
|
|
xterm I need to start up swapping.
|
|
|
|
Speed depends heavily on the SVGA card, Harddisk space is totally up
|
|
to you but 10MB is a minimum.
|
|
|
|
|
|
IX. GCC MISC INFORMATION
|
|
========================
|
|
|
|
I think this section is needed, 'cause a) gcc is the compiler under
|
|
Linux, and b) the gcc-2.x is in test, and many information change
|
|
constantly. In what follows information about gcc-1.37 and gcc-1.40
|
|
are stable, and was spread along previous releases of this FAQ.
|
|
To conclude this short introduction, the most recent release of
|
|
gcc-2.1 can be found at the banjo.net.concert in /pub/Linux/GCC, and
|
|
also at headrest.woz.colorado.edu under /pub/linux/?, and one of the
|
|
"specialists" is Hongjiu Lu (hlu@eecs.wsu.edu). There is a special
|
|
channel for GCC, feel free to contact the linux-activists list.
|
|
The Information provided in this section which envolved GCC2.1x
|
|
(pre-2.2) are extracted from the FAQ GCC, written by Hongjiu, provided
|
|
with gcc-2.11c
|
|
|
|
QUESTION: I don't know how to install gcc stuff, is there special
|
|
places?
|
|
|
|
ANSWER: It depends on the release of gcc you are using. Right now
|
|
there are at least 3 packages : the original one gccbin.tar.Z contains all
|
|
the gcc-1.37 binaries distrib; the gcc-1.40 has been ported in dec. 91,
|
|
it's in newgcc.tar.Z and the VARIOUS version of gcc-2.1. Choose yours
|
|
(I hope that the following will help you); for my own I use gcc-2.10
|
|
available since mid-April, which is not that bad.
|
|
|
|
A) gccbin.tar.Z goes in /usr/local/lib except gcc which goes in
|
|
/usr/local/bin. Moreover each gcc-xxx of /usr/local/lib should be
|
|
linked with gxxx and xxx in /usr/local/bin.
|
|
|
|
B) newgcc.tar.Z goes in /usr, then uncompress and untar it. Files are
|
|
directed to /usr/lib, /usr/include and /usr/bin. You should link ar,
|
|
as, ld with gar, gas and gld, this will prevent some error while using
|
|
make (especially whilst re-compiling Linux kernel). Moreover, the
|
|
include files are not complete, you need first to install
|
|
include-0.12.tar.Z (at tsx, /pub/linux/sources/system). Finally cpp
|
|
and cc1 are in /usr/lib, and they should be in /usr/bin, a solution is
|
|
to link them at the right place.
|
|
BTW include-0.12.tar.Z contains include/linux/*.h which are not
|
|
uptodate, you should link the one provided in linux-0.95a sources by
|
|
the following:
|
|
cd /usr/include
|
|
mv linux linux_orig
|
|
ln -s /usr/src/linux/include/linux linux
|
|
|
|
C) gcc-2.1 is splitted in 2 main files 2.1lib.tar.Z and 2.1misc.tar.Z,
|
|
some utilities (binutils.tar.Z) and shared libraries are also
|
|
provided. To install them do the following:
|
|
|
|
First of all, backup the old compiler. YOU MUST BE SURE THERE IS NO
|
|
OTHER C COMPILER INSTALLED ON YOUR SYSTEM. What is meant by compiler
|
|
is all the stuff: binaries, header files, libraries and crt0.o. I
|
|
assume that whateverplace contains the 2.1files you have downloaded.
|
|
|
|
cd /usr
|
|
tar xvpzf whateverplace/2.1misc.tar.Z
|
|
|
|
read the FAQ in /usr/install/gcc2. Then
|
|
|
|
cd /usr
|
|
tar xvpzf whateverplace/2.1lib.tar.Z
|
|
|
|
|
|
QUESTION: I seem to be unable to compile anything with gcc. Why?
|
|
|
|
ANSWER: If you have only 2 MB RAM, gcc will die silently without
|
|
compiling anything. You must have at least 4 MB to do compilations
|
|
|
|
BTW Since swapping is possible, I have heard that compilation works
|
|
with only 2Meg and a lot disk traffic :) Isn't it great?
|
|
|
|
|
|
QUESTION: I'm using a program that uses signal handlers which are
|
|
installed using sigaction() with the SA_NOMASK, and they get a general
|
|
protection error right after the signal handler tries to return.
|
|
What's going wrong?
|
|
|
|
ANSWER: You are using a libc.a that has an out-of-date signal.o and
|
|
sig_restore.o file, and they don't know how to deal with SA_NOMASK.
|
|
(The one in gccbin.tar.Z is out-of-date). Get the new libc.a and put
|
|
it in /usr/lib or /usr/local/lib. Again check your compiler version
|
|
|
|
|
|
QUESTION: gcc complains about not finding crt0.o and the system
|
|
include files What am I doing wrong ?
|
|
|
|
ANSWER: The include files normal place is in /usr/include. lib*.a and
|
|
*.o should be in /usr/lib or /usr/local/lib
|
|
|
|
|
|
QUESTION: While compiling some GNU packages gcc(1.37 and 1.40) chokes
|
|
on regex.c with an insn code, what can I do?
|
|
|
|
ANSWER: There is a little bug in the port of gcc-1.37, which should be
|
|
corrected on the port of v2.x (with g++). Right now throw away the -O
|
|
flag (to compile regex) and every thing will be alright.
|
|
|
|
|
|
QUESTION: I tried to port a /new/ version of gnu stuff. But in the
|
|
linking phase, gcc complains about the missing libg.a.
|
|
|
|
|
|
ANSWER: Yes this is well known, throw away the flag -g that's all,
|
|
anyway libg.a is /only/ for debugging purpose.
|
|
|
|
|
|
QUESTION: How to compile programs which may be debugged with gdb?
|
|
|
|
ANSWER: There are 2 ways (and half) to handle this problem
|
|
1) As there is no libg.a, you should throw away the -g flag in link
|
|
phase, this means that the compilation must be done in two steps
|
|
example: instead of "gcc -g monprog.c -o monprog", use the following
|
|
"gcc -g -c monprog.c" and then "gcc -o monprog monprog.o"
|
|
Alas this method is not that good if you are using Makefile.
|
|
2) The other way is to create an empty libg.a as follows (Peter
|
|
Macdonald trick):
|
|
- create libfake.c containing libgfake() {}
|
|
- compile it with: gcc -c libfake.c
|
|
- create the libg.a with: ar r libg.a libfake.o
|
|
2bis) The more tricky Humberto method:
|
|
cd /usr/lib
|
|
ranlib libg.a
|
|
|
|
then gcc -g monprog.c -o monprog will produce a debuggable monprog
|
|
|
|
|
|
QUESTION: When compiling some code, cc1 complains about some insn
|
|
code, what's that?
|
|
|
|
ANSWER: An insn is an internal representation that gcc uses when
|
|
compiling. The main part of gcc is to take ordinary c (or c++) code,
|
|
and compile it, while ding optimizations in insn part, which is
|
|
soft/hard independant. Then another part which is hard/Os dependant
|
|
takes the insns and translate it in assembly language. The fix is only
|
|
to turn off the optimization flag (-O) or download the new gcc release
|
|
(1.4) which has been made available at tsx-11 (newgcc.tar.Z and the
|
|
ad-hoc libraries newlibc.tar.Z).
|
|
|
|
|
|
QUESTION: While compiling some stuff, I'm getting the following
|
|
error message:
|
|
Undefined symbol ___addsf3 referenced from text segment
|
|
as well as ___mulsf3 and __cmpsf2.
|
|
These symbols are not in the program or in it's header files.
|
|
|
|
ANSWER: These are math helper functions, and you can usually compile
|
|
these programs to use the kernel floating point routines by adding
|
|
'-m80387' to the compiler switches. If the program does any wierd
|
|
fp math (exp(), sin()) it'll die when you run it though.
|
|
|
|
|
|
QUESTION: What are the enhancement of the newgcc.tar.Z ?
|
|
|
|
ANSWER: There were some bugs in the old port that have been corrected,
|
|
moreover this package contains 387 support
|
|
there is libm.a (for those with 387)
|
|
libsoft.a (for those without, I for example)
|
|
libtermcap.a (from tput 1.10)
|
|
|
|
The -mstring-insns option is no longer needed nor supported :( [As
|
|
an example to recompile (successfully) linux0.12 you have to throw away
|
|
this flag in all the Makefile]; conversly in linuxv0.95a, you have to
|
|
make the flags available if you compile with gcc-140
|
|
|
|
gcc-1.40 has some registers problem, you should had -fcombine-regs
|
|
flag while compiling (the linux kernel for example)
|
|
|
|
BTW Notice also that include files have changed (stdio.h which is no
|
|
more ansi compliant).
|
|
For my personal use, gcc-1.40 works just fine.
|
|
|
|
|
|
QUESTION What's about gcc2.x ?
|
|
|
|
ANSWER: It has been ported to linux, it is (pretty) stable and works.
|
|
The files are 2.1xlib.tar.Z and 2.1xmisc.tar.Z Uncompress and untar
|
|
2.1xmisc, read the FAQ enclosed and play with it. You can find these
|
|
files at tsx-11 in binaries/compilers/gcc-2.x. One of the most recent
|
|
version is on banjo.net.concert in pub/Linux/GCC.
|
|
Also provided 2.1shared.tar.Z file which contains most of the
|
|
utilities in .a form (to transform them as binaries just "gcc -s
|
|
-ladhoc_library binfile.a -o binfile" where -ladhoc_library is either
|
|
-lm or -ltermcap
|
|
The shlib.tar.Z enables you to create shared libraries, read the
|
|
README file included
|
|
The 096inc.tar.Z contains the header files from the kernel
|
|
|
|
|
|
QUESTION: What can gcc-2.x do for me, that gcc-1.40 cannot?
|
|
|
|
ANSWER: Shared libraries: small programs shrink by an average factor
|
|
of 2~3, larger program by 50K. It also compiles C++, and so replace
|
|
both gcc-1.xx and g++1.xx. And also:
|
|
- ANSI and BSD 4.4 compatible stdio
|
|
- iostream for g++
|
|
|
|
QUESTION: I can't run g++ due to the lack of "expr"; where can I find
|
|
it ?
|
|
|
|
ANSWER: Either in the 2.1linux-distrib, it's in the file 2.1shared.tar.Z
|
|
(banjo pub/Linux/GCC); either in the shellutils-1.6.tar.Z (or whatever
|
|
is the last release) on prep.ai.mit.edu
|
|
|
|
QUESTION: I have grabbed the new gcc2.xx, but I can't use it whenever
|
|
I compile (even hello world program) I get "parse error before ('s";
|
|
any clue ?
|
|
|
|
ANSWER: Yes, it's caused by bad compress/tar binaries, use the one
|
|
provided at tsx-11 in linux/binaries/usr.bin
|
|
|
|
QUESTION: Is there a bug in how g++ and gcc handle include files?
|
|
'cause I can't get them to find files in the g++-include directory.
|
|
|
|
ANSWER: Did you run "fixfiles"? The file permission in g++-include is
|
|
640 and should be 444.
|
|
|
|
|
|
X. SCSI SPECIAL
|
|
===============
|
|
|
|
This section was written by Drew Eckhardt, the last update of the
|
|
information enclosed was 2 Jun 92 05:31:21 GMT
|
|
|
|
|
|
QUESTION: What SCSI hosts are supported?
|
|
|
|
ANSWER: The Adaptec 1542 (The EISA bus master 17xx may work with minor
|
|
changes), Seagate ST01/ST02, (These are repackaged Future Domain 88x
|
|
series boards. If you have an 8 bit future domain controller, you may
|
|
be able to modify the seagate driver to detect your card to. If any
|
|
one does this, please send diffs.), and Ultrastor 14F are supported in
|
|
the stock distribution.
|
|
|
|
Also, patches are available for the WD7000 FAAST, and Future Domain
|
|
16 bit controllers.
|
|
|
|
At this point, the Adaptec 152x series, and 17xx series DO NOT WORK.
|
|
|
|
|
|
QUESTION: Which disks ?
|
|
|
|
ANSWER: Anything that works with your host adapter electronically, and
|
|
is new enough to support a December 1985 draft of SCSI-I.
|
|
|
|
Sysquest removable drives are known to work. However, DO NOT remove a
|
|
mounted cartridge. This will trash your filesystem.
|
|
|
|
CDROM should also work, but we don't support the High Sierra filesystem.
|
|
|
|
|
|
QUESTION: What about SCSI tapes ?
|
|
|
|
ANSWER: The stubs are sort of there. The detection stubs are there,
|
|
there is a raw SCSI ioctl which forms the basis for much of the tape
|
|
driver (it goes between user / kernel space, where as the block driver
|
|
code operates entirely in kernel space), all that remains is
|
|
completion of enough ioctls to support an mt command. It's 1-2 days
|
|
of coding and debugging once someone gets around to it.
|
|
|
|
|
|
QUESTION: How do I get SCSI information?
|
|
|
|
ANSWER: Subscribe to the SCSI channel of the linux-activists mailing list.
|
|
mail linux-activists@joker.cs.hut.fi
|
|
And put in the header.
|
|
X-MN-Admin: join SCSI
|
|
|
|
|
|
QUESTION: How do I partition the disk?
|
|
|
|
ANSWER: The linux partitioning programs don't work, as you might have
|
|
noticed. Partition the disk under DOS (pfdisk compiled for DOS will
|
|
work), or if you are a masochistic hacker type and familiar with your
|
|
SCSI BIOS's remapping scheme, use dd and a binary capable editor =8^)
|
|
|
|
The problem with partitioning SCSI disks and Linux is that Linux talks
|
|
directly to the SCSI interface. Each disk is viewed as the SCSI host
|
|
sees it : N blocks, numbered from 0 to N-1, all error free. There is
|
|
no portable way to get disk geometry.
|
|
|
|
However, DOS doesn't like things like this, it demmands that BIOS
|
|
present it with a normal Cylinder / Head / Sector coordinates. So,
|
|
BIOS does, and it comes up with some fabrication that fits what DOS
|
|
wants to see. You don't want to disagree with what BIOS thinks when
|
|
you write the partition table.
|
|
|
|
|
|
QUESTION: Where is the latest version maintained?
|
|
|
|
ANSWER: headrest.woz.colorado.edu:/pub/linux
|
|
|
|
Since SCSI made it into .96, this is mostly alpha/beta test for new
|
|
things. Right now, an interrupt driven Seagate driver is what's there.
|
|
|
|
Join the list before you grab anything.
|
|
|
|
|
|
QUESTION: what about extended partitions?
|
|
|
|
ANSWER: not yet. Let's just say that I almost have a very large drive
|
|
up on a SCSI->SMD bridge, and that it's a priority.
|
|
|
|
|
|
QUESTION: I get a message saying READ CAPACITY FAILED. What does this
|
|
mean?
|
|
|
|
ANSWER: One of two things. First thing is that there is a bug in the
|
|
midlevel error handling code. When an error condition is returned,
|
|
things aren't retried. Some SCSI disks get unhappy at the sight of
|
|
the initialization routines, and will return an error condition for
|
|
the first "real" command that they run. INQUIRE doesn't count, since
|
|
that will allways return successfully, irregardless of pending error
|
|
conditions, unless your drive is Kaput.
|
|
|
|
You could also have a flakey disk, but this is unlikely.
|
|
|
|
|
|
QUESTION: What are the major / minor numbers for SCSI drives?
|
|
|
|
ANSWER: Right now, it is theoretically possible to have 21 SCSI
|
|
devices in the system. With SCSI- MFM / ESDI / SMD bridges this can
|
|
be even more drives, as each id may have several drives on it each set
|
|
up as a LUN of that id. Needless to say, if we have allowed for 16
|
|
partitions per SCSI drive, we're pushing the limits on minor numbers.
|
|
Therefore, a yucky dynamic numbering scheme is used.
|
|
|
|
Block device major 8 is used for SCSI drives. I personally like
|
|
/dev/sd[n][p], where n is the drive number, and p partition letter -
|
|
but this is entirely personal preference.
|
|
|
|
Minors are assigned in increments of 16 to SCSI disks as they are
|
|
found, scaning from host 0, ID 0 to host n, ID 7, excluding the host
|
|
ID. Most hosts use ID 7 for themselves.
|
|
|
|
A minor where minor mod 16 = 0 is the whole drive, where minor mod 16
|
|
is between 1 and 4, that partition, and extended partitions are not
|
|
yet implemented.
|
|
|
|
Example : I have four SCSI disks, set up as follows
|
|
Seagate ST02, ID=0
|
|
Seagate ST02, ID = 5
|
|
Ultrastor 14, ID = 0
|
|
Adaptec 1542, ID = 0
|
|
|
|
The first disk on the seagate at ID 0 will become minors 0-15
|
|
inclusive, the second at ID5 16-31 inclusive, the disk on the
|
|
Ultrastor 32-47, on the Adaptec 48-63.
|
|
|
|
|
|
QUESTION: I can't use more than 2 SCSI disks.
|
|
|
|
ANSWER: Change MAX_SD in sd.h, MAX_SCSI_DEVICE in scsi.h, and
|
|
recompile the kernel.
|
|
|
|
|
|
QUESTION: How do I reduce kernel bloat and eliminate the drivers I
|
|
don't want?
|
|
|
|
ANSWER: Simply #undef CONFIG_DISTRIBUTION in include/linux/config.h,
|
|
and define the macros for the SCSI hosts you want enabled.
|
|
|
|
|
|
QUESTION: What about bugs?
|
|
|
|
ANSWER: It works on MY hardware. It works on Tommy Thorn's Adaptec
|
|
system, Dave Gentzel's Ultrastor, Thomas Wuensche's WD7000, Rick
|
|
Faith's Future Domain, and quite a few other systems.
|
|
|
|
Bugs that are there will mostly be very hardware specific, and nasty
|
|
to track down. SCSI should be basically error free - consequently,
|
|
the error code has not been heavily tested, and there are known bugs
|
|
in it.
|
|
|
|
If you have found a bug, please mail it to the mailing list with
|
|
specifics of your hardware. Other people may have the same problem, a
|
|
solution, etc.
|
|
|
|
Chances are I will provide you with a debugging version of the kernel,
|
|
which will dump out important SCSI information and let me see what
|
|
exactly is going on.
|
|
|
|
|
|
QUESTION: What are the known bugs?
|
|
|
|
ANSWER: The seagate driver should fail on i486, and i486sx machines.
|
|
This is because the seagate uses memory mapped I/O, and if it gets the
|
|
chance, the i486 will go for the internal cache, bypassing the memory
|
|
mapped registers of the Seagate SCSI host.
|
|
|
|
386 cache machines will not have problems IF the Seagate's address
|
|
space (typically C8000 - CAFFFF) is marked "non cacheable."
|
|
|
|
This can be set in the XCMOS of most machines.
|
|
|
|
The error routines are imperfect, and this causes READ CAPACITY to
|
|
fail in sd_init.
|
|
Many of the drivers cannot abort a command that is in progress - if
|
|
something goes haywire, all drives off that controller will hang.
|
|
|
|
|
|
QUESTION: Why can't I swap to a SCSI disk?, Why can't I mount a SCSI
|
|
disk as root?
|
|
|
|
ANSWER: This was due do a race condition that has since been fixed (I
|
|
think).
|
|
|
|
It only manifested itself in drivers using the command() interface
|
|
(see bellow), but this interface isn't used very much as it was there
|
|
mostly for develeopment.
|
|
|
|
|
|
QUESTION: Why does Linux "hang" when the disk is accessed?
|
|
|
|
ANSWER: There are two possible interfaces between mid and lowlevel
|
|
SCSI routines.
|
|
These are the queue_command() and command() interfaces.
|
|
|
|
The difference between the two is that queue_command() provides a way
|
|
to do generic, interrupt driven SCSI, whereas command() is not
|
|
interrupt driven.
|
|
|
|
The latest Seagate driver (in testing), WD7000 and Future Domain 16
|
|
bit use the queue_command() interface, Adaptec has it disabled,
|
|
someone should recompile it with it enabled, and I don't know about
|
|
Dave's latest Ultrastore driver.
|
|
|
|
|
|
QUESTION: I get SCSI timeouts.
|
|
|
|
ANSWER: If you are using the latest interrupt driven seagate driver,
|
|
you will have to jumper the card for IRQ5. The factory settings are
|
|
for MSLOSS, and have interrupts disabled. Interrupts are controlled
|
|
by the W3 (ST01) or JP3 (ST02) jumper, which should have pins FG
|
|
shorted. See your manual.
|
|
|
|
|
|
QUESTION: What future developments are planned?
|
|
|
|
ANSWER: The following changes will occur (listed from highest to
|
|
lowest priority) :
|
|
|
|
- Support for extended partitions will be added
|
|
- Support for LUN != 0 will be added
|
|
- Support for tapes will be added
|
|
|
|
And, best of all there will be a new interface to the SCSI routines
|
|
that will facilitate scatter/gather, allow multiple outstanding
|
|
commands (1 per LUN), and all sorts of other goodies.
|
|
|
|
|
|
XI. X11 THE MINIMUM and MORE
|
|
============================
|
|
This section is divided in 2 parts, one is of general information in
|
|
fact it's extracted from the FAQ X386 posted to comp.unix.sysv386 by
|
|
Steve Kotsopoulos and forwarded to comp.os.linux by Hongjiu Lu (last
|
|
updated 3 April 1992). The other part, written by P. Hawkins, is
|
|
rather devoted to installation.
|
|
|
|
XI.A. X386 GENERAL INFORMATION
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
QUESTION: What is the X11 release supported by Linux?
|
|
|
|
ANSWER: It's the X11R5 (X386 1.2)
|
|
|
|
|
|
QUESTION: What is X386?
|
|
|
|
ANSWER: X386 is the port of the X11 server to System V/386 that was
|
|
done by Thomas Roell (roell@informatik.tu-muenchen.de).
|
|
It supports a wide variety of VGA boards.
|
|
|
|
There are 2 major versions: X386 1.1 is based on X11R4,
|
|
X386 1.2 is included in MIT's X11R5 distribution (ie. you
|
|
don't need to patch it into the MIT source anymore).
|
|
|
|
(added) The Linux X386 port was based on the stock distribution from
|
|
X11R5, from MIT and was done by Orest Zborowski (obz@sisd.kodak.com).
|
|
|
|
|
|
QUESTION: Where can I get X386 1.2 (X11R5)?
|
|
|
|
ANSWER: The X386 1.2 sources are available at any site that distributes
|
|
the X11R5 source (too numerous to list here, but includes
|
|
export.lcs.mit.edu)
|
|
|
|
|
|
QUESTION: What VGA boards are supported?
|
|
|
|
ANSWER: ET3000 (for ex. GENOA 5300/5400)
|
|
ET4000 (Tricom, STB PWR Graph, Sigma Legend, etc.)
|
|
GVGA (Genoa 6400)
|
|
PVGA1A (Paradise VGA Professional)
|
|
WD90C00 (Paradise VGA 1024)
|
|
|
|
|
|
QUESTION: Any tips on compiling X11R5?
|
|
|
|
ANSWER:
|
|
- You will need lots of disk space (around 150Meg for the MIT core).
|
|
- Look at mit/server/ddx/x386/README and follow any instructions for
|
|
your particular platform.
|
|
- Contact the X11 channel at linux-activists
|
|
|
|
XI.B. X11 and LINUX
|
|
~~~~~~~~~~~~~~~~~~~
|
|
(Peter Hawkins speaking):
|
|
Recently I posted two requests for help on getting me X server
|
|
running. With much help from John Morris and from several posters
|
|
(especially Krishna who gave lots of advice) I got it running.
|
|
|
|
As I have had several requests for help, I thought I'd post what I've
|
|
found out here. PLEASE note, I am no guru with X11 or linux - I'm a
|
|
green nubie, so if your info is not contained here, I'm not likely to be
|
|
able to help you - try posting instead (and of course, please post any
|
|
resulting findings).
|
|
|
|
|
|
QUESTION: How does X11 start up?
|
|
|
|
ANSWER: the command startx runs the startx script in /usr/bin/X11.
|
|
This script in turn calls xinit. In my startx, I have set several
|
|
arguments on the serverargs = "" line;
|
|
|
|
I have: serverargs="-a 4 -t 4 -s 3 -f 10"
|
|
|
|
however X11 loads up successfully even with serverargs=""
|
|
|
|
startx does little other than gather arguments and then call xinit (also
|
|
in /usr/bin) which is an executable.
|
|
|
|
xinit **calls** X (X is linked to X386). xinit therefore continues to
|
|
run, and quite often you will receive error messages from xinit rather
|
|
than X itself. If you get the message "giving up", it means X has died
|
|
(quite probably it died immediately) and xinit has been unable to start
|
|
x applications. xinit processes the startup script xinitrc.
|
|
|
|
The two line message
|
|
|
|
X386 version .....
|
|
(protocol Version ....
|
|
|
|
is returned (i believe) from the X386 programme itself, so if you get
|
|
this (or if the screen blanks) X must be starting.
|
|
|
|
|
|
QUESTION: How can I see what startx passes to xinit, and xinit to X?
|
|
|
|
ANSWER: A simple (& useful) useful test. Edit startx and modify the
|
|
last line:
|
|
|
|
insert "echo" ;
|
|
|
|
echo xinit $clientargs -- $serverargs
|
|
|
|
If you leave serverargs="" (see above), you will see:
|
|
|
|
xinit <path>/.xinitrc
|
|
when you run startx. The path will reflect the location of your default
|
|
.xinitrc file - startx looks first in your home directory, and then
|
|
in /usr/lib/X11/xinit (the latter contains xinitrc, NOT .xinitrc).
|
|
|
|
To see what xinit passes to X, try:
|
|
|
|
rm /usr/bin/X11/X
|
|
|
|
- yes, if you have set it up correctly, X should only be a link so it's
|
|
safe to remove it.
|
|
|
|
then:
|
|
|
|
create a shell script called /usr/bin/X11/X containing:
|
|
|
|
#/bin/sh
|
|
echo ${1} ${2} ${3} ${4} ${5} ${6} ${7} ${8}
|
|
|
|
and run startx. You should see something like:
|
|
|
|
X :0
|
|
|
|
which is all xinit passes to X. If you don't see the :0, you may not
|
|
have
|
|
your DISPLAY=":0" set correctly (see man file).
|
|
|
|
THEN RESTORE X!! :
|
|
|
|
rm /usr/bin/X11/X
|
|
ln -s /usr/bin/X11/X386 /usr/bin/X11/X
|
|
|
|
|
|
QUESTION: What else do I need?
|
|
|
|
ANSWER:
|
|
set DISPLAY=":0" and /usr/bin/X11 should be in your path.
|
|
|
|
If X is not firing up at all, there are only a few files which are
|
|
likely to be the source of your problems. Make sure you have the
|
|
following in /usr/bin/X11:
|
|
|
|
X (link to /usr/bin/X11/X)
|
|
X386 (correct size=674730).
|
|
|
|
you *must* have /lib/lib92.04.12
|
|
|
|
a /tmp directory (with the correct access)
|
|
|
|
/dev/tty0
|
|
/dev/mem
|
|
/dev/ttys1 (for a mouse in serial port 1, or /dev/ttys2 in port 2) -
|
|
these could just be links to /dev/tty8 or one of the other unused character
|
|
devices. but it's best to use the mouse's line.
|
|
|
|
check your device numbers with ls -l /dev. You should have:
|
|
|
|
5 0 tty
|
|
4 0 tty0
|
|
4 1 tty2 (etc
|
|
4 192 ttyp0
|
|
4 193 ttyp1 (etc)
|
|
4 64 ttys1
|
|
4 65 ttys2
|
|
1 1 mem
|
|
|
|
You also need crt0.o
|
|
|
|
|
|
QUESTION: How else can I test it?
|
|
|
|
ANSWER:
|
|
(1) try starting the server directly (bypass xinit - it'll be faster).
|
|
If X386 is working the following should work:
|
|
|
|
X :0
|
|
|
|
(2) when you run it, redirect errors to a file so you can check them
|
|
later:
|
|
|
|
eg
|
|
startx 2> t.t
|
|
|
|
|
|
QUESTION: Does there exist some usual fault, I should be warn of?
|
|
|
|
ANSWER:
|
|
If X isn't firing at all, or even if it clears the screen and crashes
|
|
(see below) you almost certainly have a fault in Xconfig.
|
|
|
|
1. Note that X runs Xconfig. (not xinit)
|
|
|
|
2. If you have a fault in Xconfig it is possible to crash or hang the
|
|
server without getting an error message.
|
|
|
|
3. leave the two paths at the top of Xconfig commented out when testing.
|
|
|
|
4. test with only one graphics mode included - one you are most sure of.
|
|
|
|
5. If you make a mistake in the mouse section, you will (I understand)
|
|
get an error message, so if you don't get some mouse error, try
|
|
elsewhere first. (eg "No such file or directory" indicates you have a
|
|
fault in the "/dev/ttyxx" line, or /dev/ttyxx doesn't exist.
|
|
|
|
6. *NB* X looks in your home directory first to find an Xconfig. make
|
|
certain it's using the one you've been working on!
|
|
|
|
7. you need double quotes (") around your chipset and modes: eg
|
|
|
|
chipset "et4000"
|
|
Modes "800x600"
|
|
|
|
and around the /dev/ttyxx
|
|
|
|
eg
|
|
microsoft "/dev/ttys1"
|
|
|
|
8. Check your VGA section and modeDB first.
|
|
|
|
9. ensure ModeDB clock speeds match the VGA section. Comment out any
|
|
unused lines in MODEDB.
|
|
|
|
eg clocks 25 36 00 00 00 00 00 00
|
|
|
|
then you *must* have (and only have) lines under modeDB corresponding
|
|
to speeds 25 and 36. If you have one with (say) 62 uncommented out in
|
|
the modeDB section in place of the 36 line, you will cause the server to
|
|
die immediately with no error message.
|
|
|
|
10. a syntax error (such as an unrecognised word) in Xconfig will cause
|
|
a death with no warning.
|
|
|
|
11 videoram must equal the amount of display ram on your chip.
|
|
|
|
|
|
QUESTION: My server "hangs" Why?
|
|
|
|
ANSWER: Quite often it isn't a hang. If the server grabs the screen
|
|
(whether or not it gets as far as entering graphics mode) and then
|
|
dies, it may return you to bash *without* giving up the screen. In
|
|
other words, just because you see no output, don't assume it's
|
|
running/hanging. The way to test this is to see if you can use a bash
|
|
command to spin your disk. EG:
|
|
|
|
sync
|
|
ls -lR /
|
|
----------------------
|
|
|
|
Also - I *suspect* that (at least for me), you can kill the server if
|
|
you include the servernum option in the Xconfig
|
|
|
|
|
|
QUESTION: Where can I find clock.exe or clock.pas ?
|
|
|
|
ANSWER: clock.exe was included in digest#150 Vol2, clock.pas was in
|
|
digest#156 Vol2.
|
|
|
|
|
|
QUESTION: When I try to use the X11 v1.0 I got "Cannot connect to
|
|
server" or "process does not exist", any clue ?
|
|
|
|
ANSWER: The cause might be wrong fontpath variable setup in your
|
|
Xconfig; uncomment and set the correct fontpath variable.
|
|
|
|
|
|
QUESTION: How can I have more than 4 pty's to run X windows ?
|
|
|
|
ANSWER: recompile the kernel and set the ad-hoc number in the header
|
|
include/linux/tty.h
|
|
|
|
|
|
QUESTION: I have trouble with my logitech Pilot mouse and X under
|
|
Linux, any clue ?
|
|
|
|
ANSWER: (Thomas Roell?) There are TWO line of Logitech mice out there.
|
|
One is the programmable and uses MouseSystems protocol at startup.
|
|
X386 reprogramms them to use another protocol. If you specify
|
|
'Logitech' in the Xconfig, X386 assumes a mouse like C7 or S9 (not
|
|
C7-M).
|
|
The second line is the MicroSoft compatible. Currently all newer
|
|
Logitech mice follows this practice, like the MouseMan. In that case
|
|
you have to say 'MicroSoft' or 'MouseMan'.
|
|
|
|
===================8<==========>8================
|
|
|
|
From: corsini@labri.greco-prog.fr
|
|
Newsgroups: comp.os.linux,news.answers
|
|
Subject: Linux Frequently Asked Questions 2/2 [monthly posted]
|
|
Summary: Linux, a small and free unix for 386-AT computers.
|
|
Message-ID: <7062@geocub.UUCP>
|
|
Date: 12 Jun 92 09:43:26 GMT
|
|
Expires: 11 Jul 92 09:00:27 GMT
|
|
Sender: lnews@geocub.UUCP
|
|
Reply-To: linux@numero6.greco-prog.fr
|
|
Followup-To: poster
|
|
Organization: Greco Prog. CNRS & LaBRI, Bordeaux France
|
|
Lines: 1393
|
|
Approved: news-answers-request@MIT.Edu
|
|
|
|
|
|
Archive-name: linux-faq/part2
|
|
Last-Modified: 92/06/12 15:35:30
|
|
Version: 1.8
|
|
|
|
*********************************************************
|
|
* *
|
|
* Answers to Frequently asked questions about Linux *
|
|
* *
|
|
*********************************************************
|
|
|
|
This post contains Part 2 of the Linux FAQ. It must be read *after* the
|
|
first part. It contains the following sections:
|
|
|
|
|
|
VII. FEATURES (part2)
|
|
VIII. MORE HINTS (part2)
|
|
IX. GCC MISC INFORMATION (part2)
|
|
X. SCSI SPECIAL (part2)
|
|
XI. X11, THE MINIMUM and MORE (part2)
|
|
|
|
===================================8<====>8============================
|
|
|
|
|
|
VII. MORE HINTS
|
|
===============
|
|
|
|
This part is recent and 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 v0.96, 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: Don't use the previous version (digest44 vol.#1) with 0.95a
|
|
|
|
|
|
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 ....
|
|
|
|
|
|
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: Right now, this can be done via the shoelace stuff or the
|
|
bootany package, or by the bootlin package from coutand@imag.imag.fr.
|
|
If you choose shoelace *please* do read the next Q/A (and also the
|
|
README provided with the shoelace stuff)
|
|
|
|
|
|
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've seen the login but I missed the passwd binaries, 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 misc.tar.Z file of
|
|
the mcc-interim which contains standard passwd binary.
|
|
|
|
|
|
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: 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/PS0
|
|
tar zxvp < /dev/PS0
|
|
|
|
You DO NOT NEED TO MOUNT a rawritten disk
|
|
|
|
|
|
QUESTION: Does emacs handle the arrows-key
|
|
|
|
ANSWER: Yes it does, one simple way is to put some elisp code in your
|
|
.emacs, this is an except of mine:
|
|
|
|
(global-unset-key "\e[")
|
|
(setq esc-c-map(make-keymap))
|
|
(fset 'esc-c-prefix esc-c-map)
|
|
(define-key global-map "\e[" 'esc-c-prefix)
|
|
(define-key global-map "\e[B" 'next-line)
|
|
(define-key global-map "\e[A" 'previous-line)
|
|
(define-key global-map "\e[C" 'forward-char)
|
|
(define-key global-map "\e[D" 'backward-char)
|
|
|
|
The keycode (A, B etc..) was obtained by ^Q followed by the key
|
|
|
|
|
|
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.
|
|
|
|
|
|
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])
|
|
|
|
|
|
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 0.95a Images distribution, 4
|
|
consoles are available, getty runs on them.
|
|
|
|
BTW: the serial ports are now /dev/ttys0, /dev/ttys1, /dev/ttys2 and
|
|
/dev/ttys3. tty0 is the general console. tty128- are reserved to pty's
|
|
|
|
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: Until v0.95 it's the Bourne Again Shell, bash-1.11 and
|
|
compilation was straightforward (Linus dixit), just "make"
|
|
that's all or nearly. But as the shell comes bigger and bigger the
|
|
v0.95a /bin/sh is ash the BSD 4.3 sh.
|
|
BTW I think that next time, it will be rc which is much more better
|
|
than ash and tiny wrt bash. If you want to test it, it's (at least) at
|
|
nic in /pub/unix/shells and the file is rc-1.2.tar.Z . The compilation
|
|
is straightforward (just a few things to modify in Makefile and
|
|
mksignal).
|
|
Also a port of tcsh6.1 has been done recently (beginning of April)
|
|
|
|
|
|
QUESTION: I've been able to install Linux on my box, but Ctrl-Z nor
|
|
switching jobs from background to foreground seem to work, why?
|
|
|
|
ANSWER: These feature are not provided with the bin/sh (ash) of the
|
|
Images, you should download bash to get jobs possibilities.
|
|
|
|
|
|
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
|
|
|
|
BTW there is no roff,troff nor nroff for Linux. Cawf 2.0 works just
|
|
fine for simple man pages, and a partial ms support too. Quite
|
|
recently the port of groff has been done (due to gcc2.x port), you can
|
|
found it (at least on tsx-11) in pub/linux/binaries/usr.bin/groff.
|
|
|
|
Moreover Michael Johnson is the coordinator for man pages under Linux,
|
|
he is looking for volunteers, so contact linux-man-request@stolaf.edu.
|
|
|
|
|
|
QUESTION: What are the editors available in linux?
|
|
|
|
ANSWER: Right now there are uemacs, elvis-1.4 (1.5). The port of emacs
|
|
18.57 has been done by John T Kohl, files can be found at the
|
|
different sites:
|
|
at nic it's in the directory xtra
|
|
at tsx-11 it's in the directory ports/emacs-18.57.
|
|
And recently the port of emacs-18.58 has been done by Bernd Wiegmann
|
|
which corrects some pty's problems (that one can be found in
|
|
binaries/emacs-18.58 at tsx-11). 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 and recently elle (Elle Looks Like Emacs).
|
|
|
|
QUESTION: Does there exist a printer package for Linux?
|
|
|
|
ANSWER: The lp patches which implement a parallel printer interface
|
|
and feature a greatly improved driver design, have been applied in
|
|
linux0.95c+. The original patches can be found in lp095.tar.Z
|
|
Once you have successfully recompiled the kernel v0.96, you need
|
|
to create new devices in the /dev directory (see the major/minor
|
|
information). Printing, then, can be achieved by :
|
|
cat filename > /dev/lp1
|
|
|
|
|
|
QUESTION: Does there exist a ps for Linux?
|
|
|
|
ANSWER: Yes, a very simple one is implemented by default, just press
|
|
the scroll-lock key; ctrl-shift-scrollock gives a kind of memory
|
|
status. There is also a much more complete ps/memory package it's
|
|
ps095.tar.Z. I have tested it, it's GREAT and well documented.
|
|
In the kernel v0.95c+ (and after), you do not need to apply the
|
|
patches, just follow the rest of the information provided.
|
|
|
|
|
|
QUESTION: It's nice to have the df utility, but it would be nicer if
|
|
it would give statistics of the root file system. Would it be
|
|
difficult to do?
|
|
|
|
ANSWER: surely not, in your file /etc/rc, instead of the line
|
|
> etc/mtab
|
|
put the following
|
|
echo "/dev/hdX (root)" > /etc/mtab
|
|
where the X is the hard drive you use as root partition.
|
|
|
|
|
|
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
|
|
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: 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: Is there only the %$#@ keyboard ?
|
|
|
|
ANSWER: There are Dannish, Finnish, French, German, Uk and US
|
|
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: They seem to work. The kernel features are in Linux 0.12
|
|
already. They work for gcc-2.1.
|
|
|
|
|
|
QUESTION: Does Linux work for SCSI drives?
|
|
|
|
ANSWER: Yes since v0.96. At headrest.colorado.edu in /pub/scsi, you
|
|
will find the last SCSI alpha/beta version and also a special SCSI
|
|
FAQ, read it, it contains much more information than the one provided
|
|
in the SCSI section. You should, also, contact the linux-scsi list or
|
|
directly drew@cs.colorado.edu
|
|
|
|
|
|
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: There are a lot of patches available (fd patch, lp patch
|
|
login patch ...) 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'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 MGR ?
|
|
|
|
ANSWER: (General Information grabbed from various sources)
|
|
There is a MGR channel available , contact the request adress with
|
|
help in the body: linux-activists-request@niksula.hut.fi
|
|
The stuff can be found at banjo in pub/Linux/MGR
|
|
In brief:
|
|
|
|
MGR provides:
|
|
- multiple overlapping windows
|
|
- multiple fonts
|
|
- text and graphics in each windows
|
|
- a simple popup menu package
|
|
- a client/server model 'a la' X
|
|
- independance from any peculiar networking technology
|
|
|
|
MGR consist of a server process and some clients. Each client has his
|
|
own window, and can create subwindows. Clients communicate with the
|
|
server via a bidirectionnal channel. A C library is provided.
|
|
|
|
When a new window starts, it is as a terminal emulator running the
|
|
shell; for more information you can grab the mgr-man.out from
|
|
bellcore.com
|
|
|
|
|
|
QUESTION: I have successfully compiled MGR, but when I try to run the
|
|
program I get "can't find mouse" or "already in use", any clue?
|
|
|
|
ANSWER: try the following "mgr -mouse /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)
|
|
|
|
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: (General Information grabbed from various sources)
|
|
There is a X11 channel available , contact the request adress with
|
|
help in the body: linux-activists-request@niksula.hut.fi
|
|
To use this BETA X11 you need the v0.96 release of Linux; you also
|
|
need to download stuff at banjo.concert.net in
|
|
pub/Linux/X11/x11v1.0
|
|
|
|
|
|
QUESTION: What is the hardware requirement for X11 so far?
|
|
|
|
ANSWER: (Linus 05.05.92) X won't work with CGA card - it won't even
|
|
work with normal VGA cards: you need SVGA (and even not any will do).
|
|
The supported one are et[3|4]000 and some other (pvga? and tvga?).
|
|
Resolution range from 640x480 to 1192x900 (close to that), all at 256
|
|
colours, depending on what kind of card/monitor you have.
|
|
|
|
As to memory: I'm using 8MB ram, and no swapping with a couple of
|
|
xterms, xclock (nothing major). If I want to compile the kernel in an
|
|
xterm I need to start up swapping.
|
|
|
|
Speed depends heavily on the SVGA card, Harddisk space is totally up
|
|
to you but 10MB is a minimum.
|
|
|
|
|
|
IX. GCC MISC INFORMATION
|
|
========================
|
|
|
|
I think this section is needed, 'cause a) gcc is the compiler under
|
|
Linux, and b) the gcc-2.x is in test, and many information change
|
|
constantly. In what follows information about gcc-1.37 and gcc-1.40
|
|
are stable, and was spread along previous releases of this FAQ.
|
|
To conclude this short introduction, the most recent release of
|
|
gcc-2.1 can be found at the banjo.net.concert in /pub/Linux/GCC, and
|
|
also at headrest.woz.colorado.edu under /pub/linux/?, and one of the
|
|
"specialists" is Hongjiu Lu (hlu@eecs.wsu.edu). There is a special
|
|
channel for GCC, feel free to contact the linux-activists list.
|
|
The Information provided in this section which envolved GCC2.1x
|
|
(pre-2.2) are extracted from the FAQ GCC, written by Hongjiu, provided
|
|
with gcc-2.11c
|
|
|
|
QUESTION: I don't know how to install gcc stuff, is there special
|
|
places?
|
|
|
|
ANSWER: It depends on the release of gcc you are using. Right now
|
|
there are at least 3 packages : the original one gccbin.tar.Z contains all
|
|
the gcc-1.37 binaries distrib; the gcc-1.40 has been ported in dec. 91,
|
|
it's in newgcc.tar.Z and the VARIOUS version of gcc-2.1. Choose yours
|
|
(I hope that the following will help you); for my own I use gcc-2.10
|
|
available since mid-April, which is not that bad.
|
|
|
|
A) gccbin.tar.Z goes in /usr/local/lib except gcc which goes in
|
|
/usr/local/bin. Moreover each gcc-xxx of /usr/local/lib should be
|
|
linked with gxxx and xxx in /usr/local/bin.
|
|
|
|
B) newgcc.tar.Z goes in /usr, then uncompress and untar it. Files are
|
|
directed to /usr/lib, /usr/include and /usr/bin. You should link ar,
|
|
as, ld with gar, gas and gld, this will prevent some error while using
|
|
make (especially whilst re-compiling Linux kernel). Moreover, the
|
|
include files are not complete, you need first to install
|
|
include-0.12.tar.Z (at tsx, /pub/linux/sources/system). Finally cpp
|
|
and cc1 are in /usr/lib, and they should be in /usr/bin, a solution is
|
|
to link them at the right place.
|
|
BTW include-0.12.tar.Z contains include/linux/*.h which are not
|
|
uptodate, you should link the one provided in linux-0.95a sources by
|
|
the following:
|
|
cd /usr/include
|
|
mv linux linux_orig
|
|
ln -s /usr/src/linux/include/linux linux
|
|
|
|
C) gcc-2.1 is splitted in 2 main files 2.1lib.tar.Z and 2.1misc.tar.Z,
|
|
some utilities (binutils.tar.Z) and shared libraries are also
|
|
provided. To install them do the following:
|
|
|
|
First of all, backup the old compiler. YOU MUST BE SURE THERE IS NO
|
|
OTHER C COMPILER INSTALLED ON YOUR SYSTEM. What is meant by compiler
|
|
is all the stuff: binaries, header files, libraries and crt0.o. I
|
|
assume that whateverplace contains the 2.1files you have downloaded.
|
|
|
|
cd /usr
|
|
tar xvpzf whateverplace/2.1misc.tar.Z
|
|
|
|
read the FAQ in /usr/install/gcc2. Then
|
|
|
|
cd /usr
|
|
tar xvpzf whateverplace/2.1lib.tar.Z
|
|
|
|
|
|
QUESTION: I seem to be unable to compile anything with gcc. Why?
|
|
|
|
ANSWER: If you have only 2 MB RAM, gcc will die silently without
|
|
compiling anything. You must have at least 4 MB to do compilations
|
|
|
|
BTW Since swapping is possible, I have heard that compilation works
|
|
with only 2Meg and a lot disk traffic :) Isn't it great?
|
|
|
|
|
|
QUESTION: I'm using a program that uses signal handlers which are
|
|
installed using sigaction() with the SA_NOMASK, and they get a general
|
|
protection error right after the signal handler tries to return.
|
|
What's going wrong?
|
|
|
|
ANSWER: You are using a libc.a that has an out-of-date signal.o and
|
|
sig_restore.o file, and they don't know how to deal with SA_NOMASK.
|
|
(The one in gccbin.tar.Z is out-of-date). Get the new libc.a and put
|
|
it in /usr/lib or /usr/local/lib. Again check your compiler version
|
|
|
|
|
|
QUESTION: gcc complains about not finding crt0.o and the system
|
|
include files What am I doing wrong ?
|
|
|
|
ANSWER: The include files normal place is in /usr/include. lib*.a and
|
|
*.o should be in /usr/lib or /usr/local/lib
|
|
|
|
|
|
QUESTION: While compiling some GNU packages gcc(1.37 and 1.40) chokes
|
|
on regex.c with an insn code, what can I do?
|
|
|
|
ANSWER: There is a little bug in the port of gcc-1.37, which should be
|
|
corrected on the port of v2.x (with g++). Right now throw away the -O
|
|
flag (to compile regex) and every thing will be alright.
|
|
|
|
|
|
QUESTION: I tried to port a /new/ version of gnu stuff. But in the
|
|
linking phase, gcc complains about the missing libg.a.
|
|
|
|
|
|
ANSWER: Yes this is well known, throw away the flag -g that's all,
|
|
anyway libg.a is /only/ for debugging purpose.
|
|
|
|
|
|
QUESTION: How to compile programs which may be debugged with gdb?
|
|
|
|
ANSWER: There are 2 ways (and half) to handle this problem
|
|
1) As there is no libg.a, you should throw away the -g flag in link
|
|
phase, this means that the compilation must be done in two steps
|
|
example: instead of "gcc -g monprog.c -o monprog", use the following
|
|
"gcc -g -c monprog.c" and then "gcc -o monprog monprog.o"
|
|
Alas this method is not that good if you are using Makefile.
|
|
2) The other way is to create an empty libg.a as follows (Peter
|
|
Macdonald trick):
|
|
- create libfake.c containing libgfake() {}
|
|
- compile it with: gcc -c libfake.c
|
|
- create the libg.a with: ar r libg.a libfake.o
|
|
2bis) The more tricky Humberto method:
|
|
cd /usr/lib
|
|
ranlib libg.a
|
|
|
|
then gcc -g monprog.c -o monprog will produce a debuggable monprog
|
|
|
|
|
|
QUESTION: When compiling some code, cc1 complains about some insn
|
|
code, what's that?
|
|
|
|
ANSWER: An insn is an internal representation that gcc uses when
|
|
compiling. The main part of gcc is to take ordinary c (or c++) code,
|
|
and compile it, while ding optimizations in insn part, which is
|
|
soft/hard independant. Then another part which is hard/Os dependant
|
|
takes the insns and translate it in assembly language. The fix is only
|
|
to turn off the optimization flag (-O) or download the new gcc release
|
|
(1.4) which has been made available at tsx-11 (newgcc.tar.Z and the
|
|
ad-hoc libraries newlibc.tar.Z).
|
|
|
|
|
|
QUESTION: While compiling some stuff, I'm getting the following
|
|
error message:
|
|
Undefined symbol ___addsf3 referenced from text segment
|
|
as well as ___mulsf3 and __cmpsf2.
|
|
These symbols are not in the program or in it's header files.
|
|
|
|
ANSWER: These are math helper functions, and you can usually compile
|
|
these programs to use the kernel floating point routines by adding
|
|
'-m80387' to the compiler switches. If the program does any wierd
|
|
fp math (exp(), sin()) it'll die when you run it though.
|
|
|
|
|
|
QUESTION: What are the enhancement of the newgcc.tar.Z ?
|
|
|
|
ANSWER: There were some bugs in the old port that have been corrected,
|
|
moreover this package contains 387 support
|
|
there is libm.a (for those with 387)
|
|
libsoft.a (for those without, I for example)
|
|
libtermcap.a (from tput 1.10)
|
|
|
|
The -mstring-insns option is no longer needed nor supported :( [As
|
|
an example to recompile (successfully) linux0.12 you have to throw away
|
|
this flag in all the Makefile]; conversly in linuxv0.95a, you have to
|
|
make the flags available if you compile with gcc-140
|
|
|
|
gcc-1.40 has some registers problem, you should had -fcombine-regs
|
|
flag while compiling (the linux kernel for example)
|
|
|
|
BTW Notice also that include files have changed (stdio.h which is no
|
|
more ansi compliant).
|
|
For my personal use, gcc-1.40 works just fine.
|
|
|
|
|
|
QUESTION What's about gcc2.x ?
|
|
|
|
ANSWER: It has been ported to linux, it is (pretty) stable and works.
|
|
The files are 2.1xlib.tar.Z and 2.1xmisc.tar.Z Uncompress and untar
|
|
2.1xmisc, read the FAQ enclosed and play with it. You can find these
|
|
files at tsx-11 in binaries/compilers/gcc-2.x. One of the most recent
|
|
version is on banjo.net.concert in pub/Linux/GCC.
|
|
Also provided 2.1shared.tar.Z file which contains most of the
|
|
utilities in .a form (to transform them as binaries just "gcc -s
|
|
-ladhoc_library binfile.a -o binfile" where -ladhoc_library is either
|
|
-lm or -ltermcap
|
|
The shlib.tar.Z enables you to create shared libraries, read the
|
|
README file included
|
|
The 096inc.tar.Z contains the header files from the kernel
|
|
|
|
|
|
QUESTION: What can gcc-2.x do for me, that gcc-1.40 cannot?
|
|
|
|
ANSWER: Shared libraries: small programs shrink by an average factor
|
|
of 2~3, larger program by 50K. It also compiles C++, and so replace
|
|
both gcc-1.xx and g++1.xx. And also:
|
|
- ANSI and BSD 4.4 compatible stdio
|
|
- iostream for g++
|
|
|
|
QUESTION: I can't run g++ due to the lack of "expr"; where can I find
|
|
it ?
|
|
|
|
ANSWER: Either in the 2.1linux-distrib, it's in the file 2.1shared.tar.Z
|
|
(banjo pub/Linux/GCC); either in the shellutils-1.6.tar.Z (or whatever
|
|
is the last release) on prep.ai.mit.edu
|
|
|
|
QUESTION: I have grabbed the new gcc2.xx, but I can't use it whenever
|
|
I compile (even hello world program) I get "parse error before ('s";
|
|
any clue ?
|
|
|
|
ANSWER: Yes, it's caused by bad compress/tar binaries, use the one
|
|
provided at tsx-11 in linux/binaries/usr.bin
|
|
|
|
QUESTION: Is there a bug in how g++ and gcc handle include files?
|
|
'cause I can't get them to find files in the g++-include directory.
|
|
|
|
ANSWER: Did you run "fixfiles"? The file permission in g++-include is
|
|
640 and should be 444.
|
|
|
|
|
|
X. SCSI SPECIAL
|
|
===============
|
|
|
|
This section was written by Drew Eckhardt, the last update of the
|
|
information enclosed was 2 Jun 92 05:31:21 GMT
|
|
|
|
|
|
QUESTION: What SCSI hosts are supported?
|
|
|
|
ANSWER: The Adaptec 1542 (The EISA bus master 17xx may work with minor
|
|
changes), Seagate ST01/ST02, (These are repackaged Future Domain 88x
|
|
series boards. If you have an 8 bit future domain controller, you may
|
|
be able to modify the seagate driver to detect your card to. If any
|
|
one does this, please send diffs.), and Ultrastor 14F are supported in
|
|
the stock distribution.
|
|
|
|
Also, patches are available for the WD7000 FAAST, and Future Domain
|
|
16 bit controllers.
|
|
|
|
At this point, the Adaptec 152x series, and 17xx series DO NOT WORK.
|
|
|
|
|
|
QUESTION: Which disks ?
|
|
|
|
ANSWER: Anything that works with your host adapter electronically, and
|
|
is new enough to support a December 1985 draft of SCSI-I.
|
|
|
|
Sysquest removable drives are known to work. However, DO NOT remove a
|
|
mounted cartridge. This will trash your filesystem.
|
|
|
|
CDROM should also work, but we don't support the High Sierra filesystem.
|
|
|
|
|
|
QUESTION: What about SCSI tapes ?
|
|
|
|
ANSWER: The stubs are sort of there. The detection stubs are there,
|
|
there is a raw SCSI ioctl which forms the basis for much of the tape
|
|
driver (it goes between user / kernel space, where as the block driver
|
|
code operates entirely in kernel space), all that remains is
|
|
completion of enough ioctls to support an mt command. It's 1-2 days
|
|
of coding and debugging once someone gets around to it.
|
|
|
|
|
|
QUESTION: How do I get SCSI information?
|
|
|
|
ANSWER: Subscribe to the SCSI channel of the linux-activists mailing list.
|
|
mail linux-activists@joker.cs.hut.fi
|
|
And put in the header.
|
|
X-MN-Admin: join SCSI
|
|
|
|
|
|
QUESTION: How do I partition the disk?
|
|
|
|
ANSWER: The linux partitioning programs don't work, as you might have
|
|
noticed. Partition the disk under DOS (pfdisk compiled for DOS will
|
|
work), or if you are a masochistic hacker type and familiar with your
|
|
SCSI BIOS's remapping scheme, use dd and a binary capable editor =8^)
|
|
|
|
The problem with partitioning SCSI disks and Linux is that Linux talks
|
|
directly to the SCSI interface. Each disk is viewed as the SCSI host
|
|
sees it : N blocks, numbered from 0 to N-1, all error free. There is
|
|
no portable way to get disk geometry.
|
|
|
|
However, DOS doesn't like things like this, it demmands that BIOS
|
|
present it with a normal Cylinder / Head / Sector coordinates. So,
|
|
BIOS does, and it comes up with some fabrication that fits what DOS
|
|
wants to see. You don't want to disagree with what BIOS thinks when
|
|
you write the partition table.
|
|
|
|
|
|
QUESTION: Where is the latest version maintained?
|
|
|
|
ANSWER: headrest.woz.colorado.edu:/pub/linux
|
|
|
|
Since SCSI made it into .96, this is mostly alpha/beta test for new
|
|
things. Right now, an interrupt driven Seagate driver is what's there.
|
|
|
|
Join the list before you grab anything.
|
|
|
|
|
|
QUESTION: what about extended partitions?
|
|
|
|
ANSWER: not yet. Let's just say that I almost have a very large drive
|
|
up on a SCSI->SMD bridge, and that it's a priority.
|
|
|
|
|
|
QUESTION: I get a message saying READ CAPACITY FAILED. What does this
|
|
mean?
|
|
|
|
ANSWER: One of two things. First thing is that there is a bug in the
|
|
midlevel error handling code. When an error condition is returned,
|
|
things aren't retried. Some SCSI disks get unhappy at the sight of
|
|
the initialization routines, and will return an error condition for
|
|
the first "real" command that they run. INQUIRE doesn't count, since
|
|
that will allways return successfully, irregardless of pending error
|
|
conditions, unless your drive is Kaput.
|
|
|
|
You could also have a flakey disk, but this is unlikely.
|
|
|
|
|
|
QUESTION: What are the major / minor numbers for SCSI drives?
|
|
|
|
ANSWER: Right now, it is theoretically possible to have 21 SCSI
|
|
devices in the system. With SCSI- MFM / ESDI / SMD bridges this can
|
|
be even more drives, as each id may have several drives on it each set
|
|
up as a LUN of that id. Needless to say, if we have allowed for 16
|
|
partitions per SCSI drive, we're pushing the limits on minor numbers.
|
|
Therefore, a yucky dynamic numbering scheme is used.
|
|
|
|
Block device major 8 is used for SCSI drives. I personally like
|
|
/dev/sd[n][p], where n is the drive number, and p partition letter -
|
|
but this is entirely personal preference.
|
|
|
|
Minors are assigned in increments of 16 to SCSI disks as they are
|
|
found, scaning from host 0, ID 0 to host n, ID 7, excluding the host
|
|
ID. Most hosts use ID 7 for themselves.
|
|
|
|
A minor where minor mod 16 = 0 is the whole drive, where minor mod 16
|
|
is between 1 and 4, that partition, and extended partitions are not
|
|
yet implemented.
|
|
|
|
Example : I have four SCSI disks, set up as follows
|
|
Seagate ST02, ID=0
|
|
Seagate ST02, ID = 5
|
|
Ultrastor 14, ID = 0
|
|
Adaptec 1542, ID = 0
|
|
|
|
The first disk on the seagate at ID 0 will become minors 0-15
|
|
inclusive, the second at ID5 16-31 inclusive, the disk on the
|
|
Ultrastor 32-47, on the Adaptec 48-63.
|
|
|
|
|
|
QUESTION: I can't use more than 2 SCSI disks.
|
|
|
|
ANSWER: Change MAX_SD in sd.h, MAX_SCSI_DEVICE in scsi.h, and
|
|
recompile the kernel.
|
|
|
|
|
|
QUESTION: How do I reduce kernel bloat and eliminate the drivers I
|
|
don't want?
|
|
|
|
ANSWER: Simply #undef CONFIG_DISTRIBUTION in include/linux/config.h,
|
|
and define the macros for the SCSI hosts you want enabled.
|
|
|
|
|
|
QUESTION: What about bugs?
|
|
|
|
ANSWER: It works on MY hardware. It works on Tommy Thorn's Adaptec
|
|
system, Dave Gentzel's Ultrastor, Thomas Wuensche's WD7000, Rick
|
|
Faith's Future Domain, and quite a few other systems.
|
|
|
|
Bugs that are there will mostly be very hardware specific, and nasty
|
|
to track down. SCSI should be basically error free - consequently,
|
|
the error code has not been heavily tested, and there are known bugs
|
|
in it.
|
|
|
|
If you have found a bug, please mail it to the mailing list with
|
|
specifics of your hardware. Other people may have the same problem, a
|
|
solution, etc.
|
|
|
|
Chances are I will provide you with a debugging version of the kernel,
|
|
which will dump out important SCSI information and let me see what
|
|
exactly is going on.
|
|
|
|
|
|
QUESTION: What are the known bugs?
|
|
|
|
ANSWER: The seagate driver should fail on i486, and i486sx machines.
|
|
This is because the seagate uses memory mapped I/O, and if it gets the
|
|
chance, the i486 will go for the internal cache, bypassing the memory
|
|
mapped registers of the Seagate SCSI host.
|
|
|
|
386 cache machines will not have problems IF the Seagate's address
|
|
space (typically C8000 - CAFFFF) is marked "non cacheable."
|
|
|
|
This can be set in the XCMOS of most machines.
|
|
|
|
The error routines are imperfect, and this causes READ CAPACITY to
|
|
fail in sd_init.
|
|
Many of the drivers cannot abort a command that is in progress - if
|
|
something goes haywire, all drives off that controller will hang.
|
|
|
|
|
|
QUESTION: Why can't I swap to a SCSI disk?, Why can't I mount a SCSI
|
|
disk as root?
|
|
|
|
ANSWER: This was due do a race condition that has since been fixed (I
|
|
think).
|
|
|
|
It only manifested itself in drivers using the command() interface
|
|
(see bellow), but this interface isn't used very much as it was there
|
|
mostly for develeopment.
|
|
|
|
|
|
QUESTION: Why does Linux "hang" when the disk is accessed?
|
|
|
|
ANSWER: There are two possible interfaces between mid and lowlevel
|
|
SCSI routines.
|
|
These are the queue_command() and command() interfaces.
|
|
|
|
The difference between the two is that queue_command() provides a way
|
|
to do generic, interrupt driven SCSI, whereas command() is not
|
|
interrupt driven.
|
|
|
|
The latest Seagate driver (in testing), WD7000 and Future Domain 16
|
|
bit use the queue_command() interface, Adaptec has it disabled,
|
|
someone should recompile it with it enabled, and I don't know about
|
|
Dave's latest Ultrastore driver.
|
|
|
|
|
|
QUESTION: I get SCSI timeouts.
|
|
|
|
ANSWER: If you are using the latest interrupt driven seagate driver,
|
|
you will have to jumper the card for IRQ5. The factory settings are
|
|
for MSLOSS, and have interrupts disabled. Interrupts are controlled
|
|
by the W3 (ST01) or JP3 (ST02) jumper, which should have pins FG
|
|
shorted. See your manual.
|
|
|
|
|
|
QUESTION: What future developments are planned?
|
|
|
|
ANSWER: The following changes will occur (listed from highest to
|
|
lowest priority) :
|
|
|
|
- Support for extended partitions will be added
|
|
- Support for LUN != 0 will be added
|
|
- Support for tapes will be added
|
|
|
|
And, best of all there will be a new interface to the SCSI routines
|
|
that will facilitate scatter/gather, allow multiple outstanding
|
|
commands (1 per LUN), and all sorts of other goodies.
|
|
|
|
|
|
XI. X11 THE MINIMUM and MORE
|
|
============================
|
|
This section is divided in 2 parts, one is of general information in
|
|
fact it's extracted from the FAQ X386 posted to comp.unix.sysv386 by
|
|
Steve Kotsopoulos and forwarded to comp.os.linux by Hongjiu Lu (last
|
|
updated 3 April 1992). The other part, written by P. Hawkins, is
|
|
rather devoted to installation.
|
|
|
|
XI.A. X386 GENERAL INFORMATION
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
QUESTION: What is the X11 release supported by Linux?
|
|
|
|
ANSWER: It's the X11R5 (X386 1.2)
|
|
|
|
|
|
QUESTION: What is X386?
|
|
|
|
ANSWER: X386 is the port of the X11 server to System V/386 that was
|
|
done by Thomas Roell (roell@informatik.tu-muenchen.de).
|
|
It supports a wide variety of VGA boards.
|
|
|
|
There are 2 major versions: X386 1.1 is based on X11R4,
|
|
X386 1.2 is included in MIT's X11R5 distribution (ie. you
|
|
don't need to patch it into the MIT source anymore).
|
|
|
|
(added) The Linux X386 port was based on the stock distribution from
|
|
X11R5, from MIT and was done by Orest Zborowski (obz@sisd.kodak.com).
|
|
|
|
|
|
QUESTION: Where can I get X386 1.2 (X11R5)?
|
|
|
|
ANSWER: The X386 1.2 sources are available at any site that distributes
|
|
the X11R5 source (too numerous to list here, but includes
|
|
export.lcs.mit.edu)
|
|
|
|
|
|
QUESTION: What VGA boards are supported?
|
|
|
|
ANSWER: ET3000 (for ex. GENOA 5300/5400)
|
|
ET4000 (Tricom, STB PWR Graph, Sigma Legend, etc.)
|
|
GVGA (Genoa 6400)
|
|
PVGA1A (Paradise VGA Professional)
|
|
WD90C00 (Paradise VGA 1024)
|
|
|
|
|
|
QUESTION: Any tips on compiling X11R5?
|
|
|
|
ANSWER:
|
|
- You will need lots of disk space (around 150Meg for the MIT core).
|
|
- Look at mit/server/ddx/x386/README and follow any instructions for
|
|
your particular platform.
|
|
- Contact the X11 channel at linux-activists
|
|
|
|
XI.B. X11 and LINUX
|
|
~~~~~~~~~~~~~~~~~~~
|
|
(Peter Hawkins speaking):
|
|
Recently I posted two requests for help on getting me X server
|
|
running. With much help from John Morris and from several posters
|
|
(especially Krishna who gave lots of advice) I got it running.
|
|
|
|
As I have had several requests for help, I thought I'd post what I've
|
|
found out here. PLEASE note, I am no guru with X11 or linux - I'm a
|
|
green nubie, so if your info is not contained here, I'm not likely to be
|
|
able to help you - try posting instead (and of course, please post any
|
|
resulting findings).
|
|
|
|
|
|
QUESTION: How does X11 start up?
|
|
|
|
ANSWER: the command startx runs the startx script in /usr/bin/X11.
|
|
This script in turn calls xinit. In my startx, I have set several
|
|
arguments on the serverargs = "" line;
|
|
|
|
I have: serverargs="-a 4 -t 4 -s 3 -f 10"
|
|
|
|
however X11 loads up successfully even with serverargs=""
|
|
|
|
startx does little other than gather arguments and then call xinit (also
|
|
in /usr/bin) which is an executable.
|
|
|
|
xinit **calls** X (X is linked to X386). xinit therefore continues to
|
|
run, and quite often you will receive error messages from xinit rather
|
|
than X itself. If you get the message "giving up", it means X has died
|
|
(quite probably it died immediately) and xinit has been unable to start
|
|
x applications. xinit processes the startup script xinitrc.
|
|
|
|
The two line message
|
|
|
|
X386 version .....
|
|
(protocol Version ....
|
|
|
|
is returned (i believe) from the X386 programme itself, so if you get
|
|
this (or if the screen blanks) X must be starting.
|
|
|
|
|
|
QUESTION: How can I see what startx passes to xinit, and xinit to X?
|
|
|
|
ANSWER: A simple (& useful) useful test. Edit startx and modify the
|
|
last line:
|
|
|
|
insert "echo" ;
|
|
|
|
echo xinit $clientargs -- $serverargs
|
|
|
|
If you leave serverargs="" (see above), you will see:
|
|
|
|
xinit <path>/.xinitrc
|
|
when you run startx. The path will reflect the location of your default
|
|
.xinitrc file - startx looks first in your home directory, and then
|
|
in /usr/lib/X11/xinit (the latter contains xinitrc, NOT .xinitrc).
|
|
|
|
To see what xinit passes to X, try:
|
|
|
|
rm /usr/bin/X11/X
|
|
|
|
- yes, if you have set it up correctly, X should only be a link so it's
|
|
safe to remove it.
|
|
|
|
then:
|
|
|
|
create a shell script called /usr/bin/X11/X containing:
|
|
|
|
#/bin/sh
|
|
echo ${1} ${2} ${3} ${4} ${5} ${6} ${7} ${8}
|
|
|
|
and run startx. You should see something like:
|
|
|
|
X :0
|
|
|
|
which is all xinit passes to X. If you don't see the :0, you may not
|
|
have
|
|
your DISPLAY=":0" set correctly (see man file).
|
|
|
|
THEN RESTORE X!! :
|
|
|
|
rm /usr/bin/X11/X
|
|
ln -s /usr/bin/X11/X386 /usr/bin/X11/X
|
|
|
|
|
|
QUESTION: What else do I need?
|
|
|
|
ANSWER:
|
|
set DISPLAY=":0" and /usr/bin/X11 should be in your path.
|
|
|
|
If X is not firing up at all, there are only a few files which are
|
|
likely to be the source of your problems. Make sure you have the
|
|
following in /usr/bin/X11:
|
|
|
|
X (link to /usr/bin/X11/X)
|
|
X386 (correct size=674730).
|
|
|
|
you *must* have /lib/lib92.04.12
|
|
|
|
a /tmp directory (with the correct access)
|
|
|
|
/dev/tty0
|
|
/dev/mem
|
|
/dev/ttys1 (for a mouse in serial port 1, or /dev/ttys2 in port 2) -
|
|
these could just be links to /dev/tty8 or one of the other unused character
|
|
devices. but it's best to use the mouse's line.
|
|
|
|
check your device numbers with ls -l /dev. You should have:
|
|
|
|
5 0 tty
|
|
4 0 tty0
|
|
4 1 tty2 (etc
|
|
4 192 ttyp0
|
|
4 193 ttyp1 (etc)
|
|
4 64 ttys1
|
|
4 65 ttys2
|
|
1 1 mem
|
|
|
|
You also need crt0.o
|
|
|
|
|
|
QUESTION: How else can I test it?
|
|
|
|
ANSWER:
|
|
(1) try starting the server directly (bypass xinit - it'll be faster).
|
|
If X386 is working the following should work:
|
|
|
|
X :0
|
|
|
|
(2) when you run it, redirect errors to a file so you can check them
|
|
later:
|
|
|
|
eg
|
|
startx 2> t.t
|
|
|
|
|
|
QUESTION: Does there exist some usual fault, I should be warn of?
|
|
|
|
ANSWER:
|
|
If X isn't firing at all, or even if it clears the screen and crashes
|
|
(see below) you almost certainly have a fault in Xconfig.
|
|
|
|
1. Note that X runs Xconfig. (not xinit)
|
|
|
|
2. If you have a fault in Xconfig it is possible to crash or hang the
|
|
server without getting an error message.
|
|
|
|
3. leave the two paths at the top of Xconfig commented out when testing.
|
|
|
|
4. test with only one graphics mode included - one you are most sure of.
|
|
|
|
5. If you make a mistake in the mouse section, you will (I understand)
|
|
get an error message, so if you don't get some mouse error, try
|
|
elsewhere first. (eg "No such file or directory" indicates you have a
|
|
fault in the "/dev/ttyxx" line, or /dev/ttyxx doesn't exist.
|
|
|
|
6. *NB* X looks in your home directory first to find an Xconfig. make
|
|
certain it's using the one you've been working on!
|
|
|
|
7. you need double quotes (") around your chipset and modes: eg
|
|
|
|
chipset "et4000"
|
|
Modes "800x600"
|
|
|
|
and around the /dev/ttyxx
|
|
|
|
eg
|
|
microsoft "/dev/ttys1"
|
|
|
|
8. Check your VGA section and modeDB first.
|
|
|
|
9. ensure ModeDB clock speeds match the VGA section. Comment out any
|
|
unused lines in MODEDB.
|
|
|
|
eg clocks 25 36 00 00 00 00 00 00
|
|
|
|
then you *must* have (and only have) lines under modeDB corresponding
|
|
to speeds 25 and 36. If you have one with (say) 62 uncommented out in
|
|
the modeDB section in place of the 36 line, you will cause the server to
|
|
die immediately with no error message.
|
|
|
|
10. a syntax error (such as an unrecognised word) in Xconfig will cause
|
|
a death with no warning.
|
|
|
|
11 videoram must equal the amount of display ram on your chip.
|
|
|
|
|
|
QUESTION: My server "hangs" Why?
|
|
|
|
ANSWER: Quite often it isn't a hang. If the server grabs the screen
|
|
(whether or not it gets as far as entering graphics mode) and then
|
|
dies, it may return you to bash *without* giving up the screen. In
|
|
other words, just because you see no output, don't assume it's
|
|
running/hanging. The way to test this is to see if you can use a bash
|
|
command to spin your disk. EG:
|
|
|
|
sync
|
|
ls -lR /
|
|
----------------------
|
|
|
|
Also - I *suspect* that (at least for me), you can kill the server if
|
|
you include the servernum option in the Xconfig
|
|
|
|
|
|
QUESTION: Where can I find clock.exe or clock.pas ?
|
|
|
|
ANSWER: clock.exe was included in digest#150 Vol2, clock.pas was in
|
|
digest#156 Vol2.
|
|
|
|
|
|
QUESTION: When I try to use the X11 v1.0 I got "Cannot connect to
|
|
server" or "process does not exist", any clue ?
|
|
|
|
ANSWER: The cause might be wrong fontpath variable setup in your
|
|
Xconfig; uncomment and set the correct fontpath variable.
|
|
|
|
|
|
QUESTION: How can I have more than 4 pty's to run X windows ?
|
|
|
|
ANSWER: recompile the kernel and set the ad-hoc number in the header
|
|
include/linux/tty.h
|
|
|
|
|
|
QUESTION: I have trouble with my logitech Pilot mouse and X under
|
|
Linux, any clue ?
|
|
|
|
ANSWER: (Thomas Roell?) There are TWO line of Logitech mice out there.
|
|
One is the programmable and uses MouseSystems protocol at startup.
|
|
X386 reprogramms them to use another protocol. If you specify
|
|
'Logitech' in the Xconfig, X386 assumes a mouse like C7 or S9 (not
|
|
C7-M).
|
|
The second line is the MicroSoft compatible. Currently all newer
|
|
Logitech mice follows this practice, like the MouseMan. In that case
|
|
you have to say 'MicroSoft' or 'MouseMan'.
|
|
|
|
===================8<==========>8================
|
|
|