home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / s / sls99.zip / LINX1120.FAQ < prev    next >
Text File  |  1992-12-20  |  192KB  |  4,745 lines

  1. *********************************************************
  2. *                                                       *
  3. *   Answers to Frequently asked questions about Linux   *
  4. *                                                       *
  5. *********************************************************
  6.  
  7. Hi Linuxers!
  8.  
  9. The original FAQ 1st version was posted on Dec. 19, 1991 by Robert Blum.
  10.  
  11. Most credits of this work to Linus, Robert and Ted. The first X11
  12. section was written by Peter Hawkins, the rest was either on the list
  13. posted by many (real) activists, not me ;-), either in some other news
  14. groups, or else by direct posting to me (thanks Humberto, Dan,
  15. Michael, Drew, Audoin). I haven't systematically copyrighted them, so
  16. thanks to every one who participated even indirectly to this FAQ.   
  17.  
  18. Since September 1992, the FAQ is co-written by:
  19.  
  20. WHO                     (WHAT)          E-MAIL
  21. =============================================================================
  22. Lars Wirzenius          (META-FAQ)      wirzeniu@cc.helsinki.fi
  23. Mark Komarinski         (DOS)           komarimf@craft.camp.clarkson.edu
  24. Matt Welsh              (GENERAL INFO)  mdw@tc.cornell.edu
  25. A. V. Le Blanc          (MCC, DOS)      LeBlanc@mcc.ac.uk
  26. Matt Welsh              (INSTALLATION)  mdw@tc.cornell.edu
  27. Drew Eckhardt           (SCSI)          headrest.woz.colorado.edu
  28. Hongjiu Lu              (GCC)           hlu@eecs.wsu.edu
  29. Krishna Balasubramanian (X11)           balasub@cis.ohio-state.edu 
  30. Jim Gifford             (SERIAL)        jgifford@{attmail,world.std}.com
  31. Zane Healy              (BBS INFO)      healyzh@holonet.net
  32. Philip Copeland         (NET INFO)      p_copela@csd.bristol-poly.ac.uk
  33. Rick Miller             (DEVICE INFO)   rick@ee.uwm.edu
  34. Peter MacDonald         (SLS INFO)      pmacdona@sanjuan.uvic.ca
  35. Rick Sladkey            (EMACS)         jrs@world.std.com
  36. Dirk Hohndel            (PROOF READER)  hohndel@informatik.uni-wuerzburg.dbp.de
  37. Marc-Michel Corsini     (FAQ collector) corsini@{labri,firmin}.greco-prog.fr
  38. =============================================================================
  39.  
  40. If anyone is interested in participating with this FAQ, just send me a
  41. note with: your name/e-mail and the section you want to maintain.  
  42.  
  43. Many of the questions could be avoided, if people had read the FAQ of
  44. the following newsgroups: news.announce.newusers, comp.lang.c,
  45. gnu.emacs.help,  comp.unix.questions.  
  46.  
  47. [The last-change-date of this posting is always "two minutes ago".  :-)]
  48.  
  49. This is the introduction to a list of frequently asked questions (FAQ
  50. for short) about Linux with answers (Yeap!).  This article contains a
  51. listing of the sections, followed by the question/answer part.
  52.  
  53. This FAQ is supposed to reduce the noise level ;-) in the comp.os.linux
  54. newsgroup, and spare the time of many activists. I will cross-post it each 
  55. month to news.answers. This FAQ is NOT an introduction to UNIX, there
  56. are many books for unix, and there is *also* a FAQ for unix (it's the
  57. one of comp.unix.questions which contains things such as "How do I
  58. remove a file named -". I DO NOT WANT TO ADD SUCH THINGS IN THIS FAQ
  59. DEVOTED TO LINUX.
  60.  
  61. Some books to read: 
  62.   The C Programming Language: Kernighan & Ritchie.
  63.   Unix System Administration Handbook: Nemeth, Snyder & Seebass.
  64.   Unix for the Impatient: Abrahams & Larson.
  65.   Unix System V Release 4, An Introduction, by Rosen, Rosinski and
  66.     Farber; Publisher Osborne MacGraw-Hill.
  67.   The X Windows System in a Nutshell: O'Reilly.
  68. .....
  69.  
  70. BTW This FAQ is available at the main Linux sites in the doc
  71. directory, the addresses are given in section II. of this FAQ. There
  72. is also an automated FAQ mailserver archive at pit-manager.mit.edu.
  73. Send mail to mail-server@pit-manager.mit.edu with the word "help" in 
  74. the body.
  75.  
  76. Please suggest any change, rephrasing, deletions, new questions,
  77. answers ...  
  78. Please include "FAQ" in the subject of messages sent to me about FAQ.  
  79. Please use linux@numero6.greco-prog.fr whatever will be the From part 
  80. of this message. Finally discussion about the FAQ can be done on the
  81. DOC Channel (see section II below).
  82.  
  83.  
  84. Thanks in advance,
  85.                 Marc
  86.  
  87. Future Plan:
  88.  
  89.     - reorganization of the FAQ. I don't know what will be the
  90.     next step of this, may be numbering and subsectionning.
  91.  
  92. ================================8<=====8<==============================
  93. CONTENTS
  94.     0.      WARNINGS                                (part1)
  95.     I.      LINUX GENERAL INFORMATION               (part1)
  96.     II.     LINUX USEFUL ADDRESSES                  (part1)
  97.     III.    INSTALLATION and COMMON PROBLEMS        (part1)
  98.     IV.     LINUX and DOS                           (part2)
  99.     V.      SOME CLASSICAL PROBLEMS                 (part2)
  100.     VI.     MISCELLANEOUS HINTS                     (part2)
  101.     VII.    MORE HINTS                              (part2)
  102.     VIII.   FEATURES                                (part3)
  103.     IX.     GCC MISC INFORMATION                    (part3)
  104.     X.      SCSI SPECIAL                            (part3)
  105.     XI.     X11, THE MINIMUM and MORE               (part4)
  106.     XII.    NETWORKING and LINUX                    (part4)
  107.     XIII.   EMACS dor LINUX                         (part4)
  108.  
  109. 0. WARNINGS
  110. ===========
  111.  
  112. The FAQ contains a lot of information sometimes I've put it down 
  113. in 3 different ways because people seems not to understand what they
  114. read (or what I wrote, you know I'm just a froggy and english is not
  115. my natural language). What I mean is that not all is in the FAQ but 
  116. many things are there, so please just take time to read it this will 
  117. spare a lot of the other linuxers [and if you think I should rephrase
  118. some Q/A just drop me a note with the corrections].
  119.  
  120. As the Linux kernel changes monthly, I define 2 pseudo variables a la
  121. C one for the version, and one for the date of the release. 
  122.  
  123. #define CURRENT_VERSION    0.98     /* the current version */
  124. #define PATCH_LEVEL        5        /* the patch level */
  125. #define KERNEL_DATE        15, Nov. /* Date of the CURRENT_VERSION */
  126.  
  127. In what follows I'll consider CURRENT_VERSION as the current version.
  128.  
  129. Below is the information provided by Lars Wirzenius on the LINUXNEWS
  130. Channel: "Linux News, a summary. Issue #5"
  131.  
  132. November 9.  Linus announced kernel version 0.98 patchlevel 4.
  133.    The most important changes are:
  134.    * The inode caching bug (resulting in bad filesystem info when
  135. mounting/umounting devices) should be gone for good.
  136.    * Bug fix of a race-condition in the filesystem (which may have
  137. caused people to get occasional fsck errors).
  138.    * Math emulator fixes (mainly for the re-entrancy problem)
  139.    * NR_OPEN was changed from 32 to 256 (this will break GNU Emacs,
  140. the term program, and possibly other programs; a recompilation should
  141. fix things).
  142.    * the process kernel stack is now on a separate page (needed due to
  143.    * Changes in kernel data structures (these require a new ps)
  144.    * System call tracing
  145.    * Changes to networking (tcp/ip, some nfs)
  146.    FTP: nic.funet.fi: pub/OS/Linux/PEOPLE/Linus/ (presumably on other
  147. sites too, by now), files linux-0.98.4.tar.Z (complete source),
  148. linux-0.98.patch4.Z (patches against pl3).  Also ps-diff.Z, patches by
  149. Linus to ps-0.98 that should fix ps to work with 0.98.4.
  150.    (Source: <1992Nov9.112201.14250@klaava.Helsinki.FI>)
  151.  
  152. November 15.  Linus announced kernel version 0.98 patchevel 5.  
  153.    This version fixes a swap-partition bug in pl4.  The symptoms where
  154. incorrect swapping with a partition, e.g. xterm could dump core when
  155. swapping was enabled and you typed at the keyboard.
  156.    This version also checks against writing to the text segment (i.e.
  157. program code).  This will break some binaries, especially some very,
  158. very old ones that were compiled using the estdio library (this
  159. library is no longer used in Linux).  If previously well-working
  160. programs suddenly start to dump core, this might be the reason.
  161.    There are also some other changes.
  162.    See also 0.98.4 announcement above.
  163.    FTP: nic.funet.fi: pub/OS/Linux/PEOPLE/Linus/.
  164.    (Source: <1992Nov15.220138.5434@klaava.Helsinki.FI>)
  165.  
  166.  
  167.  
  168. I. LINUX GENERAL INFORMATION 
  169. =============================
  170. *** This section is maintained by Matt Welsh (mdw@tc.cornell.edu). Mail
  171. *** him if you have corrections, additions, other questions, etc. 
  172. *** Last update November 1992.
  173.  
  174.  
  175. QUESTION: What is linux?
  176.  
  177. ANSWER: Linux is a small unix for 386-AT computers, that has the added
  178. advantage of being free(*). It is still in beta-testing, but is slowly
  179. getting useful even for somewhat real developement.  The current
  180. version is CURRENT_VERSION, date: KERNEL_DATE. 
  181.  
  182. (*) Free means that you may use it, change it , redistribute it, as
  183. long as you don't change the copyright. Free does not mean public
  184. domain.
  185.  
  186.  
  187. Linux is a freely distributable UNIX clone.  It implements a subset of
  188. System V and POSIX functionality, and contains a lot of BSD-isms.
  189. LINUX has been written from scratch, and therefore does not contain
  190. any AT&T or MINIX code--not in the kernel, the compiler, the
  191. utilities, or the libraries.  For this reason it can be made available
  192. with the complete source code via anonymous FTP.  LINUX runs only on
  193. 386/486 AT-bus machines; porting to non-Intel architectures is likely
  194. to be difficult, as the kernel makes extensive use of 386 memory
  195. management and task primitives. 
  196.  
  197.  
  198. QUESTION: Does Linux support GCC, TCP/IP, X-Windows, MGR, etc.?
  199.  
  200. ANSWER: Linux currently supports and uses a large amount of the GNU
  201. software (i.e. GCC, bison, groff, etc) so all of that functionality is
  202. there. X-Windows is also available, along with many client
  203. applications. MGR is there too. TCP/IP is in testing, and is available  
  204. for you to try out. 
  205.  
  206. (Dirk Hohndel:) TCP/IP is available. I use Linux boxes as Xterminals
  207. and my "own" asterix has mounted half a Gig via NFS. Mitch DSuoza is
  208. running an anonymous FTP server on his Linux box. This is definitely
  209. more than testing. The newest SLS  has a TCP/IP kernel by default. 
  210.  
  211.  
  212. See section VIII of this FAQ ("Features")!
  213.  
  214. In short, Linux supports many, many features and programs. One of the
  215. biggest questions is: 
  216.     "Does ***** work on Linux? Does Linux have *****?" 
  217. The answer, usually, is "yes". Just check out the rest of this FAQ,
  218. the newsgroup, as well as the files on the FTP sites. 
  219.  
  220.  
  221. QUESTION: What is the current state of Linux?
  222.  
  223. ANSWER: read the comp.os.linux newsgroup, where the INFO-SHEET is
  224. periodically posted.
  225.  
  226.  
  227. QUESTION: I've just heard about linux, what should I do to get it?
  228.  
  229. ANSWER: FIRST read this FAQ, and especially section III (installation).
  230. Choose a "release" of Linux (such as MCC, SLS, bootdisk/rootdisk, etc).
  231. Download from your nearest FTP site, use the "rawrite" program as needed
  232. to write the images to high-density floppies (5.25 or 3.5). Specific
  233. instructions are given in section III and in the README files for each
  234. release. 
  235.  
  236. Note that some releases only give you the kernel and a few utilities, and
  237. others give you everything you need (including X11, GCC, and more) in
  238. that latter case the downloading is close to a douzen of SOFT. Just
  239. check out section III for more info. 
  240.  
  241.  
  242. QUESTION: Does it run on my computer?
  243.  
  244. ANSWER: Linux has been written on a clone-386, with IDE drives and a VGA
  245. screen. It should work on most similar setups. The harddisk should be
  246. AT-standard, and the system must be ISA. (though *some* EISA success
  247. has been reported [T. Koenig], Linux doesn't take advantage of the EISA
  248. structure).  A high density floppy drive -- either 5.25" or 3.5"-- is
  249. required.  
  250.  
  251. {Drew's information:
  252. Linux supports anything that's register compatable with a WD1003 MFM 
  253. disk controller (ie, the original PC-AT disk controller.)  Most AT
  254. MFM, RLL, ESDI, and IDE setups look like this.  
  255.  
  256. XT compatable disk controllers won't work.
  257.  
  258. Generally, the rule is if you have the disk configured into the 
  259. CMOS setup of your machine, it will work (because the BIOS is talking 
  260. to a WD 1003 compatable board), otherwise it won't.}
  261.  
  262. IDE and MFM seem to work with no problem. It works, also, for some
  263. ESDI drive (you might have to comment out the "unexpected hd
  264. interrupt"-message from hd.c). There exists a high-level SCSI driver,
  265. under which low-level drivers are placed; a ST-01/ST-02 low driver has
  266. been completed see the FEATURES and the USEFUL ADDRESSES sections.
  267.  
  268.  
  269. Otherwise the requirements seem relatively small: a 386 (SX, DX or any
  270. 486).  Any video card of the following: Hercules, CGA, EGA, (S)VGA.
  271.  
  272. It needs at least 2M to run (with SWAP), and 4M is definitely a plus.
  273. It can happily use up to 16M (and more if you want).
  274.  
  275. BTW There are problems with some MAXTOR drives on high speed machines
  276. (sometimes switching off "turbo" helps). There may also be a problem
  277. with "slow" memory (under 60ns) on fast  machines. Again, the solution
  278. is to turn off "turbo". Mixed SIMMs (3 and 9 chip versions) have also
  279. reported to be problematic. 
  280.  
  281. NOTE1: It doesn't run (yet?) on a MCA machine
  282. NOTE2: There is a driver for XT but not very useable.
  283. NOTE3: There is also a support for 8514 and S3.
  284.  
  285. QUESTION: Why the suggested 4Meg, for Linux?
  286.  
  287. ANSWER: Linux uses the first 640k for kernel text, kernel data and
  288. buffercache. Your mother board may eat up 384K because of the chipset.
  289. Moreover there is: init/login, a shell, update possibly other daemons.
  290. Then, while compiling there is make and gcc (2.01 ~770k).
  291. So you don't have enough real memory and have to page.
  292.  
  293.  
  294. QUESTION: How would this operate in an OS/2 environment?
  295.  
  296. ANSWER: Linux will coexist with *ANY* other operating system(s) which
  297. respects the "standard" PC partionning scheme - this includes Dos,
  298. Os/2, Minix etc. 
  299.  
  300. WARNING: Linux and OS/2 *can* co-exist on the same machine. BUT, you
  301. cannot use Linux's fdisk to make Linux partitions! See the warnings in
  302. section III about Linux and OS/2.
  303.  
  304.  
  305. QUESTION: Will linux run on a PC or 286-AT? If not, why?
  306.  
  307. ANSWER: Linux uses the 386 chip protected mode functions extensively,
  308. and is a true 32-bit operating system. Thus x86 chips, x<3, will
  309. simply not run it.
  310.  
  311.  
  312. QUESTION: Will Linux run on a 386 Laptop?
  313.  
  314. ANSWER: It works, including X on most of them.
  315.  
  316.  
  317. QUESTION: (Dan) How long has Linux been publicly available?
  318.  
  319. ANSWER (partial): Few months, v0.10 went out in Nov. 91, v0.11 in Dec.
  320. and the current version CURRENT_VERSION is available since KERNEL_DATE.
  321. But even it is pretty recent it is quite reliable. There are very few and
  322. small bugs and in its current state it is mostly useful for people who
  323. are willing to port code and write new code. As Linux is very close to a 
  324. reliable/stable system, Linus decided that v0.13 will be known as v0.95.
  325. Believe it or not: the whole story started (nearly) with two processes
  326. that printed AAAA... and BBBB... 
  327. BTW consult the digest#136 Vol2 for a complete story.
  328.  
  329.  
  330. QUESTION: What is the proper pronounciation for "Linux"?
  331.  
  332. ANSWER: (Linus himself)
  333. 'li' is pronounced with a short [ee] sound: compare prInt, mInImal etc. 
  334. 'nux' is also short, non-diphtong, like in pUt.  It's partly due to
  335. minix: linux was just my working name for the thing, and as I wrote it
  336. to replace minix on my system, the result is what it is...  linus' minix
  337. became linux. 
  338.  
  339. I originally intended it to be called freax (although buggix was one
  340. contender after I got fed up with some of the more persistent bugs :)
  341. and I think the kernel makefiles up to version 0.11 had something to
  342. that effect ("Makefile for the freax kernel" in a comment).  But arl
  343. called the linux directory at nic.funet.fi pub/OS/Linux, and the name
  344. stuck.  Maybe just as well: freax doesn't sound too good either (freax
  345. is obviosly free + freak + the obligatory -x). 
  346.  
  347. (Rick's note for English speakers:  Linux - "LIH-nuhks".)
  348.  
  349.  
  350. QUESTION: What's about the copyright of linux?
  351.  
  352. ANSWER: This is an except of the RELEASE Notes v.095a: Linux is
  353. NOT public domain software, but is copyrighted by Linus Torvalds. The
  354. copyright conditions are the same as those imposed by the GNU
  355. copyleft: The GNU GENERAL PUBLIC LICENSE Version 2, June 1991 is part
  356. of the source tree.
  357.  
  358.  
  359. QUESTION: Should I be a UNIX and/or a DOS wizard to install/use Linux?
  360.  
  361. ANSWER: Not at all, just follow the install rules, of course it will be 
  362. easier for you if you know things about Unix. Right now Linux is used
  363. by more than BIGNUM persons, very few of them enhance the kernel, some
  364. adds/ports new soft, most of us are only (but USEFUL) beta testers.
  365. Last but not least, various Linuxers work on manpages, newuser_help,
  366. file-system organization. So join us and choose your "caste".
  367.  
  368. It is even used in production environments (Dr. G.W. Wettstein)
  369.  
  370.  
  371. QUESTION: Does Linux use TSS segments to provide multitasking?
  372.  
  373. ANSWER: Yes!
  374.  
  375.  
  376. QUESTION: If my PC runs under Linux, is it possible to ftp, rlogin,
  377. rsh etc.. to other Unix boxes?
  378.  
  379. ANSWER: Kermit and ka9q have both been ported to Linux. Also, TCP/IP is
  380. quite reliable, only a few clients are missing.
  381. Read section XII. devoted to Ethernet and Linux.
  382.  
  383.  
  384. QUESTION: Does linux do paging? Can I have virtual memory on my small
  385. machine?
  386.  
  387. ANSWER: Yes, it does. Generally you set up a swap file or partition, and
  388. enable it with the "swapon" command. Voila! Virtual memory.
  389.  
  390.  
  391. QUESTION: Can I have tasks spanning the full 4GB of addressable 386
  392. memory? No more 64kB limits like in coherent or standard minix?
  393.  
  394. ANSWER: Since 0.97pl? it uses 4 GB Process Space, 3 for userspace and
  395. 1 for the kernel space.
  396.  
  397.  
  398. QUESTION: Does the bigger program sizes mean I can run X?
  399.  
  400. ANSWER: Yes! See section XI below for details on X11.
  401.  
  402.  
  403. QUESTION: What are the differences, pros and cons compared to Minix ?
  404.  
  405. ANSWER (partial): 
  406. Cons: 
  407. - Linux only works on 386 and 486 processors.  
  408. - Linux needs 2M of memory just to run, 4M to be useful.  
  409. - Linux is a more traditional unix kernel, it doesn't use message
  410. passing. 
  411.  
  412. Pros: 
  413. - Linux is free, and freely distributable, BUT copyrighted.  
  414. - Linux has some advanced features such as:
  415.   - Memory paging with copy-on-write
  416.   - Demand loading of executables
  417.   - Page sharing of executables
  418.   - Multi-threaded file system
  419.   - job control and virtual memory, virtual consoles and pseudo-ttys.
  420. - Linux is a more traditional unix kernel, it doesn't use message
  421. passing.
  422.  
  423.  
  424. QUESTION: What are the pros and cons compared to 386BSD ?
  425.  
  426. ANSWER: Linux and 386BSD started out as completely different projects,
  427. with completely different goals and design criteria in mind. Personally,
  428. my experience with 386BSD has shown that :
  429. (a) its TCP/IP is more stable, and seems to work (on my NE2000 card,
  430. which Linux doesn't support yet), but 
  431. (b) the interface and "feel" just wern't the same as Linux (which I liked
  432. better :) ). You'll have to try it out for yourself. Here's information
  433. from comp.unix.bsd, September 1992:
  434.  
  435. | This is a free BSD for the 386.  It does NFS and X.
  436. | Grab it from agate.berkeley.edu (128.32.136.1).  
  437. | Bill Jolitz is writing a book on it.
  438. | It has a neat, small kernel, and is stable enough to run for a week or
  439. | more without crashing/hanging. It works fine with 4MB RAM and 80MB
  440. | disk.  Running X however needs 8MB RAM, and supports only vanilla VGA.
  441. | The TCP/IP implementation in this is functional, but not optimised.
  442. | This means that FTP throughput is about 5KB/sec on Ethernet, when
  443. | almost anything else gives you about 70KB to 100KB per second.
  444. | Read comp.unix.bsd. That is almost entirely Jolitz's 386BSD now.
  445. |
  446. |    3. How much disk space for:
  447. |       *kernel
  448. |       *X
  449. |       *source to kernel
  450. |       *source to X
  451. |        Binary only:    49 M (30 disk, 5 swap, 14 extraction)
  452. |        Source:         125 M (49 bin, 37 disk, +6 extraction, 25 recompile)
  453. |        User software:  +51 M
  454. |
  455. |       X Binaries require about 61 Meg (?)
  456. |       I don't know about the sources.
  457.  
  458.  
  459. To conclude this Q/A wrt Linux vs 386BSD, you should read the Linux News
  460. Issue #5 of L. Wirzenius, where a true story of Mark W. Eichin is
  461. reported.
  462.  
  463.  
  464. QUESTION: How much space will Linux take up on my hard drive?
  465.  
  466. ANSWER: It depends on which release you choose. See the section
  467. INSTALLATION below. Usually it's somewhere between 10 megs (for a
  468. nominal system+swap space) and 30-40 megs (for everything plus space
  469. for user directories, etc.). 
  470.  
  471. BTW the full SLS needs around 60 MB (including TeX and other goodies).
  472.  
  473. II. LINUX USEFUL ADDRESSES 
  474. =========================
  475.  
  476. II.A. LINUX ON THE NET: ftp, mailing-list
  477. II.B. OBTAINING LINUX FROM BBS'S: everything about bbs
  478.  
  479. II.A. LINUX ON THE NET
  480. ~~~~~~~~~~~~~~~~~~~~~~
  481.  
  482. QUESTION: Where can I get linux?
  483.  
  484. ANSWER: Linux (all the software, binaries, sources, releases, and so on),
  485. can be retrieved via anonymous FTP from :
  486.  
  487. [ Major sites ]
  488. EUROPE:
  489.     nic.funet.fi (128.214.6.100):
  490.         directory /pub/OS/Linux
  491.     ftp.informatik.tu-muenchen.de (131.159.0.110)
  492.         directory /pub/Linux
  493.  
  494. US:     
  495.     tsx-11.mit.edu (18.172.1.2):
  496.         directory /pub/linux
  497.     sunsite.unc.edu (152.2.22.81):
  498.         directory /pub/Linux
  499.  
  500. [ Mirroring sites (some of them, there are lots now) ]
  501. AUSTRALIA:
  502.     kirk.bu.oz.au (131.244.1.1)
  503.         directory /pub/OS/Linux
  504. EUROPE:
  505.     src.doc.ic.ac.uk (146.169.3.7):
  506.         directory /pub/os/Linux
  507.     ftp.mcc.ac.uk (130.88.200.7):
  508.         directory pub/linux
  509.     ftp.dfv.rwth-aachen.de (137.226.4.105):
  510.         directory /pub/linux
  511.     ftp.informatik.rwth-aachen.de (137.226.112.172):
  512.         directory /pub/Linux
  513.     ftp.ibr.cs.tu-bs.de (134.169.34.15):
  514.         directory /pub/os/linux
  515.  
  516. US:
  517.     wustl.wuarchive.edu (128.252.135.4):
  518.         directory /pub/mirrors4/linux
  519.     ftp.eecs.umich.edu (141.212.99.7):
  520.         directory linux
  521. JAPAN:
  522.     utsun.s.u-tokyo.ac.jp (133.11.11.11):
  523.         directory misc/linux
  524.  
  525. You might want to check out which of these is the most up-to-date.
  526. Note that banjo.concert.net is no longer a Linux ftp site :(
  527.  
  528. If you have no FTP capability, you are in trouble. See the next Q/A.
  529. Also, you'll need the "UNCOMP.EXE" and "RAWRITE2.EXE" programs for DOS
  530. (to make your install disks). These are usually found in the Linux
  531. directories on the above FTP sites.
  532.  
  533.  
  534. QUESTION: I do not have FTP access, what can I do to get linux?
  535.  
  536. ANSWER: You can either read the next subsection related to BBS's
  537. otherwise, read the following.
  538.  
  539. The SLS release is distributable by snail-mail on floppies for those
  540. without net access; see the SLS section in section III of this FAQ for
  541. more. 
  542.  
  543. Try to contact a friend on the net with those access, or try
  544. mailserver/ftpmail server otherwise contact tytso@ATHENA.MIT.EDU. You
  545. might try mailing "mailserver@nic.funet.fi" with "help" in the body of
  546. the mail.  If you choose ftpmail server (example: ftpmail@decwrl.dec.com),
  547. with "help" in the body, the server will send back instructions and
  548. command list. As an exemple to get the list of files available at tsx-11
  549. in /pub/linux send:
  550.  
  551.         mail ftpmail@decwrl.dec.com
  552.         subject: anything
  553.         reply <your e-mail>
  554.         connect tsx-11.mit.edu
  555.         chdir /pub/linux
  556.         dir -R
  557.         quit
  558.  
  559. In Europe ftp.informatik.tu-muenchen.de is accessible via e-mail (send
  560. "help" in the body to ftp-mailer@informatik.tu-muenchen.de)
  561.  
  562.  
  563. QUESTION: Is there a newsgroup or mailing-list about linux? Where can
  564. I get my questions answered? How about bug-reports?
  565.  
  566. ANSWER: The comp.os.linux newsgroup is literally *teeming* with postings.
  567. So, to the first question, yes. :) The older newsgroup, alt.os.linux,
  568. is being phased out and shouldn't be used anymore.
  569.  
  570. If you don't have news access you can get the digest of postings via
  571. e-mail from: Linux-activists-request@news-digests.mit.edu. This list is
  572. gatewayed to the newsgroup as well. Only use the 'request' address for
  573. subscribe/unsubscribe messages; don't post those to the newsgroup or to
  574. the actual mailing list.
  575.  
  576. Questions and bug-reports can be sent either to the newsgroup or to Linus
  577. himself at "torvalds@kruuna.helsinki.fi", depending on which you find more
  578. appropriate. 
  579.  
  580.  
  581.  
  582. And last but not least there is the original mailing-list, which is
  583. now a multi-channel list. 
  584.         contact linux-activists-request@niksula.hut.fi
  585.  
  586.  
  587. QUESTION: Could you be more explicit about the multi-channel list?
  588.  
  589. ANSWER: Well, there are many things to say:
  590.    - these channels are rather devoted to hackers
  591.    - the ones I am aware of are: GCC, MGR, X11, SCSI, NEW-CHANNELS,
  592.      MSDOS (emulator discussion) , NORMAL, KERNEL, FTP, LAPTOP, DOC,
  593.      NET, CONFIGS, LINUXNEWS ... 
  594.    - whenever you want to JOIN or LEAVE a channel you have to
  595.      contact the request address
  596.    - you have to use special header (X-Mn-Key and Mn-Admin); X-Mn-Key
  597.      is *ONLY* for regular post, the X-Mn-Admin is for *REQUEST*
  598.  
  599. (Ari Lemmke: 1 Nov. 1992):
  600.     Hmmm.... It seems our list has now about 1500 users
  601.     in 21 channels (mailing lists). 3960 without uniq.
  602.  
  603.     "echo foo | mail linux-activists-request@niksula.hut.fi"
  604.     to get the Mail-Net User Guide.
  605.  
  606. QUESTION: How can I join the channel XXX on the linux-activists
  607. mailing list?
  608.  
  609. ANSWER: just send a mail to the request address with help in the body;
  610. you will get back a mail which gives you the list of channels and the
  611. way to join/leave them. Basically you send mail to the request address
  612. with the line:
  613.    X-Mn-Admin: join <channel>
  614.  
  615.  
  616. QUESTION: How can I leave the channel XXX on the linux-activists
  617. mailing list?
  618.  
  619. ANSWER: Same as above, basically. You send mail to the request address
  620. that contains the line:
  621.    X-Mn-Admin: leave <channel>
  622.  
  623. QUESTION: I'm not an hacker, what are the channels I could be interested
  624. in? 
  625.  
  626. ANSWER: Probably these are the most interesting for you (IMHO)
  627.  
  628. Channel NORMAL:
  629. ~~~~~~~~~~~~~~~
  630.  
  631. Channel normal is the former Linux-Activists mailing list
  632. (all the people who were on the old Linux-Activists list
  633. are moved to this channel).
  634.  
  635.  
  636. Channel DOC:
  637. ~~~~~~~~~~~~
  638.  
  639. This channel is for Linux document "project". Discussion about Linux
  640. documents, manuals, papers, etc.  
  641.  
  642. Channel CONFIGS:
  643. ~~~~~~~~~~~~~~~~
  644. This channel will be devoted to send submissions of systems that have
  645. Linux already running, AND those that, for any reason, can't get it  
  646. to work yet.
  647.  
  648. Mainly, what it's need from all the channel users is to send their
  649. hardware configuration list (as complete as possible). Include
  650. anything that you feel pertinent for information: CPU,
  651. motherboard, RAM amount, HD & floppy controller, BIOS, monitor,
  652. video card & memory, network adapter, etc. If you are having trouble
  653. with your current system, or you find out that a program doesn't work
  654. properly on your system due to a HARDWARE problem, it may be useful  
  655. for us to know your configuration; maybe you can get a lot of help. 
  656.  
  657. Channel LINUXNEWS:
  658. ~~~~~~~~~~~~~~~~~~
  659. The LINUXNEWS channel will be used for distribution of Linux News, a
  660. weekly (if I can find the time) summary of things that happen in the
  661. Linux community.  Discussion is not encouraged, if you have complaints
  662. or suggestions, send them directly to me (Lars.Wirzenius@helsinki.fi).
  663.  
  664. Channel NEW-CHANNELS:
  665. ~~~~~~~~~~~~~~~~~~~~~
  666.  
  667. On the future users on this channel get the information about new
  668. channels created. 
  669.  
  670. By this way you can join the channels you want, and do not need to
  671. send mail to Mail-Net info server or listen rumours.
  672.  
  673. QUESTION: Does there exist a place where the traffic of the newsgroup
  674. is kept?
  675.  
  676. ANSWER: Yes, on nic and tsx-11 (see the ftp addresses above), and since
  677. 12th March, a Gopher server is up at beryl.daimi.aau.dk (130.225.16.86).  
  678. The archives go back to Nov. 18. 91. Also recently a WAIS server for the
  679. linux mail archive has been setup at fgb1.fgb.mw.tu-muenchen.de. Contact
  680. tw@fgb1.fgb.mw.tu-muenchen.de for more info. 
  681.  
  682.  
  683.  
  684. II.B OBTAINING LINUX FROM BBS'S
  685. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  686. *** This section is maintain by Zane Healy (healyzh@holonet.net)
  687. *** Last Update November 1992.
  688.  
  689. QUESTION:  I don't have access to FTP, how can I obtain Linux?
  690.  
  691. ANSWER:  Linux is available from various BBS's around the world.
  692.  
  693. QUESTION:  I got this FAQ from a local BBS, or a friend, and I see there
  694. is a newsgroup called comp.os.linux .  I don't have access to USENET or
  695. mail, so how can I get the messages?
  696.  
  697. ANSWER:  Some of the BBS's on FidoNet carry comp.os.linux as a FidoNet
  698. conference.  Also some of the other BBS's carry it in some form or other.
  699.  
  700. QUESTION:  Do BBS's offer anything that the Internet does not?
  701.  
  702. ANSWER:  Yes, on the information side there are the UNIX conferences on
  703. both the RIME network and FidoNet.  Although they are not dedicated to
  704. linux, a large amount of the messages are linux related.  Also at least
  705. one software package being developed for linux, and also one port is
  706. available via BBS's long before they are available via anonymous FTP. 
  707.  
  708. QUESTION:  What is a BBS?
  709.  
  710. ANSWER: A BBS is a Bulletin Board System, it let's you transfer message's
  711. and file's via your phone line and all you need is a computer with
  712. communications software and a modem.  Some BBS's transfer message's among
  713. each other forming large computer network's similar to USENET.  The most
  714. popular of these in the US are FidoNet and RIME.
  715.  
  716. QUESTION:  How can I get a (Near) complete list of BBS's that carry Linux?
  717.  
  718. ANSWER:  I (Zane Healy) post a list of all known BBS's that carry Linux
  719. to comp.os.linux as well as the RIME and Fidonet UNIX conferences on the
  720. 1st and 15th of each month.
  721.  
  722. QUESTION:  Now that I have a phone number, how do I go about accessing a
  723. BBS?
  724.  
  725. ANSWER: 
  726.  
  727. 1. You need a computer equipped with communications software and a modem.
  728.  
  729. 2. For ALMOST all BBS's you will need to set the comm software up for:
  730.     8 - Data Bits
  731.     N - Parity
  732.     1 - Stop Bit
  733.  
  734.    Although certain BBS's and Communication services require that the 
  735. software be set for:
  736.     7 - Data Bits
  737.     E - Parity
  738.     1 - Stop Bit
  739.    
  740.    You will also need to set the comm software for the correct speed,
  741. either the top speed, or the max speed for your modem.
  742.  
  743. 3. Using the comm software, call the BBS.  Once you connect with the BBS
  744. (this may take awhile, as other people are likely to be using it), you
  745. will be asked some questions. 
  746.    If you are a registered user of the BBS it will normally only ask for
  747. your name and password.  However if you are not a registered user, it
  748. will most likely require that before you do anything, you register.  The
  749. method of registration varies from BBS to BBS. 
  750.    Normally the first thing that will happen is, you sign on to the BBS, 
  751. and tell it your name.  It will then check it's list of user's and see
  752. that you are not one of them.  At which time it will ask you if you are a
  753. new user, or if you wish to re-enter your name.  When you tell it you are
  754. a new user, it will then ask you some questions about yourself, such as
  755. where you are calling from and your phone number.  A lot of BBS's will
  756. want some statistical info such as what type of computer you are using,
  757. your communications software, your age, etc, etc.
  758.    After this, most BBS's require some sort of validation, this is for
  759. the System Operator's (SysOp's) protection.  One type is where you give
  760. the BBS software your phone number, hang up, and the BBS calls your
  761. computer to verify that you gave it legitament phone number.  Some BBS's
  762. require that you mail the SysOp a postcard.  Most, however just require
  763. that you give the SysOp the request info and then he upgrades your level
  764. of access a couple of day's later.
  765.    For the most part you will find that the registration process is easy
  766. to follow and well documented.
  767.  
  768. QUESTION:  There is a local BBS that carries Linux, but it isn't on the
  769. latest Linux BBS List.  How do I go about submitting it for inclusion in
  770. the list? 
  771.  
  772. ANSWER:  Send the following information on the BBS to me:
  773.  
  774.                        BBS Name:
  775.                        Phone Number:
  776.                     Modem Speed:
  777.                  City and State/Country:
  778. Whatever Network it's on (i.e. FidoNet, RIME, etc.):
  779.      First Time access to D/L Linux Files (Y/N):
  780.            Free Access to Linux Files (Y/N):
  781.               Allow File Requests (Y/N):
  782.                    BBS Rating (1-5):
  783.  
  784. I can be reached at one of the following E-Mail Addresses:
  785.          Internet -- healyzh@holonet.net
  786.        CompuServe -- 70332,14
  787.           Prodigy -- SCNN49A
  788.      Fido NetMail -- Zane Healy at 1:109/615
  789.  RIME UNIX Conference -- Zane Healy
  790.  
  791. QUESTION:  What can I do to help ensure the continued development of
  792. Linux?
  793.  
  794. ANSWER:  PLEASE UPLOAD FILES TO BBS'S
  795.  
  796.    I would like to point out that a very large number of the Linux
  797. enthusiasts don't have FTP access.  In fact it is possible that by now
  798. most of the Linux fan's don't.  So I would like to suggest that those of
  799. us that do, find at least one BBS to post the Linux file's to.  I, for
  800. one post every file that I get to at least one of the local BBS's, and
  801. from there they the file's tend to find there way to other local BBS's.
  802. I've seen posts about the future of Linux etc., well here is a way to
  803. help guarantee it.  I think it's safe to assume that most people with FTP
  804. access also have a modem.  So how about doing other Linux fan's a favor
  805. and finding a BBS to upload the Linux files to.
  806.  
  807. QUESTION:  How do I read the data contained in the Linux BBS List?
  808.  
  809. ANSWER:  The list uses the following format:
  810.  
  811. State   YYY  BBS Name                Phone Number    Modem Speed
  812. Rating       City                    Other data
  813.  
  814. The BBS's are rated by the number of Linux related file's that they
  815. carry.  This is so you can choose one's that has a better chance of
  816. carrying the file's you are looking for if you are calling long distance.
  817. The BBS's are rated on a scale of one to five.
  818.  
  819.   1 -- Only enough the most basic of files
  820.   2 -- The basics and a little more
  821.   3 -- So, so
  822.   4 -- A respectable amount
  823.   5 -- Pretty much everything you need
  824.  
  825. Information about the boards access policies can be obtained by
  826. checking a three digit field.
  827.  
  828.   YYY -- Either a Yes/No/? answer to the question
  829.   |||
  830.   ||Free access to Linux files
  831.   |Allow file requests (FidoNet)
  832.   First time D/L of Linux related files
  833.  
  834. NOTE: Just because a board has N's in the first two fields does not
  835. mean that it is a board to stay away from.  A lot of boards require
  836. that you register and be verified before you can access most of their
  837. features, hence the first N.  The second field is, to the best of my
  838. knowledge, limited to BBS's that are part of FidoNet.
  839.    
  840. QUESTION:  What are some of the best BBS's to check out?
  841.  
  842. ANSWER:            
  843.  
  844. In the US:
  845.  
  846. CA  YNY hip-hop                 408-773-0768 14.4k V.32bis/HST
  847.   5     Sunnyvale               Login: guest (no password)
  848. DC  NNY When Gravity Fails      202-686-9086    14.4k
  849.   5     Washington
  850. FL  ??? Slut Club               813-236-1232    14.4k
  851.   5     Tampa/St.Pete           Fidonet 1:377/42
  852. GA  YYY Information Overload    404-471-1549    9600 HST 
  853.   5                             FidoNet 1:133/308
  854. ID  ??? Rebel BBS               208-887-3937    9600
  855.   5     Boise
  856. IL  YYY EchoMania BBS           618-233-1659    14.4k HST
  857.   3     Belleville              Fido 1:2250/1  (f'reg LINUX)
  858.     F'reqs from unlisted nodes, online callback verifier (works L.D.)
  859. MD  ??? Brodmann's Place        301-843-5732    14.4k
  860.   5     Waldorf                 RIME ->BRODMANN
  861. NC  ??? MAC's Place             919-891-1111   DS modem 
  862.   5     Dunn                    RIME ->MAC
  863. NY  YYY Prism BBS,Middleton     914-344-0350    9600 HST/v.32   
  864.   5     Middletown, NY          Fidonet 1:272/38
  865. NY  YYY The Laboratory          212-927-4980    16.8k HST, 14.4k v.32bis
  866.   3-4                           FidoNet 1:278/707
  867. OR  YYY Intermittent Connection 503-344-9838    14.4k HST v.32bis   
  868.   5     Eugene, Ore             1:152/35
  869. TX  YYY Advanced BBS            512-578-2720    9600    
  870.   5     Victoria, TX            Fidonet 1:3802/215
  871. VA  ??? VTBBS                   703-231-7498
  872.   5     Blacksburg
  873. WA  YYY S'Qually Holler         206-235-0270    9600 
  874.   5     Renton                  Fidonet 1:343/34
  875.  
  876. And here are all the known BBS's outside the US:
  877.  
  878. AUSTRALIA:
  879. NSW YYN Linux-Support-Oz        +61-2-418-8750         2400
  880.   2-3   Sydney                  Intlnet, SBCNet
  881. ?   ??? 500cc Formula 1 BBS     +61-2-550-4317 V.32
  882.   ? (2-3) 
  883. CANADA:
  884. ON  ??? EX-10 Kitchner         519-725-4400
  885.   ?
  886. ON  ??? Ned's Ottawa           613-739-1591
  887.   2
  888. ON  ??? Bytown                 613-236-1232 
  889.   2                             SmartNet
  890. PQ  ??? Synapse                819-246-2344  819-561-5268
  891.   5     Gatineau               RIME->SYNAPSE
  892. GERMANY:
  893.     ??? bakunin.north.de        00 49 421 870532        9600
  894.   ?     D 2800 Bremen           kraehe@bakunin.north.de
  895.     ??? ??????????????          +49-40-735-5349         14.4k
  896.   1
  897.     ??? Hipposoft's Mail Server +49-241-875090          14.4k V.32bis/HST
  898.   3     D-W5100 Aachen          Fidonet 2:242/6
  899. IRELAND:
  900.     ??? TOPPSI                  +353-1-711047 or 773547 9600
  901.   ?                             Fidonet 2:263/151
  902. NORWAY:   
  903.     ??? Thunderball Cave        472567018     
  904.   ?                             RIME ->CAVE ?
  905. NETHERLANDS:
  906.     ??? DownTown BBS Lelystad, Linux Support BBS        14.4k
  907.   ?                             +31-3200-48852 FIDONET
  908. SOUTH AFRICA:
  909.     ??? Andre Skarzynski - Linux Activists of Southern Africa
  910.   ?     +27 2231 78148 (Is this voice or data?)
  911. UNITED KINGDOM:
  912.     NYN The Purple Tentacle     +44-734-590990          HST/V32bis
  913.   3-4   Reading                 Fidonet 2:252/305 
  914.     ??? A6 BBS                  +44-582-460273          14.4k
  915.   ?     Herts                   Fidonet 2:440/111
  916.  
  917.  
  918. III. INSTALLATION and COMMON PROBLEMS
  919. =====================================
  920. *** Note: this FAQ section should be kept up-to-date, and should
  921. *** be the most 'reliable' source for installation info. Please mail
  922. *** any corrections or changes to this section's coordinator, 
  923. *** Matt Welsh (mdw@tc.cornell.edu). 
  924. *** Last update November 1992.
  925.  
  926. III.A. WHERE TO START: What are the reliable sources of information
  927. III.B. LINUX PACKAGES: Where and how install a complete Linux package
  928. III.C. SOME COMMON PROBLEMS: Simple problems and simple solutions
  929.  
  930. III.A. WHERE TO START
  931. ~~~~~~~~~~~~~~~~~~~~~
  932.  
  933. QUESTION: I want to install Linux on my machine. Where do I start?
  934.  
  935. ANSWER: The first thing you should do is read through the various
  936. introductory files, and ESPECIALLY the FAQ (this file). Especially
  937. this section :). A lot of effort has been done on these intro files,
  938. but note that some of them conflict with each other and cover older
  939. versions of Linux. When in doubt consult this file.
  940.  
  941. These files are all found on tsx-11.mit.edu:/pub/linux/docs...
  942.  
  943.   FAQ
  944.   The Linux Frequently Asked Questions list
  945.     It's sitting in your hands now. This section is probably the best
  946.     place to start to get the most up-to-date Linux installation
  947.     information.
  948.  
  949.   INFO-SHEET 
  950.   Linux Information Sheet, by J. Winstead
  951.     This is J. Winstead's general information sheet on Linux, and along
  952.     with this FAQ is a good place to start for info.
  953.  
  954.   RELNOTES-xxxxx
  955.   Linux version xxxxx Release Notes, by Linus Torvalds
  956.     This is Linus's release notice for version xxxxx of the kernel.
  957.   
  958.   guide.txt      
  959.   Beginner's Guide to Linux for DOS Users, by C. Boyer
  960.     Last version was for Linux 0.95a. A bit dated, but still has
  961.     lots of useful information for getting started on Linux.
  962.     WARNING: Note that much information in this guide is OBSOLETE!
  963.  
  964.   install.notes  
  965.   Beginner's Installation Guide, by I. Reid
  966.     Last version was for Linux 0.95a. Generally covers how to install 
  967.     Linux using the "bootdisk/rootdisk" combo (for a basic setup): this
  968.     is discussed below. 
  969.     WARNING: Note that some information in this guide is OBSOLETE!
  970.  
  971.   INSTALL-xxxxx
  972.   Install notes for version xxxxx of Linux, by J. Winstead
  973.     This is Jim Winstead's installation notes on the "bootdisk/rootdisk"
  974.     combo, much like "install.notes" above. The last version for this
  975.     was 0.96. More recent copies are on the rootdisk itself, so follow
  976.     the directions below and read the file ON the rootdisk for more.
  977.  
  978.   CHANGES-xxxxx
  979.   Changes to the version xxxxx rootdisk, by J. Winstead
  980.     These are the notes on the changes to the most recent version 
  981.     of Jim Winstead's "rootdisk". Notes on that are below.
  982.  
  983.   README.kernel
  984.   Kernel compilation README file, by L. Wirzenius
  985.     This is the README notes for recompiling the Linux kernel from the
  986.     sources. You don't need it unless you're planning to upgrade
  987.     your kernel by compiling it yourself.
  988.  
  989.   Others
  990.     Every "release" of Linux (such as MCC-interim, SLS, HLU's disks, etc.,
  991.     see below) has its own up-to-date README files and docs that explain
  992.     how to install that release. This FAQ section summarizes, but for more
  993.     info on how to install Linux, read the READMEs and docs for the release 
  994.     that you choose.
  995.  
  996.  
  997. QUESTION: Is there some kind of limit on how large my Linux partitions
  998. and/or filesystems can be?
  999.  
  1000. ANSWER: There's no limit on partition size (just the size of your drive),
  1001. but Linux mainly uses the minix filesystem which limits filesystems to
  1002. 64 megs each. You can also use the extended filesystem (which is still
  1003. in testing, but has been included with recent kernel versions) which has
  1004. a limit of 4 terabytes. Probably enough unless you have a disk array. :) 
  1005.  
  1006. III.B. LINUX PACKAGES
  1007. ~~~~~~~~~~~~~~~~~~~~~
  1008. This section contains information about *SOME* of the possible Linux
  1009. packages  available. The information related to the MCC package  were
  1010. written by A.V. Le Blanc. 
  1011.  
  1012.  
  1013. QUESTION: Does there exist a way to get all (or nearly all) of the Linux
  1014. stuff?
  1015.  
  1016. ANSWER: Yes. To install Linux, you're going to want to choose one of the
  1017. "releases" of Linux, all of which have a different method of installation
  1018. and set up. Each release also has its own README and installation docs,
  1019. which you'll want to read first. But I'll summarize here. The major
  1020. releases are:
  1021.  
  1022.    * The "bootdisk/rootdisk" combo
  1023.      Linus's "bootdisk" (a kernel) and Jim Winstead's "rootdisk" 
  1024.      which contains the tools for installing a basic Linux system 
  1025.      to hard disk. See below for more.
  1026.  
  1027.    * H.J. Lu's "bootable rootdisk"
  1028.      Essentially the same as the "bootdisk/rootdisk" combo, above, but
  1029.      contains several disks: one bootable kernel/root filesystem disk, a
  1030.      disk for GCC, and disk(s) for misc tools and GCC libraries. As HLU 
  1031.      himself puts it, this release is best used as a system backup (it
  1032.      doesn't have installation scripts; if you want to install a system 
  1033.      from it you have to do it yourself). This is still a fairly new
  1034.      release. The images and docs are found at tsx-11.mit.edu:/pub/linux.
  1035.  
  1036.    * The "MCC Interim Release" ("Manchester Computing Centre")
  1037.      Several (at this point, seven) disk images that contain the
  1038.      Linux kernel, root filesystem, and binaries for every major
  1039.      program that you'll need, including GCC, file utils, bash,
  1040.      everything. Everything, that is, except X11 (which is easy to
  1041.      install on top of this release). The MCC interim release is
  1042.      very easy to install, and contains all the programs you'll
  1043.      need to partition your hard drive and create filesystems, etc.
  1044.      first before installing the Linux system itself. See below
  1045.      for more.
  1046.     *LAST UPDATE* kernel 0.97.2, a bit dated :(
  1047.  
  1048.    * The "Softlanding Linux System Release"
  1049.      Also known as the "SLS" release, consists of 14 disks for Linux
  1050.      and 8 for X11. The nice thing about this release is that you can
  1051.      pick and choose which disks and packages you want to install. The
  1052.      first 2 disks must be "rawritten" (using rawrite.exe) on floppies,
  1053.      and the rest of the images are put onto DOS format floppies. 
  1054.      Contains all of the stuff in the MCC release plus a lot more
  1055.      (like mail/uucp), and includes X11 on the last 5 disks. Is also
  1056.      very easy to install for newcomers.
  1057.  
  1058.    * Others
  1059.      There are other releases and distributions of the Linux software,
  1060.      such as the "sc.tamu" and "MJ" releases. 
  1061.     
  1062.  
  1063. QUESTION: Where can I get these versions of Linux?
  1064.  
  1065. ANSWER: The "bootdisk/rootdisk" combo can be found at tsx-11.mit.edu:
  1066. /pub/linux/INSTALL, as well as at many mirror sites (which is true
  1067. for ALL of this software). 
  1068.  
  1069. H.J. Lu's "bootable rootdisk" release is found at tsx-11.mit.edu:
  1070. /pub/linux/packages/GCC, as well as the mirror sites.
  1071.  
  1072. The MCC Interim release is at ftp.mcc.ac.uk:/pub/linux/mcc-interim. It's
  1073. also mirrored to nic.funet.fi: /pub/OS/Linux/images/mcc-interim, and 
  1074. tsx-11.mit.edu: /pub/linux/mirrors/mcc-interim. 
  1075.  
  1076. The MJ release (discussed more below) can be found at ftp.dfv.rwth-aachen.de:
  1077. /pub/linux/mj-bin. 
  1078.  
  1079. The SLS release is at tsx-11.mit.edu:/pub/linux/packages/SLS. 
  1080.  
  1081. The sc.tamu versions can be found at sc.tamu.edu:/pub/free_unix.
  1082.  
  1083.  
  1084. QUESTION: What should I get to install the bootdisk/rootdisk combo
  1085. release? 
  1086.  
  1087. ANSWER: FTP to one of the major Linux sites, such as tsx-11.mit.edu
  1088. (directory /pub/linux/INSTALL) or sunsite.unc.edu (directory
  1089. /pub/Linux) and get the files (you may have to look through some
  1090. subdirectories): 
  1091.    rawrite.exe (or rawrite2.exe) -- DOS executable to write the
  1092.        images to floppies
  1093.    bootimage-CURRENT_VERSION.Z  -- The kernel bootimage floppy itself
  1094.    rootimage-CURRENT_VERSION.Z -- The root filesystem and installation floppy
  1095.  
  1096.    Also get the associated README files.
  1097.  
  1098. Then transfer these files to DOS, uncompress the two images (you can  
  1099. either uncompress them under UNIX using the "uncompress" command or 
  1100. with the DOS executable "uncomp.exe"), and run rawrite on them.
  1101. Note that rawrite2.exe may have problems on some drives and setups; 
  1102. rawrite.exe is older but more trustworthy. Rawrite will copy,
  1103. sector-by-sector, the two images to two newly formatted floppies (of
  1104. course when this is done the floppies no longer work under DOS). 
  1105.  
  1106. Note: you can also just use "dd" on your UNIX system (if it has a
  1107. floppy drive attached to it) to copy the images to floppies. Something
  1108. like "dd if=bootimage-KERNEL_VERSION of=/dev/fd0" should work; consult
  1109. your system's manuals for the exact device name of the floppy drive.
  1110. You can also try "cat bootimage-KERNEL_VERSION > /dev/fd0"
  1111.  
  1112. Now you have two floppies: one with the bootimage and the other with the
  1113. rootimage. Boot off of the bootimage disk and, when prompted, insert the
  1114. rootimage disk. You're all set... look at the README files on the
  1115. rootimage disk. To install the system from this disk you generally
  1116. log in as "install" and follow the procedures outlined in the READMEs
  1117. to create and format Linux partitions on your hard drive, install the
  1118. software, and so on. 
  1119.  
  1120. Note: with the bootimage/rootimage combo release, even though you
  1121. can install Linux on your hard drive, you can't BOOT Linux from your
  1122. hard drive (you have to boot from a kernel floppy, the only drawback
  1123. of which is that it's slower booting but afterwards you can take out
  1124. the floppy and everything). To boot from your harddrive you have to
  1125. install either the "LILO" program which changes the boot sector of your 
  1126. harddrive. This program is included with the MCC Interim and the SLS
  1127. releases, or you can get is from one of the FTP sites seperately.
  1128.  
  1129.  
  1130. QUESTION: What are the files /bin/sh and /bin/tar provided on the
  1131. 0.97 rootdisk image (rootdisk-0.97)?
  1132.  
  1133. ANSWER: This image has been setup by Jim Winstead Jr, thanks to him.
  1134. The bin/sh is bash, the GNU tar is NOT on the root disk, instead the
  1135. PAX utility is there, NOTICE that this pseudo-tar does NOT handle the
  1136. 'z' option for compressed tar files, instead you have to do the
  1137. following assuming the tared compressed file is myfile.Z and you want
  1138. to test it (flag t):
  1139.  
  1140.       uncompress -c myfile.Z | tar tvf -
  1141. or
  1142.       zcat myfile.Z | tar tvf -
  1143.  
  1144. But otherwise it works fine.
  1145.  
  1146.  
  1147. QUESTION: How do I get and install H.J. Lu's "bootable rootdisk" release?
  1148.  
  1149. ANSWER: Basically follow the directions above for the 2-disk "combo"
  1150. release (i.e. get the images, rawrite them to high-density DOS formatted
  1151. floppies, boot off the boot disk). This release doesn't contain
  1152. user-friendly installation scripts; it's meant for those who can install
  1153. the images from the disks by hand (the READMEs contain instructions on
  1154. doing this). 
  1155.  
  1156.  
  1157. QUESTION: What is the MCC interim version of Linux?
  1158.  
  1159. ANSWER: The MCC (Manchester Computing Centre) versions of Linux are
  1160. designed to provide an installation/recovery system for Linux at
  1161. various release levels.  As of Sept 92, five MCC versions of Linux
  1162. have appeared at intervals of 6-8 weeks.  The current versions include
  1163.  
  1164. basic system utilities, many GNU utilities, man pages, groff, gcc and
  1165. g++, gdb, and full kernel sources.  MCC interim Linux is distributed
  1166. entirely on floppy disk images, of which there are 7 in release
  1167. 0.97p2 (boot, utilities, misc, comp1, comp2, g++, and gdb).  The
  1168. original intention was to create a basic Linux installation on two
  1169. floppies, and other disks have been added in the course of time.
  1170.  
  1171.  
  1172. QUESTION: What are the advantages and drawbacks of using MCC or another
  1173. version over using the standard boot/root disks?
  1174.  
  1175. ANSWER: It is not possible to keep a large distribution like the MCC
  1176. interim versions absolutely up-to-date; if you want the very latest
  1177. copy of one or another program, you must get it from one of the ftp
  1178. sites yourself, and it might not cooperate with existing utilities.
  1179. On the other hand, MCC interim versions provide a large number of
  1180. utilities in a simple form, compiled in the same way, and integrated
  1181. into a fairly stable system.  An MCC version of Linux will not have
  1182. its bugs fixed as rapidly.
  1183.  
  1184.  
  1185. QUESTION: How is installing MCC interim Linux different from installing
  1186. Linux from the standard boot/root disks?
  1187.  
  1188. ANSWER: The MCC interim versions of Linux do not use a floppy as their 
  1189. root disk; instead they use a ramdisk contained on the boot image.
  1190. This means that more programs can fit on fewer disks, but that more
  1191. memory is used during installation.  This may cause problems on
  1192. systems with only 2megabytes of memory.  Also, parts of the MCC
  1193. interim systems may assume that some utility or library has been
  1194. installed from the same MCC interim system, and so may not work
  1195. properly if you have installed Linux from the standard root/boot
  1196. disks. 
  1197.  
  1198. QUESTION: How can I find out more about the MCC interim versions of
  1199. Linux?
  1200.  
  1201. ANSWER: The file README in mcc-interim/0.97p2 at the various sites
  1202. mentioned describes the available files.  The file README.install in
  1203. the same directory describes the installation in detail.
  1204.  
  1205. QUESTION: How do I go about installing the MCC Interim release?
  1206.  
  1207. ANSWER: FTP to ftp.mcc.ac.uk:/pub/linux/mcc-interim or one of the
  1208. mirror sites and grab all of the images and the gobs of README files.
  1209.  
  1210. Just rawrite these images to floppies and boot from the boot-US (or
  1211. boot-UK) image (read the Q/A above on the bootdisk/rootdisk combo for
  1212. instructions on using rawrite and so on).  The reason you have a US and a UK 
  1213. boot and util disk is that the keyboard codes are different depending on the 
  1214. country.
  1215.  
  1216. After booting the boot disk, you'll be prompted to put in the util-US (or 
  1217. util-UK) disk and proceed with the installation. The basic steps that you'll 
  1218. take are: 
  1219.  
  1220. -- run fdisk to create Linux partitions
  1221. -- reboot from the boot floppy, then put in the util disk when asked
  1222. -- run mkfs to make filesystems and mkswap to make swap space on those 
  1223.    partitions
  1224. -- Mount each of the disks in turn and run the install script on each
  1225.    of them 
  1226.  
  1227. It's actually pretty simple, and the installation scripts take care of
  1228. most of the work. The tough part is making the partitions and
  1229. filesystems, just read the "README.fdisk" with the MCC release on how
  1230. to do this.  
  1231.  
  1232.  
  1233. QUESTION: Any information about the MJ-stuff ?
  1234.  
  1235. ANSWER: The MJ-release was meant originally to allow users to upgrade their
  1236. Linux system to the shared library structure. However, this setup has been
  1237. standard for some time, and the other releases already incorporate this.
  1238. You can still check it out: Following Wayne Davidson advice "the mcc-interim
  1239. distribution has slightly smaller binaries on it, so I only used the
  1240. mj set to fill in a few extra executables that I was missing.  Now I
  1241. not only have more executables on my disk than before but more free
  1242. disk space than I started with." mj**** is the Martin Junius package
  1243. and can be found at ftp.dfv.rwth-aachen.de in pub/linux/mj-bin.
  1244.  
  1245.  
  1246. QUESTION: What's about SLS ?
  1247.  
  1248. ANSWER: (this is part of the FAQ written for SLS 0.98p5 by Peter
  1249. MacDonald).
  1250. SLS (Softlanding Linux System) Copywrite 1992, Softlanding Software.
  1251.  
  1252. which is NOT just an image dump of someones Unix system.
  1253.  
  1254. Also note that in the interest of preventing ftp storms, the version
  1255. of SLS that appears on the internet, is not quite the same as the
  1256. version distributed by Softlanding.   Softlanding regularly gets a
  1257. whole new version which has the changes integrated.   But the updates
  1258. to the Internet version are tailored to minimize the amount that has
  1259. to be downloaded to become current.  That is why bugs manage to creep
  1260. in on me.  I am not installing and testing the Internet version, 
  1261. although, functionally, it should be quite close to the Softlanding
  1262. one.  
  1263.  
  1264. So, why am I telling you this?  After the next period of stability
  1265. (few changes to SLS), I will be uploading the Softlanding version of
  1266. SLS to tsx-11.mit.edu.
  1267.  
  1268. This distribution is freely available if you have internet 
  1269. access, or an obliging friend with access to it.
  1270.  
  1271. The purposes of the SLS are the following:
  1272. 0) provide an initial installation program (for the queasy).
  1273. 1) utilities compiled to use minimal disk space.
  1274. 2) provide a reasonably complete/integrated U*ix system.
  1275. 3) provide a means to install and uninstall packages.
  1276. 4) permit partial installations for small disk configs.
  1277. 5) add a menu driven, extensible system administration.
  1278. 6) take the hassle out of collecting and setting up a system.
  1279. 7) give non internet users access to Linux.
  1280. 8) provide a distribution that can be easily updated.
  1281.  
  1282. SLS is a binary mostly distribution (except for the kernel), and is
  1283. broken into multiple parts, or series, each of which is denoted by a letter
  1284. followed by the disk number as follows:
  1285.  
  1286.     a1-aN: The minimal base system
  1287.     b1-bN: Base system extras, like man pages, emacs etc.
  1288.     c1-cN: The compiler(s), gcc/g++/p2c/f2c
  1289.     x1-xN: The X-windows distribution
  1290.     i1-iN: Interviews (doc and idraw)
  1291.     t1-tN: TeX (document processing)
  1292.  
  1293. This scheme allows new disks to be added to the distribution without
  1294. changing the disk numbering.  Also, the sysinstall program doesn't
  1295. have to be changed when new disks are added as the last disk is marked
  1296. by the presence of the file "install.end".  And when interviews is
  1297. added, say as a new series "i", it can be installed with: 
  1298.  
  1299.     sysinstall -series i
  1300.  
  1301. Highlights of the base are:  gcc/g++, emacs, kermit, elm/mail/uucp,
  1302. gdb, sc (spreadsheet), man pages, groff, elvis, zip/zoo/lh and menu.
  1303. Highlights of X are: X, programmers libs, 75 dpi fonts, games (spider,
  1304. tetris, xvier, chess, othello, xeyes, etc) and utilities like xmag,
  1305. xmenu, xcolormap and ghostscript.  Approximate usage is as follows: 
  1306.  
  1307. Tiny base system:        9 Meg  (Series 'a')
  1308. Main base system:       25 Meg  (Series 'a', 'b' and 'c')
  1309. Main base system + X11: 45 Meg  (Series 'a', 'b', 'c' and 'x')
  1310.  
  1311. Please read the file COPYING which outlines the GNU copying 
  1312. restrictions.  The linux kernel is copywrite Linux B. Torvalds.
  1313. Various other copywrites apply, but the upshot is that you
  1314. may do whatever you like with SLS, except restrict others
  1315. in any way from doing likewise, and you must leave all copywrites
  1316. intact, and you can not misrepresent or take credit for others work.
  1317.  
  1318.         AVAILABILITY
  1319.  
  1320. SLS is available from the address: 
  1321.  
  1322.     Softlanding Software               
  1323.     910 Lodge Ave. 
  1324.     Victoria, B.C., Canada             
  1325.     V8X-3A8            
  1326.     (604) 360-0188
  1327.  
  1328. More details about SLS can be asked to pmacdona@sanjuan.uvic.ca
  1329.  
  1330. QUESTION: How do I go about getting and installing the SLS release?
  1331.  
  1332. ANSWER: Ftp to one of the Linux sites and check out the files in the
  1333. "SLS" directory (usually under "packages" in the Linux directory). 
  1334. The README files there explain it all; basically you download the 
  1335. images (which are almost all DOS format files), rawrite the boot
  1336. disk to a floppy, and boot from it. Because the SLS release files are
  1337. DOS format, you don't have to rawrite them: the SLS installation reads
  1338. them directly. You can also get the SLS release on floppies by
  1339. snail mail for a nominal fee (for non-netters). See the SLS README
  1340. file for details.
  1341.  
  1342.  
  1343. III.C. SOME COMMON PROBLEMS
  1344. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1345.  
  1346. QUESTION: How can I boot Linux off of my hard drive? 
  1347.  
  1348. ANSWER: You need to install the "LILO" program which changes the boot
  1349. sector of your hard drive to allow you to choose between a DOS or a Linux
  1350. partition to boot from. These programs are provided with most major
  1351. releases, or you can  get them seperately from one of the FTP sites.
  1352.  
  1353.  
  1354. QUESTION: I have the previous Linux version, how can I upgrade it?
  1355.  
  1356. ANSWER: If you've never done this before, get the kernel sources from
  1357. your nearest FTP site (in a file named something like linux-*.tar.Z)
  1358. and unpack them into /usr/src/linux. Then edit the Makefile to your
  1359. taste, and run "make". Assuming you have GCC installed correctly, the
  1360. kernel should compile and you'll be left with a new "Image" which is your
  1361. new kernel: if you boot from harddrive, copy the Image to wherever you
  1362. told LILO to look for it, or if you boot from floppy dd the Image to a
  1363. new floppy. Make sure that you run "rdev" on the Image to make it look
  1364. for the correct partition for your root filesystem (if you specified
  1365. this correctly in the Makefile you don't need to do this). 
  1366.  
  1367. Note: You may need to get the new sources for programs like "mount" or
  1368. "ps"  corresponding to your new kernel version as well. These programs
  1369. tend to change with each kernel version, so after making your new kernel
  1370. make sure you have the most recent versions of these programs and compile
  1371. them. 
  1372.  
  1373. If you HAVE done this before, you can just apply the source patches to
  1374. your old sources and then recompile (i.e. you don't have to get the
  1375. entire kernel sources all over again). Use the "patch" program to do
  1376. this.  
  1377.  
  1378.  
  1379. QUESTION: How can I be sure I won't be writing over anything
  1380. important?  I have to use DOS on my machine, and I don't want to
  1381. lose any files.
  1382.  
  1383. ANSWER: Back up everything. Just in case. Then, write some easily
  1384. recognizable pattern to the partition you have reserved for linux,
  1385. using some DOS tool. You can then use "cat /dev/hdX" under linux to
  1386. examine which of the partitions you used.
  1387.  
  1388.  
  1389. QUESTION: Linux mkfs doesn't accept the size I give the device, although
  1390. I double-checked with fdisk, and it's correct.
  1391.  
  1392. ANSWER: Be sure you give the size in Linux BLOCKS (1024 bytes), not
  1393. sectors. Also make sure that you have the right partition: partitions
  1394. are numbered "/dev/hda1", "/dev/hda2", and so on (and "/dev/hdb1",
  1395. "/dev/hdb2" for the second hard drive)... DON'T use "/dev/hda" or
  1396. "/dev/hdb" as they correspond to the entire disk, not just single 
  1397. partitions.
  1398.  
  1399.  
  1400. QUESTION: I just rebooted my machine, and now Linux dies with a 
  1401. "panic: trying to free unused inode". What's going on?
  1402.  
  1403. ANSWER: You probably forgot to "sync" before rebooting, which stores 
  1404. on the disk physically the contents of the kernel buffers. You can
  1405. either run "fsck" on the partition to TRY to correct the problem (it
  1406. might fail), or re-mkfs and re-install the software on that partition.
  1407.  
  1408.  
  1409. QUESTION: I have a one partitionned 40Mb disk. If I run mkfs, what
  1410. happens?
  1411.  
  1412. ANSWER: If you do that, you will have an empty 40Mb Linux file system.
  1413. You should, at least, make on your hard disk, one partition per
  1414. operating system you want to use. 
  1415.  
  1416.  
  1417. QUESTION: Can I use both OS/2 and Linux on my machine??
  1418.  
  1419. ANSWER: Yes! See the following two Q/A's about getting your OS/2 Boot
  1420. Manager to work. But, be warned: IF YOU USE OS/2, DO NOT USE LINUX's
  1421. FDISK TO CREATE  LINUX PARTITIONS!! The problem is with a bug/feature in
  1422. OS/2's fdisk that tries to correct 'errors' in partitions that it doesn't
  1423. like... Linux partitions included. The solution: make your Linux
  1424. partitions with OS/2's fdisk, then use Linux's fdisk to change the
  1425. partition ID's to the right values (this is self-explanatory with Linux's
  1426. fdisk). 
  1427.  
  1428. If you made your Linux partitions with Linux's fdisk, and OS/2 sees them,
  1429. it will think they have errors and end up trashing them. 
  1430.  
  1431.  
  1432. QUESTION: I use OS/2's Boot Manager on my hard drive. How can I get it to
  1433. recognize Linux? 
  1434.  
  1435. ANSWER: To do this, install LILO on your Linux root partition, NOT on
  1436. your hard drive's master boot record. The lilo command for this would be
  1437. (if /dev/hda3 is your Linux root partition, and your Linux kernel is in
  1438. /vmlinux): 
  1439.  
  1440.     /etc/lilo/lilo -c -b /dev/hda3 -v -v /vmlinux
  1441.  
  1442. Then use OS/2's fdisk to add it to the Boot Manager.
  1443.  
  1444.  
  1445. QUESTION: When I run Linux's fdisk it says "OPUS" for OS/2's Boot Manager
  1446. partition. Is this right? What's OPUS? 
  1447.  
  1448. ANSWER: It's correct. OPUS is BBS software that used partition type 0x0A
  1449. long before OS/2. 
  1450.  
  1451.  
  1452. IV. LINUX and DOS 
  1453. =================
  1454. *** This section is co-written by Mark Komarinski, A. V. Le Blanc and
  1455. *** MM. Corsini. The official maintainer is Mark, if you have *any*
  1456. *** questions, critics \ldots, mail him at komarimf@craft.camp.clarkson.edu 
  1457. *** Last Update 15.11.92
  1458.  
  1459.  
  1460. QUESTION: Is is possible to access DOS from Linux?
  1461.  
  1462. ANSWER: Yes.  
  1463. (1) The mtools package allows you to access DOS files;
  1464. it emulates the DOS commands CD, COPY, DEL, DIR, TYPE, and others.
  1465. (2)  Since approximately version 0.97 of the kernel, you can mount
  1466. DOS file systems as part of your Linux directory tree, providing you
  1467. have an appropriate mount command.  
  1468. (3)  A DOS emulator is in alpha test, which will allow some DOS programs
  1469. and utilities to run under Linux. 
  1470.  
  1471.  
  1472. QUESTION: Why use mtools if you can just mount a drive?
  1473.  
  1474. ANSWER: Mtools is good if you want to do something quickly.  For
  1475. example, if you want to get directories on a bunch of floppies.  The
  1476. mount procedure requires you to mount the drive, get a directory, then
  1477. umount it. Mtools lets you get the directory with one command.
  1478.  
  1479. (Dirk Hohndel:) Mtools is really fast when copying disks. I mount the
  1480. SLS directory of my SUN to my linux box and use mcopy to get the files
  1481. on the disks. 3 times faster than using xcopy under DOS
  1482.  
  1483. QUESTION: How do I get the mtools package set up correctly?
  1484.  
  1485. ANSWER: The mtools package is available in source form on most Linux
  1486. ftp sites.  The most recent version (As of Sept 1992) is mtools.n2,
  1487. and there are linked binaries and library (.a) files available as
  1488. well (for example, as part of MCC interim releases of Linux).
  1489. In the n2 release of mtools, there is only one executable binary
  1490. which works differently depending on its name: you can create hard
  1491. or symbolic links to it named mcopy, mdel, mdir, mtype, etc; this
  1492. is how the Makefile in version n2 of mtools does it, and it saves
  1493. several hundred kilobytes of disk space.  Finally, you need the
  1494. correct information in the file /etc/mtools, which is described below.
  1495.  
  1496. QUESTION: What is the format of the file /etc/mtools?
  1497.  
  1498. ANSWER: A complete entry in the file /etc/mtools contains the following
  1499. fields: drive, device, fat, cylinders, heads, sectors, offset.  Two
  1500. examples of entries from /etc/mtools are
  1501.  
  1502.      A /dev/fd0 12 80 2 15
  1503.      C /dev/hda1 16 0 0 0
  1504.  
  1505. which defines the DOS disk A: as accessible through the device /dev/fd0,
  1506. having a 12-bit FAT, 80 cylinders, 2 heads, and 15 sectors per track;
  1507. DOS disk C: is accessible through the device /dev/hda1, has a 16-bit
  1508. FAT, and its geometry is simply that of the hard disk where it lives.
  1509. The last three numbers can be 0 if you wish; this allows mtools to
  1510. try to figure out the disk's geometry itself, and perhaps to fail.
  1511. A 12-bit FAT is common for floppies, but may occur in small hard
  1512. disk partitions.  A 16-bit FAT is common for hard disks.
  1513. This is an extract of my /etc/mtools file:
  1514. A /dev/fd0 12 0 0 0     # 3.5  1.4 Meg (autodetect)
  1515. B /dev/fd1 12 0 0 0     # 5.25 1.2 Meg (autodetect)
  1516. C /dev/hda1 16 0 0 0    # 1st partition of my Disk
  1517.  
  1518. QUESTION: Where can I find out more about mtools?
  1519.  
  1520. ANSWER: There are two detailed README files in the mtools.n2 distribu-
  1521. tion.  These files treat compiling and using mtools.  There is a file
  1522. README.mtools which treats only using mtools, which is a part of the
  1523. MCC interim version of Linux.
  1524.  
  1525.  
  1526. QUESTION: How do I use the DOS file system?
  1527.  
  1528. ANSWER: The DOS file system is part of the kernel.  If you have a
  1529. kernel of level 97.1 or above, and an appropriate mount command, type
  1530.  
  1531.      mount -t msdos [-o conv=text] /dev/hda1 /dos
  1532.  
  1533. to mount the partition /dev/hda1 as an MS/DOS file system on the
  1534. directory /dos.  You'll need a recent mount command, from at least
  1535. release 97 or later of the root disk.  Recent mount commands also
  1536. accept the options conv=binary|text|auto (default is binary) to
  1537. specify that text end-of-lines in DOS files are to be converted to
  1538. UNIX end-of-lines (by omitting carriage return characters) in no cases
  1539. (binary) or in all cases (text) or in cases that don't have 'well-
  1540. known binary extensions' (e.g., .EXE or .COM) (auto).
  1541.  
  1542.  
  1543. QUESTION: I want to use the DOS file system with either conv=binary or
  1544. conv=auto, but I want to convert text files from DOS to UNIX format,
  1545. or from UNIX to DOS format.
  1546.  
  1547. ANSWER: Use the utility todos/fromdos which comes as part of the
  1548. dosfs package, currently (Sept 92) in released in version 8, or
  1549. use the flip utility by Rahul Dhesi.
  1550.  
  1551. QUESTION: Where can I find out more about the DOS file system?
  1552.  
  1553. ANSWER: There is a README file included in dosfs.XX.tar.Z (the current
  1554. value of XX is 8), and an abbreviated version of this in the MCC
  1555. interim package. 
  1556.  
  1557.  
  1558. QUESTION: Whenever I use mtools to read a 720K in an 1.44MB drive, I
  1559. get a long sequence of reset-floppy-errors, why? 
  1560.  
  1561. ANSWER: This is what happens if you use the /dev/PS0 device (b 2 28),
  1562. to read a 720k floppy you have to use another device, for example
  1563. /dev/fd0. Or you may use the setfdprm utility.
  1564.  
  1565.  
  1566. QUESTION: This sounds me like a chicken and eggs problem, how can I
  1567. install the mtools package at the very beginning.
  1568.  
  1569. ANSWER: You have to use the rawrite stuff or the mount procedure.
  1570.  
  1571.  
  1572. QUESTION: Could someone explain how to use rawrite?
  1573.  
  1574. ANSWER: Well, rawrite is a DOS util, which write sequential sector of
  1575. a formatted disk/floppy. When a floppy has been rawritten, you can
  1576. (under Linux) untar it (use x, v, z and f flags). As an example:
  1577. a) under Dos use rawrite
  1578. rawrite
  1579.     source: kermit.z
  1580.     destination: a
  1581. b) boot under Linux, and perform a tar
  1582. tar zxvf /dev/fd0
  1583. tar zxvp < /dev/fd0
  1584.  
  1585.  
  1586. You DO NOT NEED TO MOUNT a rawritten disk
  1587.  
  1588.  
  1589. QUESTION: What is as86.tar.Z ?
  1590.  
  1591. ANSWER: It's the port of Bruce Evans' minix assembler, you need it to 
  1592. be able to recompile Linux at your convenience. In fact this is ONLY
  1593. used for boot/setup.S and boot/bootsect.S they create 80x86 REAL mode
  1594. code. 
  1595.  
  1596.  
  1597. QUESTION: Turbo (Microsoft) Assembler won't compile the Linux boot
  1598. code.  In fact, some of the opcodes in these files look completely
  1599. unfamiliar.  Why?
  1600.  
  1601. ANSWER: The Linux boot codes are written in Bruce Evans' minix
  1602. assembler, which has the same opcodes as the original minix assembler
  1603. ported to linux get as86.tar.Z Anyway there are a few differences
  1604. between these and normal DOS assemblers.
  1605.  
  1606. QUESTION: What about the dos emulator (dosemu)?
  1607.  
  1608. ANSWER: Dosemu is in alpha testing now, so it is very unstable and crashes
  1609. easily.  Some programs (such as earlier versions of Turbo Pascal; TP
  1610. 5.5 too) seem to work fine, but other programs such as dir /p will
  1611. crash the emulator. 
  1612. Look in your favorite FTP site for the dosemu kit.
  1613.  
  1614.  
  1615. V. SOME CLASSICAL PROBLEMS 
  1616. ==========================
  1617.  
  1618. QUESTION: While running du I get "Kernel panic: free_inode: bit
  1619. already cleared".  Also, du produces a ENOENT error for all the files
  1620. in certain of my directories.  What's going on?
  1621.  
  1622. ANSWER: These are both consistent with a bad file-system.  That's
  1623. relatively easy to produce by not syncing before rebooting, as linux
  1624. usually has 1.5MB of buffer space held in memory (unless you have <=4M
  1625. RAM, in which case the buffers are only about 0.5MB). Also linux
  1626. doesn't do anything special about the bit-map blocks, and as they are
  1627. used often, those are the thing most likely to be in memory. If you
  1628. reboot, and they haven't been written to disk ...
  1629.  
  1630. Just do an fsck on the device, the -a flag might repair it otherwise,
  1631. the only thing to do is to reinstall the filesystem from the Images.
  1632.  
  1633. A sync is done only every 30 seconds normally (standard unix
  1634. practice), so do one by hand (some people think you should do 3 syncs
  1635. after each other, but that's superstition), or by logging out from the
  1636. startup-shell, which automatically syncs the system. Unmounting a
  1637. filesystem also syncs it (but of course you can never unmount root).
  1638.  
  1639. Another (sad) possibility is that you have bad blocks on your disk.
  1640. Not very probable, as they would have to be in the inode-tables, just
  1641. a couple of blocks in size. Again there aren't programs available to
  1642. read a disk for bad sectors and put them in some kind of
  1643. "bad-sector-file".  On IDE drives this is no problem (bad sectors are
  1644. automatically mapped away).
  1645.  
  1646.  
  1647. QUESTION: How can I partition my hard-drive to use Linux?
  1648.  
  1649. ANSWER: There are (at least) two ways to answer this. The easy way is
  1650. probably to use a program which will do it for you, such as the MS-DOS
  1651. fdisk, Minix fdisk, Xenix/Unix fdisk, or programs such as edpart.exe 
  1652. or part.exe. With the 0.95a distribution, there is pfdisk. To use it
  1653. have a look in the beginner's guide written by I. Reid, it's clear and
  1654. it had worked for me like a charm. In the mcc-interim release ther is
  1655. also fdisk, which runs under Linux and manages partition tables
  1656. (it also creates extended partitions).
  1657.  
  1658. On the other hand, you can use a disk editor and modify the contents
  1659. of the partition table directly. This has been already done, and an
  1660. extensive explanatory note can be found in the mailing-list archives 
  1661. (25th Jan. 92). You must also edit the bpb on the Dos partition you
  1662. are shrinking, otherwise Dos will step on Linux.
  1663.  
  1664. BTW It might be useful to set three (3) separated partitions for
  1665. Linux, one for the root, another one for the usr and a third one for
  1666. swap, as an illustration, my root partition is 10Meg, the usr is 22Meg
  1667. and instead of a swap partition I use a swap file. As an experience I
  1668. have used MS-DOS fdisk to partition my two hd and got no peculiar
  1669. difficulties. 
  1670. You can, as long as you stay within the 64MB per filesystem limit
  1671. (Minix-filesystem limitation), have swap, root, etc, ... all on there. 
  1672.  
  1673.  
  1674. QUESTION: I heard something about repartition a hard disk without
  1675. deleting everything on it, any clue?
  1676.  
  1677. ANSWER: It's not a program but a partition procedure which requires
  1678. a) a partitionning program
  1679. b) a sector editor
  1680. The procedure itself can be found (at least) in digest#132 Vol2.
  1681.  
  1682.  
  1683. QUESTION: What must I do to mkfs a floppy?
  1684.  
  1685. ANSWER: blocks are of size 1K so 1.44 floppy is 1440 blocks. The
  1686. floppy has to be formatted before this will work (e.g., fdformat can
  1687. do this from within Linux).
  1688.  
  1689.  
  1690. QUESTION: I have some trouble with tar/untar; any clue ?
  1691.  
  1692. ANSWER: The tar provided on .96 and latter is Pax (don't know for .98)
  1693. which do not accept the z flag. You can download the GNU tar at tsx-11
  1694. in /pub/linux/binaries/usr.bin 
  1695.  
  1696.  
  1697. QUESTION: I can do this as root but not as non-root, is it a bug?
  1698.  
  1699. ANSWER: Except for an early make utility, the problem is caused by an
  1700. incorrect permission flag. The most common problems are about /tmp
  1701. which should be 1777 and /dev/ttys? which might be 766. So as root do
  1702.  
  1703.     chmod 1777 /tmp ; chmod 766 /dev/ttys?
  1704.  
  1705.  
  1706. QUESTION: "du" reports twice the size showed with "ls -l", is it a
  1707. bug?
  1708.  
  1709. ANSWER: No it is not, the report is 512 bytes multiple (due to POSIX
  1710. requirement), for KB you just add the -k flag. You can add a du
  1711. function in your .profile which does this automatically, something
  1712. like du(){ /usr/bin/du -k $* }
  1713.     
  1714.  
  1715. QUESTION: Sometimes, I get "mount can't open lock file"; what does this
  1716. means? 
  1717.  
  1718. ANSWER: This can happened for two reasons: 
  1719. A) You try to mount something as non-root. In that case you can either
  1720. retry as root, or set the setuid bit to mount as follows:
  1721. - be sure that mount belongs to root, if not do 'chown root /bin/mount'
  1722. - set the setuid bit with 'chmod u+s /bin/mount'
  1723. BTW you have to do the same with umount (in order to be able to unmount) 
  1724. Remark that it is NOT safe to allow anyone to perform mount/umount,
  1725. you should rather write a small utility that will make any user able
  1726. to mount/unmount a (and ONLY a) *floppy* 
  1727. B) You are root. mount wants to open /etc/mtab and /etc/mtab~ - the
  1728. first one for reading, the second as lock file. If there is already a
  1729. mtab~ remove it. This can happen if you used once gnuemacs on mtab.
  1730.  
  1731. To forbid that case, just add the following entry in your /etc/rc file:
  1732. rm -f /etc/mtab
  1733.  
  1734.  
  1735. QUESTION: When I try "mount /dev/hd?? /user", I get error 2.
  1736.  
  1737. ANSWER: Be sure, that your mount point /user does exist; if not perform 
  1738. a "mkdir /user". 
  1739. BTW the error numbering is explained in /usr/include/errno.h
  1740.  
  1741.  
  1742. QUESTION: Since I have upgrade my Linux kernel, ps won't work anymore,
  1743. why? 
  1744.  
  1745. ANSWER: Each time you upgrade (or re-compile the kernel), you should
  1746. perform a 'ps -U' (-U is for update the /etc/psdatabase). 
  1747.  
  1748. Every time you boot a new kernel you have to do a 'ps U' to update
  1749. the psdatabase, after doing this you can remove the system file or
  1750. do a make clean.
  1751.  
  1752. The pathname to the system binary [/usr/src/linux/tools/system] is
  1753. stored in the psdatabase, so you only have to specify it if you have
  1754. moved your source tree or if you are creating the psdatabase for the
  1755. first time. The psdatabase is always '/etc/psdatabase'. The system
  1756. file is obtained in compiling the linux kernel (which I assume is
  1757. rooted in /usr/src/linux).
  1758.  
  1759. BTW: sometimes a patch makes recompiling ps necessary. Sometimes you
  1760. even have to patch the ps-suite.
  1761.  
  1762.  
  1763. QUESTION: Since Linux 0.96b I have a lot of core file all over
  1764. my disk. How can I sweep them away ?
  1765.  
  1766. ANSWER: Use the following command
  1767.         find / -name core -exec rm {} \;
  1768.  
  1769. BTW: think twice before using this command, there might be a John Core
  1770. user on your system; this command will erase his mail :)
  1771.  
  1772. (Rick)  If you never want to see another core file, put this line into
  1773.     your /etc/rc file:
  1774.                 ulimit -c 0
  1775.  
  1776. provided you are a bash user :))
  1777.  
  1778.  
  1779. QUESTION: I can only log-in as "root", is it normal ?
  1780.  
  1781. ANSWER: No, add "rm -f /etc/nologin" in your /etc/rc.local file
  1782.  
  1783.  
  1784. VI. MISCELLANEOUS HINTS 
  1785. =======================
  1786. *** This section is maintained by Matt Welsh (mdw@tc.cornell.edu). Please
  1787. *** mail me if you have any changes/updates/questions. Thanks -mdw
  1788.  
  1789. Special gcc information are located in section IX. A special section is
  1790. devoted to it since it's *the* compiler of Linux. I have subsectionned
  1791. this part in 3 subsections: Misc/Device Major-Minor/Serial Information.
  1792.  
  1793. VI.A. Misc information
  1794. ~~~~~~~~~~~~~~~~~~~~~~
  1795.  
  1796. QUESTION: It seems that $#@! ported on linux don't run correctly, what
  1797. do I do about reporting bugs?
  1798.  
  1799. ANSWER: (Matt Welsh) It's possible that either the program itself has a bug
  1800. or that Linux has a problem that this program brings out. :) But first check
  1801. that the size of the file(s) corresponds that of the files(s) on the FTP
  1802. sites where it's available. If they're different, either you downloaded them
  1803. incorrectly (i.e. you forgot to turn on "bin") or whoever put them on the
  1804. FTP site uploaded them incorrectly. 
  1805.  
  1806. If that's not the problem, then post to comp.os.linux asking about the 
  1807. program, to verify that it is a bug. PLEASE: when posting possible "bug 
  1808. reports" include all error and output information from running/compiling
  1809. the program. Just saying "it doesn't work" isn't very helpful. Also mention
  1810. your specific setup, Linux version, GCC version, etc. Some of these things
  1811. depend on running under certain versions and you may have missed that
  1812. information. 
  1813.  
  1814. Note that my "ml-linux-bugs@dg-rtp.dg.com" bug reporting list has been
  1815. phased out. It turns out that Linux has so few bugs, most of which are
  1816. resolved on the newsgroup or through Linus before I can accumulate them
  1817. and post. :) In short: if there's a bug in Linux or in Linux-ported
  1818. software, it will usually be fixed in the next patchlevel or version.
  1819.  
  1820.  
  1821. QUESTION: Has $#@! been ported to Linux?
  1822.  
  1823. ANSWER: First check out the FTP sites and read the monthly INFO-SHEET,
  1824. as well as the new "Linux News" and the META-FAQ's (all of which are 
  1825. either available on the FTP sites and/or posted to the newsgroup as they're
  1826. written). Also check out the "Linux Project Registry" (posted to the 
  1827. newsgroup and on the FTP sites) which lists ongoing/current Linux projects.
  1828. Also look in the "old" Linux digests and mailing-list archives, kept on
  1829. tsx-11.mit.edu and nic.funet.fi. Also, see if there's a GNU(*) version
  1830. of the program you're looking for (which are available everywhere).
  1831. Since Linux uses GCC as its native compiler, most GNU software ports
  1832. directly to Linux without problems. If all else fails, ask on the
  1833. mailing list or newsgroup if the program is ported and where it's
  1834. available. 
  1835.  
  1836.  
  1837. (*) GNU stands for GNU's Not Unix, which (besides being a recursive
  1838. acronym) is a project started by the Free Software Foundation (the FSF)
  1839. to write a freely distributable version of Unix.  The GNU kernel is
  1840. named HURD, and is based on Mach.  It is currently being written, and is
  1841. not yet done.  Many of the GNU utilities, however, are completed and are
  1842. much more functional than the original Unix utilities.  Since they are
  1843. freely available, Linux is using them as well.
  1844.  
  1845.  
  1846.  
  1847. QUESTION: I've ported $#@! to Linux, what should i do to add it in the 
  1848. standard distribution?
  1849.  
  1850. ANSWER: (Matt Welsh) First read the previous Q/A, then talk to the
  1851. maintainers of the various releases (MCC interim, SLS, and so on)
  1852. about including your program with those releases. The best way to make
  1853. programs available to the rest of the world is to upload it to one of
  1854. the Linux FTP sites (such as tsx-11.mit.edu:/pub/incoming or
  1855. sunsite.unc.edu:/pub/Linux/Incoming). 
  1856.  
  1857. BTW Whenever you submit binaries, please think that if you link them
  1858. with shared libraries, this might cause problems for those who (gasp!)
  1859. don't have the shared libraries installed. You can either link them
  1860. using -static, and if someone wants to build a shared version on their
  1861. own machine they can get the sources (which you should also make
  1862. available) and build it themself. Or else provide the shared lib.
  1863.  
  1864.  
  1865. QUESTION: I want to port $#@! to Linux, what are the flags?
  1866.  
  1867. ANSWER: Recall that Linux implements subset of SYSV and POSIX, so
  1868. -DUSG and -DPOSIX work in general. 
  1869.  
  1870. NOTE1: SIGBUS is not there, and can be safely commented out in general.
  1871. NOTE2: see section related to GCC, in the third part of this FAQ, for
  1872. more details. 
  1873.  
  1874. VI.B. Major/Minor device number
  1875. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1876. *** This section is maintained by Rick Miller, any comments,
  1877. *** suggestions, remarks should be mailed to him at <rick@ee.uwm.edu>
  1878. *** Last Update: 17 Nov 1992 16:00:20 GMT
  1879.  
  1880. QUESTION: What are the device minor/major numbers?
  1881.  
  1882. ANSWER: Here's a preliminary listing from Rick Miller <rick@ee.uwm.edu>:
  1883.   
  1884.             The Linux Device List
  1885.      published by rick@ee.uwm.edu (Rick Miller, Linux Device Registrar)
  1886.  
  1887.     Many thanks to richard@stat.tamu.edu and Jim Winstead Jr.
  1888.  
  1889.  Majors:
  1890.   0.  Unnamed . (unknown) ....  for proc-fs, NFS clients, etc.
  1891.   1.  Memory .. (character) ..  ram, mem, kmem, null, port, zero
  1892.   2.  Floppy .. (block) ......  fd[01][dhDH]{360,720,1200,1440} or fd[01]
  1893.   3.  Hard Disk (block) ......  hd[ab] or hd[ab][1-?] (Extended>4)
  1894.   4.  Tty ..... (character) ..  tty{0,1-8,63,64-127,128-?} or ttys{0-3,1-4}
  1895.   5.  tty ..... (character) ..  special tty: owner of its calling process.
  1896.   6.  Lp ...... (character) ..  lp[0-2] or par[0-2]
  1897.   7.  Tape .... (block) ......  t[0-?] (reserved for Non-SCSI tape drives)
  1898.   8.  Scsi Disk (block) ......  sd[0-?] or sd[0-?][0-?]
  1899.   9.  Scsi Tape (block) ......  st[0-?]
  1900.  10.  Bus Mouse (character) ..  bm, psaux (mouse)
  1901.  11.  CD-ROM .. (block) ......  scd
  1902.  
  1903.  Breakdown of minors by Majors:
  1904.  ------------------------------
  1905.  
  1906.   0.  Unnamed . (unknown) ....  for proc-fs, NFS clients, etc.
  1907.     Minors???       (Not yet implemented???)
  1908.  
  1909.   1.  Memory .. (character) ..  ram, mem, kmem, null, port, zero
  1910.     0.  /dev/ram
  1911.     1.  (block): RAM-Disk   (character): /dev/mem
  1912.     2.  /dev/kmem
  1913.     3.  /dev/null
  1914.     4.  /dev/port
  1915.     5.  /dev/zero
  1916.  
  1917.   2.  Floppy .. (block) ......  fd[01][dhDH]{360,720,1200,1440} or fd[01]
  1918.     Minors are [drive + [4 * type]] where drive 0-3 == A:-D: (floppy)
  1919.     and type is:    0: Autodetect           4: 720k in 3.5"
  1920.             1: 360k in 5.25" 1.2M    5: 360k in 5.25" 1.2M
  1921.             2: 1.2M in 5.25" 1.2M    6. 720k in 5.25" 1.2M
  1922.             3: 360k in 3.5"        7. 1.44M in 3.5" 1.44
  1923.  
  1924.   3.  Hard Disk (block) ......  hd[ab] or hd[ab][1-?] (Extended>4)
  1925.     0.  First HD (/dev/hda), whole drive including Master Boot Record.
  1926.     1-4.  Partitions on the first HD.
  1927.     5-8.  Logical partitions within an extended partition on first HD.
  1928.     64.  Second HD (/dev/hdb), whole drive including Master Boot Record.
  1929.     65-68.  Partitions on the second HD.
  1930.     69-72.  Logical partitions within an extended partition on second HD.
  1931.  
  1932.     Notes:  BE *VERY* CAREFUL WITH /dev/hda AND /dev/hdb!!  These two
  1933.         devices signify the *entire* *drive*, not just one partition.
  1934.         The only things that use /dev/hda or /dev/hdb are things that
  1935.         need to read/change the partition table (like fdisk).
  1936.  
  1937.         The names of the hard drives are not the same as under Minix.
  1938.  
  1939.         Linux doesn't order anything.  It perceives partitions in the
  1940.         order in which they appear in the partition table.  Thus,
  1941.         /dev/hd?1 may be physically after /dev/hd?2.
  1942.  
  1943.   4.  Tty ..... (character) ..  tty{0,1-8,63,64-127,128-?} or ttys{0-3,1-4}
  1944.     0.  /dev/tty0:  This is the currently active Virtual Console.
  1945.     1-63.  /dev/tty#:  Specific virtual consoles.
  1946.     64-127.  /dev/ttys*:  Serial ports.
  1947.     128-191.  /dev/pty[??]:  PTY Masters.
  1948.     192-255.  /dev/pty[??]:  PTY Slaves.
  1949.  
  1950.     Notes:  There are several constants set in the kernel sources which
  1951.         can be changed to compile a more customized kernel.  They're
  1952.         found in [/usr/src]/linux/include/linux/tty.h:
  1953.  
  1954.             NR_CONSOLES     The number of virtual consoles.
  1955.             NR_SERIALS      The number of serial lines.
  1956.             NR_PTYS         The number of pty's.
  1957.  
  1958.   5.  tty ..... (character) ..  special tty: owner of its calling process.
  1959.     0.  /dev/tty:  the tty that owns the process calling it.
  1960.  
  1961.   6.  Lp ...... (character) ..  lp[0-2] or par[0-2]
  1962.     1-3.  Parallel (printer) ports.  (Increasable in include/linux/lp.h)
  1963.  
  1964.     Notes:  The number of line printers is defined by LP_NO which is
  1965.         found in [/usr/src]/linux/include/lp.h.
  1966.  
  1967.   7.  Tape .... (block) ......  t[0-?] (reserved for Non-SCSI tape drives)
  1968.     This one's just getting started.  No minor numbers are yet assigned.
  1969.     It's not even in the source code.
  1970.  
  1971.   8.  Scsi Disk (block) ......  sd[0-?] or sd[0-?][0-?]
  1972.     Minors numbers are [[16 * HostID] + partition]
  1973.  
  1974.     Notes:  The maximum number of SCSI drives is defined by MAX_SD
  1975.         found in [/usr/src]/linux/kernel/blk_drv/scsi/sd.h.
  1976.  
  1977.     Additional note (Eric Youngdale): In the new scsi drivers
  1978. there is no set maximum number of scsi disks, hence no need to fiddle
  1979. with sd.h Everything autoconfigures as the system boots.
  1980.  
  1981. 9.  Scsi Tape   (block) ......  st[0-?]
  1982.     Quoting from the source-code:
  1983.              void do_st_request(void)
  1984.              {
  1985.                  panic("There is no st driver.\n\r");
  1986.              }
  1987.  
  1988.     Notes:  For future reference, the maximum number of SCSI tapes
  1989.         is defined by MAX_ST which is found in
  1990.         [/usr/src]/linux/kernel/blk_drv/scsi/st.h.
  1991.  
  1992.     (E. Youngdale) The same is true here.  There is no longer any
  1993. need to set MAX_ST, and it would be a bad thing to actually try.  Even
  1994. though there is a MAX_SR in the cdrom code in the 0.98.5 kernel, the
  1995. new scsi code effectively eliminates this as well.
  1996.  
  1997.  10.  Bus Mouse (character) ..  bm, psaux (mouse)
  1998.         (If I recall, X Windows requires that
  1999.          /dev/mouse be linked to one of these...)
  2000.     0.  /dev/bm:  (Logitec?) bus mouse
  2001.     1.  /dev/psaux:  PS/2 mouse port
  2002.     2.  /dev/bm:  MicroSoft bus mouse
  2003.     3.  /dev/bm:  ATI XL bus mouse
  2004.  
  2005.  11.  CD-ROM .. (block) ......  scd
  2006.     Minors?
  2007.  
  2008. From: eric@tantalus.nrl.navy.mil (Eric Youngdale)
  2009. Date: 17 Nov 92 16:25:40 GMT 
  2010.  
  2011. > For the cdrom, the minors are just the devices
  2012. > themselves.  If you have one cdrom drive, the minor is 0.  If you
  2013. > have two, then the minors are 0 and 1.  Not much more to it than that.
  2014.  
  2015. >       For a SCSI tape, each physical device has two minor numbers
  2016. > that are associated with it.  If you have two tape drives, then
  2017. > minors 0 and 1 will refer to the first and second drives and the
  2018. > tape will be rewound when the device is closed.  Minor numbers 128
  2019. > and 129 (i.e. 128+n) also refer to the first and second physical
  2020. > drives, but the tape will not be rewound after closing the device.
  2021. > If you have one tape, you could create the devices with the
  2022. > following commands: 
  2023.  
  2024. > mknod /dev/rmt0 c 9 0
  2025. > mknod /dev/nrmt0 c 9 128
  2026.  
  2027.  
  2028. NOTE: all the numbers given are in decimal form (the one you can see if
  2029. you perform ls -l on /dev). 
  2030.  
  2031.  
  2032. QUESTION: Could some one give me indication about the meaning of the
  2033. IRQ's ?
  2034.  
  2035.  
  2036. ANSWER: (alawrenc@sobeco.com:)
  2037. Standard IRQ's :
  2038.     IRQ 0 - Timer
  2039.     IRQ 1 - Keyboard
  2040.     IRQ 2 - Slave 8259 (AT)
  2041.     IRQ 3 - COM 2 / COM 4
  2042.     IRQ 4 - COM 1 / COM 3
  2043.     IRQ 5 - (XT) Hard Disk, (AT) LPT2
  2044.     IRQ 6 - Floppy Disk
  2045.     IRQ 7 - LPT1
  2046.  
  2047. AT only IRQ  8 - Real Time Clock
  2048.     IRQ  9 - Re-direct to IRQ 2
  2049.     IRQ 10 - Not Defined
  2050.     IRQ 11 - Not Defined
  2051.     IRQ 12 - Not Defined
  2052.     IRQ 13 - 80287
  2053.     IRQ 14 - Hard Disk (AT)
  2054.     IRQ 15 - Not Defined
  2055.  
  2056. QUESTION: (Chuck Boyer) Could some one clear up the devices meaning?
  2057.  
  2058. ANSWER: (Jim Winstead Jr)
  2059. >port
  2060.  
  2061. This allows programs to access the hardware ports directly.  Not
  2062. something you generally mess around with much.
  2063.  
  2064. >ptyp0-3
  2065. >ptypa...tty
  2066.  
  2067. These are the pseudo-tty 'master' devices.  Each pty connection uses
  2068. a slave-master set of tty devices.
  2069.  
  2070. >tty0...
  2071.  
  2072. tty[1-8] are the virtual consoles associated with Alt-F[1-8].  tty0 is
  2073. the current virtual console (so writing something to tty0 goes to the
  2074. current vc).
  2075.  
  2076. >tty64 I've figured out is the modem connection
  2077.  
  2078. Yes, that would correspond to COM1 under DOS.  However, the tty64 name
  2079. is obsolete - ttys[1-4] should be used instead.
  2080.  
  2081. >ttyp0...
  2082. >ttypa...
  2083.  
  2084. These are the pseudo-tty 'slave' devices.
  2085.  
  2086. >ttys1...
  2087.  
  2088. These are the serial devices.  ttys1 corresponds to COM1 under DOS,
  2089. ttys2 corresponds to COM2, etc.
  2090.  
  2091.  
  2092. VI.C Special Serial
  2093. ~~~~~~~~~~~~~~~~~~~
  2094. *** This section is maintained by Jim Gifford
  2095. *** (jgifford@attmail,world.std}.com 
  2096. *** Last update October 1992.
  2097.  
  2098. Douglas E. Quale:
  2099. This has come up a couple of times already (including the case of
  2100. serial mice as well), but for the record stty acts on stdin not
  2101. stdout.  Old stty's (from V7 through BSD4.3) used stdout, but this is
  2102. suboptimal and doesn't conform to POSIX.  The GNU stty you are likely
  2103. using on Linux uses stdin, as does the stty distributed with BSD
  2104. Networking Release 2.  (Also, ``stty -a'' is more informative about
  2105. possible parameters, although it's pretty hard for me to remember what
  2106. 90% of that stuff does without refering to the man page.)
  2107. Jim Gifford:
  2108. However, there are a few older (of mysterious origin) stty's that work
  2109. on stdout(I have one myself!)
  2110.  
  2111. QUESTION: Is there a list somewhere where I can get help with serial
  2112.    communications under Linux?
  2113.  
  2114. ANSWER: (Jim Gifford -- jgifford@world.std.com)
  2115.    There is a list for the discussion of serial communications under
  2116.    Linux.  It is for problems, drivers, new developments, etc... with
  2117.    the Linux serial devices. The list is: linux-serial@stolaf.edu
  2118.    To join, send mail to linux-serial-request@stolaf.edu
  2119.    I hope that this list will prove beneficial to the improvement of
  2120.    Linux. This list is maintained by Michael K. Johnson as
  2121.    linux-serial-request@stolaf.edu
  2122.  
  2123. QUESTION: When I run kermit under Linux, I get "Warning, Read access
  2124.    to lock directory denied". What am I doing wrong?
  2125.  
  2126. ANSWER: Nothing, you just need to create /usr/spool/uucp (kermit 4.6?)
  2127.    or /usr/spool/locks (this is for the kermit5A), which is where kermit
  2128.    like to lock files.
  2129.  
  2130. QUESTION: What are the major, minor numbers for the serial ports under linux?
  2131.  
  2132. ANSWER:   Major 4, Minor :
  2133.    64      /dev/ttys0      - com1
  2134.    65      /dev/ttys1      - com2
  2135.    66      /dev/ttys2      - com3
  2136.    67      /dev/ttys3      - com4
  2137.  
  2138. QUESTION: can anyone give me a sample /etc/inittab entry for login
  2139.    from a pc attached to serial line /dev/ttys2?
  2140.  
  2141. ANSWER: "Humberto speaking :), updated by Rick Miller"
  2142.    First set up the modem to turn off echo and enable auto answer, I do
  2143.    this in kermit by connecting to the modem and typing "ate0s0=1"
  2144.    followed by enter (w/o quotes). Then setup inittab to spawn getty on
  2145.    the modem
  2146.    ttys2:vt100:/etc/getty -m 1200 ttys2
  2147.     (Replace "vt100" with the name of the /etc/termcap entry for the
  2148.      terminal type you will use, or use "dumb" if you don't have one.)
  2149.  
  2150.    Then it should work. Some modems can be permanently set to disable
  2151.    echo and set auto answer, see your manual.
  2152.  
  2153.    Jim Weigand says:
  2154.      disable all messages. This will prevent getty from hanging up
  2155.    your modem.
  2156.    Set       For:
  2157.    ATE0      No echo
  2158.    ATQ1      No messages
  2159.    ATS0=2    Answer 2nd ring
  2160.    ATS7=60   1 minute to answer (shorter if 2400 baud)
  2161.    You can use kermit to set these. Do an AT&W to save for power-up.
  2162.  
  2163.    Michael K. Johnson says:
  2164.    If you would rather not save these commands as defaults to come up
  2165.    on power-up, perhaps because you want to use your current modem
  2166.    settings under a DOS communications package, you can also shove
  2167.    these command out ttys? from /etc/rc (or /etc/rc.local) using
  2168.    the command:
  2169.       echo "<modem_settings>" > /dev/ttys?
  2170.  
  2171. QUESTION: How do I set parameters like parity for serial login?
  2172.  
  2173. ANSWER: Use stty and redirect input from the serial line.
  2174. ex: stty parodd < /dev/ttys2 which gives ttys2 odd parity.  
  2175. type stty -a to get an idea of possible parameters. 
  2176. Or 'man stty' as well :)
  2177.  
  2178.  
  2179. VII. MORE HINTS 
  2180. =============== 
  2181.  
  2182. This part try to keep track of the different information
  2183. that appeared in comp.os.linux and on the list since beginning of
  2184. March. I tried to update it for KERENL_VERSION, so there might be some
  2185. mistakes. Moreover take care to use the correct library and include
  2186. stuff, and the ad-hoc gcc you use !!!
  2187.  
  2188.  
  2189. QUESTION: How can I backup my Hd under Linux ?
  2190.  
  2191. ANSWER: I know at least two ways. One possibility is tar and mtools,
  2192. another possibility is the diskbackup/diskrestore of Diamano Bolla
  2193. (digest37 vol. #2) which saves big hd to floppies using the
  2194. stdin/stdout. These utilities have been uploaded to the major sites in
  2195. file disksplit.tar.Z.
  2196. An example usage (Roger Binns) is:
  2197.  
  2198. tar cvf - bin dev usr etc .. | compress | diskbackup
  2199.  
  2200. and to restore:
  2201.  
  2202. diskrestore | uncompress | tar xvf -
  2203.  
  2204. BTW: if you are on Ethernet you could send your files via tar..|rsh (tar...)
  2205. or even via NFS to a host which is regularly backed up !
  2206.  
  2207.  
  2208. QUESTION: Where is 'which' ?
  2209.  
  2210. ANSWER: It depends on the sh you are running:
  2211. in bash         'type -path'
  2212. in tcsh         it's a builtin
  2213.  
  2214. for rc you can try the following (untested by me) script from
  2215. Kevin Brown: 
  2216.  
  2217. #!/bin/sh
  2218. for i in `echo $PATH | sed 's/:/ /g'` ; do
  2219.   for j in ""$@" ; do
  2220.     if test -x "$i/$j" ; then
  2221.        echo "$i/$j"
  2222.      fi
  2223.   done
  2224. done
  2225.  
  2226. QUESTION: How to use setterm: for the novice?
  2227.  
  2228. ANSWER:The setterm utility provides access to most of Virtual Consoles
  2229. (VCs) functionality.  You can set your screen up to blank at 10
  2230. minutes using:
  2231.         setterm -blank 10
  2232.  
  2233. You can set colors, and clear the screen.  For a full list of commands,
  2234. just type "setterm" with no arguments.
  2235.     
  2236. There are a few tricks with the screen dumper can really make VCs go a 
  2237. long way.  Here are a few of the common ones that I use:
  2238.  
  2239.         setterm dump
  2240.  
  2241. Dumps the contents of the current VC to screen.dump (in the current dir).
  2242.                     
  2243.         setterm dump 4
  2244.                 
  2245. Dumps the contents of VC 4 to screen.dump
  2246.         
  2247.         setterm -file mydumpfile -dump 4
  2248.  
  2249. Dump the contents of VC 4 to the file mydumpfile
  2250.  
  2251.         setterm -file /dev/tty0 -dump 4
  2252.  
  2253. Dumps the contents of VC 4 to the current VC.
  2254.                     
  2255.         setterm -file /dev/tty4 -dump
  2256.  
  2257. Dumps the contents of the current VC to VC 4.
  2258.         
  2259.         setterm -file /dev/ttys1 -dump
  2260.                 
  2261. Dumps the contents of the current VC to the serial port.
  2262. Handy if you are logged on and want to paste a screen full without
  2263. having to resort to doing a file transfer.
  2264.  
  2265.         setterm -file mydumpfile -append 4
  2266.                 
  2267. Appends to instead of overwriting the dump file.  Useful if you
  2268. have several screens you wish to concatenate.
  2269.  
  2270.  
  2271. QUESTION: I've tried clear/reset which exist on most of unix but it
  2272. doesn't work, have I missed something? 
  2273.  
  2274. ANSWER: setterm -clear or setterm -reset will solve your missing.  For
  2275. clear, you can also write a small script (which use the cl: part of
  2276. /etc/termcap wrt your TERM), or use bash where ctrl-l will do it for
  2277. you.
  2278.  
  2279.  
  2280. QUESTION: I know there are VC, but where is the setterm stuff?
  2281.  
  2282. ANSWER: It's in the current distribution (i.e. on the images), the
  2283. source can be found in virtcons.tar.Z at nic.
  2284.  
  2285.  
  2286. QUESTION: I know there are shared libraries; does there exist an easy
  2287. way to check an executable for sharing ? 
  2288.  
  2289. ANSWER: (Josh Yelon & HJ Lu) 
  2290. (J.Y.) An executable which shares a library is linked with an
  2291. (ordinary, non-shared) "stub" version of the library. One of the first
  2292. thing this stub does (when the executable is run) is to ask the kernel
  2293. to load the (big) "shared version" of the library (which is usually
  2294. named /lib/lib.XX.XX) The upshot of this is that in the code for the
  2295. stub (part of the executable), is the string "/lib/lib.XX.XX"; which
  2296. can be searched by using 'strings' or 'grep'.
  2297. (HJ. L.) if you have gcc2.11a or later the shared image is changed to
  2298. /lib/libxxxx_vyy_zzz. And you should better use nm to find
  2299. "__shared_lib" (nm failed on stripped executable). You can also write 
  2300. a function for "file", which can even check the version number ....
  2301.  
  2302. (Claude Morin:) There exists at tsx-11 ldd.tar.Z If you follow
  2303. the instructions, you will be able to type "ldd <executable>" to List
  2304. the Dynamic Dependencies of the executables. In other words 'ldd'
  2305. prints the name of the shared libraries needed by the executable,
  2306. nothing appears for static one. 
  2307.  
  2308. QUESTION: What is the rdev program provided in the images?
  2309.  
  2310. ANSWER: It's a program from Werner Almesberger of ETH. With no
  2311. argument it prints the first line of /etc/mtab. With one argument, a
  2312. boot-image, it prints the device configured as the root device, and
  2313. with two arguments, a boot image and a device, it sets the device as
  2314. default root in the specified image.
  2315.  
  2316.  
  2317. QUESTION: How to start Linux from drive B?
  2318.  
  2319. ANSWER: There is a DOS utility called boot_b.exe (look at DOS ftp).
  2320. Another simple way is to open the box and invert the cables.
  2321.  
  2322.  
  2323. QUESTION: The program boot_b works fine /but/ once the first disk is
  2324. read the system go back to the first drive, any hints?
  2325.  
  2326. ANSWER: Yes, change the bootimage in just the same way that you change
  2327. it to boot on the hard drive, execept that the major/minor pair is
  2328. different. All these information are in the file INSTALL-0.10.
  2329. Remember that if you use a sun or other endian machine, you will need
  2330. to reverse the byte order when you run the filter program (also in the
  2331. same file).
  2332.  
  2333.  
  2334. QUESTION: How can I get Linux to boot directly from the harddisk?
  2335.  
  2336. ANSWER: (Rick) The best option right now is LILO version ALPHA.6. It
  2337. has been generally agreed that the days of using "shoelace" are at an
  2338. end.
  2339.  
  2340. QUESTION: I use shoelace, but I want to change my root partition, what
  2341. is the process to get rid of it? 
  2342.  
  2343. ANSWER: With Norton utility you can put back a standard boot sector.
  2344. Another possibility is to restore the old boot sector (the one you
  2345. should have backup *before* installing shoelace).
  2346.  
  2347.  
  2348. QUESTION: Sometimes, when I want to remove a directory, I get an error
  2349. message, is it a (known) bug?
  2350.  
  2351. ANSWER: No, There is no bug at all, you probaly have another shell 
  2352. on another VC whose working directory is either the one you try to 
  2353. remove, either a subdirectory of it.
  2354.  
  2355.  
  2356. QUESTION: I'm looking for init, getty, login, passwd stuff, where 
  2357. can I find them? 
  2358.  
  2359. ANSWER: You should find it in shadow.tar.Z (only sources), at least 
  2360. at tsx in the usr.bin directory. Many people have reported some troubles 
  2361. with the *OLD* shadow-passwd (shadow-bin.tar.Z and shadow-src.tar.Z, so 
  2362. do not use them anymore); an alternative might be the mcc-interim
  2363. which contains standard passwd binary. There is also the Peter Orbaek's
  2364. admutil-1.?.tar.Z and poeigl-1.?.tar.Z which contains source for
  2365. shutdown, su, chsh, passwd and a system V init compatible. 
  2366.  
  2367.  
  2368. QUESTION: How can I setup a user account other than root ?
  2369.  
  2370. ANSWER: You can either use the adduser program, either do it manually.
  2371. In the later case, you have to:
  2372. a) edit /etc/passwd as root and add a line of the following format:
  2373. user:passwd:uid:gid:user name:home directory:login shell
  2374.  
  2375. user is the login name; uid is the numeric user id, it should be
  2376. unique; gid is the numeric group id, this number should correspond to
  2377. an entry in /etc/group. The passwd field should be left blank 'cause
  2378. it is stored in an encrypted form [to set this field just use the
  2379. passwd program].
  2380. example
  2381. faq::200:5:Marc-Michel:/home/faq:/bin/sh
  2382. b) Still as root, you shoud now create the home directory and set the
  2383. correct ownership.
  2384. mkdir /home/faq
  2385. chown faq /home/faq
  2386. chgrp 5 /home/faq
  2387.  
  2388.  
  2389. QUESTION: I've been trying to get Linux to run on my [3/4]86 box. It
  2390. can't even boot. Any suggestions?
  2391.  
  2392. ANSWER: The most common error/problem is writing the bootimage to a
  2393. low density disk. It fits, but the bootstrap code will only recognize
  2394. high density disk. So try to format explicitely disk as high density:
  2395. - for 3.5",  'format a: /n:18 /t:80 '
  2396. - for 5.25", 'format a: /n:15 /t:80 '
  2397.  
  2398.  
  2399. QUESTION: Does there exist games, languages (other than C), and
  2400. anything which make the system more friendly?
  2401.  
  2402. ANSWER: Yes, among other things there are rogue and yahtzee; TeX;
  2403. Prolog, Perl.. but in general, if you want some extra tool port it to
  2404. Linux this is also a good beta-testing exercice. 
  2405.  
  2406.  
  2407. QUESTION: Whenever I use uemacs 3.1X on a symlink, the symlink does
  2408. not exist anymore, why?
  2409.  
  2410. ANSWER: (Tristram Mabbs) Since ue3.10, uemacs uses 'safe save' mode,
  2411. writing the file to a temporary and moving it OVER the original. In
  2412. the process, this deletes the original. To prevent this just add the
  2413. following in your emacs '.rc' file: set $ssave FALSE
  2414.  
  2415.  
  2416. QUESTION: Uemacs doesn't work anymore with 0.95a, whenever I want to
  2417. save a file; what can I do?
  2418.  
  2419. ANSWER: ^S and ^Q are used for flow control. One solution is ^X^W
  2420. followed by the filename, or M-X save-file, try also ^XS it could work
  2421. for some version (not mine). Another possibility, 
  2422. if you have download the stty.tar.Z file, is to do stty -IXON 
  2423. before you first use uemacs (this can be included in your .profile).
  2424. And the last is to recompile the Peter Orbaek init-1.2 package.
  2425.  
  2426.  
  2427. QUESTION: I have an SVGA, but Linux detect an EGAc/EGAm; is it normal?
  2428.  
  2429. ANSWER: (Jim Winstead) This is correct actually. You have an EGA+ card
  2430. (SVGA) with a Color/Mono monitor. The only four possibilties are EGAc,
  2431. EGAm, *MDA and *CGA (according to the code in
  2432. kernel/chr_drv/console.c).
  2433. The true test, if Linux detects your video card, is if you press
  2434. <RETURN> at the "Press <RETURN> to see SVGA- ..." boot-time message.
  2435. If you have a SVGA  recognized card, it will ask you to choose a
  2436. screen size. If not detected, the default is 80x50 mode. 
  2437. BTW if you have no SVGA, press the <space> and you are in 80x25 mode.
  2438.  
  2439. If you have dowloaded the kernel, you can automatically skip this
  2440. query at boot-time if you set the SVGA_MODE variable in the main
  2441. Makefile before compiling a new bootimage. 
  2442.  
  2443.  
  2444. QUESTION: How can I change the keyboard repeat rate?
  2445.  
  2446. ANSWER: (Michael K Johnson) In boot/setup.S there are the lines:
  2447. ! set the keyboard repeat rate to max
  2448.     mov     ax,#0x0305
  2449.     mov     bx,0x0000
  2450.     int     0x16
  2451.  
  2452. If you don't want to change the repeat rate at all, just comment out
  2453. these lines. If you want something in the middle, change the
  2454.     mov     bx,0x000
  2455. by      mov     bx,0x??yy
  2456. where ??yy is determined by (Ralf Brown's interrupt list)
  2457. bh= delay value (0x00 = 250ms to 0x03= 1000ms (one sec))
  2458.     this is the delay before the repeat is performed
  2459. bl= repeat rate (0x00 =30/sec to 0x1f=2/sec; 0x0c=10/sec [default])
  2460.  
  2461.  
  2462. QUESTION: I compiled fdformat.c and ran it on 1.44Mb and 1.2Mb, the
  2463. results are unreadable, any clue? 
  2464.  
  2465. ANSWER: (M. Pereckas) fdformat only low-level formats the disk. to use
  2466. the fdformatted disk with DOS filesystem, run mformat on the disk.
  2467. Mformat writes DOS filesystem information but is unable to low-format
  2468. :). In order to put a Linux filesystem on a (low)formatted disk you
  2469. have to mkfs it. 
  2470.  
  2471. QUESTION: Is it possible to disable the 3-fingers salute
  2472. (ctrl-alt-del) ?
  2473.  
  2474. ANSWER: Yes, in kernel/sys.c you can read the following:
  2475.  
  2476. /*
  2477.  * this indicates wether you can reboot with ctrl-alt-del: the deault is yes
  2478.  */
  2479. static int C_A_D = 1;
  2480.  
  2481. there is also a small utility written by Linus in digest242 vol#2
  2482.  
  2483.  
  2484. QUESTION: Could some one explain the information provided at boot-time?
  2485.  
  2486. ANSWER: (Jim Winstead Jr)
  2487. > serial port at 0x03f8 is a 16450 
  2488. > serial port at 0x02f8 is a 16450 (what's that the uart chip?)
  2489.  
  2490. Right, the last number should either be 8250, 16450, 16550, or 16550a,
  2491. and on the two 16550 models, it will report that FIFO's have been
  2492. disable (16550) or enabled (16550a).
  2493.  
  2494. > 8 virtual consoles (that's how many alt-F's I can get going?                 
  2495. >      but only F1-4 actually work)
  2496.  
  2497. You can get sessions running on Alt-F[1-8], but the 'standard'
  2498. /etc/inittab only runs getty/login on Alt-F[1-4].  You can start
  2499. sessions on the other consoles by using 'doshell' or adding lines to
  2500. /etc/inittab.
  2501.  
  2502. > 4 pty's (are these the consoles F1-4?)
  2503.  
  2504. No, those are 'pseudo' ttys, which programs like MGR use to simulate
  2505. tty connections.  That's probably a gross over-simplification, but it
  2506. gives you the general idea, I think.  :)
  2507.  
  2508. > p_init: lp1 exists (0) (is that the (l)ine (p)rinter?)
  2509.  
  2510. Right.
  2511.  
  2512.  
  2513. QUESTION: What is the meaning of files ended by .T.Z (or .taz) ?
  2514.  
  2515. ANSWER: The suffix Z is for compressed files (to uncompress them use
  2516. the command `uncompress file.Z`).
  2517. The suffix T indicates a "tar file" the usual suffix is tar but, the
  2518. 14 chars filename limit of the Minix filesystem makes it cumbersome to
  2519. use .tar.Z (to untar a file ended by .T, use the command 
  2520. `tar options file.T` (see the man page for more details).
  2521.  
  2522. For the .taz file, change them as .T.Z and go-ahead.
  2523.  
  2524.     
  2525. QUESTION: I have upgraded the kernel from XX to YY (XX > YY), however the
  2526. login screen still says YY.
  2527.  
  2528. ANSWER: Just change the message in one of these files: /etc/issue and
  2529. /etc/motd. The former contains the message before the login, the later
  2530. is the one after you are logged in.
  2531.  
  2532. QUESTION: What is doshell good for ?
  2533.  
  2534. ANSWER: It's an old program provided in the early Linux version (0.12)
  2535. when the getty was not already there, it spawns a shell on any tty's.
  2536. (Mattew Gream): I do this quite often ( getty on tty1, 2, 3 and my
  2537. rc.local spawns a shell on tty4 as follows
  2538.      '/usr/bin/doshell /dev/tty4 /bin/tcsh &'
  2539.  
  2540.  
  2541. QUESTION: I don't have the kernel sources, how can I change the keyboard
  2542. language?
  2543.  
  2544. ANSWER: You can use the fixkbd program written by
  2545. laurentj@hpgnse2.grenoble.hp.com. Its purpose is to fix the
  2546. keyboard map used in your kernel image. It works more or less a la
  2547. "rootdev" (or rdev). 
  2548.  
  2549.  
  2550.  
  2551.  
  2552. VIII. FEATURES 
  2553. ==============
  2554.  
  2555. QUESTION: I've read that linux has virtual consoles, what must I do to
  2556. get them?
  2557.  
  2558. ANSWER: Yes there are, you can access them with the left <alt>-key
  2559. together with <Fn>-key. With the Linux Images distribution, 4 consoles
  2560. are available, getty runs on them.  
  2561. Notice that they are NOT accessible when running X (contrary to some
  2562. commercial unices).
  2563.  
  2564. QUESTION: When Linux boots, I get the following message "8 virtual
  2565. consoles"; how can I acess to the 5-8 vc's ?
  2566.  
  2567. ANSWER: If you want the getty to run on the 5-8, you should add the
  2568. corresponding entries in /etc/inittab. You can also just run sh on
  2569. them by using the doshell soft.
  2570. And then in either case, the ALT-F[5-8] will access the corresponding
  2571. vc.  
  2572.  
  2573. QUESTION: What kind of shell is /bin/sh ?
  2574.  
  2575. ANSWER: It's the Bourne Again Shell, bash-1.12.3 and 
  2576. compilation was straightforward, just "make" 
  2577. that's all or nearly. 
  2578. BTW There does exist different shells for Linux, these are:
  2579. bash, rc, zsh, tcsh and pdksh (a korn shell).
  2580.  
  2581.  
  2582. QUESTION: Does there exist a man page for **** ?
  2583.  
  2584. ANSWER: Download man.tar.Z from your favorite linux ftp site, there is
  2585. most of the fileutils man page -- either **** or g****, example there
  2586. is nothing on ld, but there is for gld :) --, check the whatis
  2587. database provided. The files in the cat1 dir are pre-formatted man
  2588. pages that the man program can use. Quite recently the man pages for
  2589. section 2 have been written (thanks Drew) and can be found, at least
  2590. at tsx-11 in /pub/linux/docs/man/man2.tar.Z 
  2591.  
  2592. Also manpages are in the SLS on the b? disks.
  2593.  
  2594. BTW there is nroff and groff for Linux. Cawf 2.0 works just
  2595. fine for simple man pages, and a partial ms support too. 
  2596.  
  2597.  
  2598. Moreover Michael Johnson is the coordinator for man pages under Linux,
  2599. he is looking for volunteers, so contact the DOC Channel.
  2600.  
  2601. QUESTION: Is there a simple man package (groff is too big):
  2602.  
  2603. ANSWER: "Cawf -man" also "fm -m" (Al Clark) tsx-11 in
  2604.      /pub/linux/binaries/usr.bin/fm.tar.Z 
  2605.  
  2606.  
  2607. QUESTION: What are the editors available in linux?
  2608.  
  2609. ANSWER: Right now there are uemacs-3.11, elvis-1.4 (1.5). 
  2610. Gnu Emacs is there, read the section devoted to it in the 4th part of
  2611. this FAQ. Also the port of mg (micro gnu) has been done and can be
  2612. found at least at athos.rutgers.edu (128.6.4.4) 
  2613. in pub/linux, mg is the binary and mg.tar.Z is the sources file. You
  2614. can also find a PD ed, and elvis has an ex mode. Finnally there are
  2615. joe, vile-3.11, elle (Elle Looks Like Emacs), Xedit and aXe.
  2616.  
  2617. QUESTION: Does there exist a printer package for Linux?
  2618.  
  2619. ANSWER: (R. Miller) Yes.  The "plp" package is currently available
  2620. under the directory [/pub/linux]/BETA/plp on tsx-11 and its mirrors.
  2621. You may also print things manually like so:  cat filename > /dev/lp1 
  2622. (Note that though "/dev/lp0" exists, most people find that their
  2623. printer is on /dev/lp1.  Use whatever the kernel says that it detects
  2624. in the boot-up messages.) 
  2625.  
  2626.  
  2627. QUESTION: How do I make swapping work?
  2628.  
  2629. ANSWER: Quite simply, you need the swapon and the mkswap binaries.
  2630. Then you can choose between a swap partition or a swap file.
  2631. The mkswap is used to write the "swap signature", whilst the swapon
  2632. binary is to activate the swapping. 
  2633.  
  2634. First of all you need a partition :), I assume it's the second of your
  2635. first disk namely /dev/hda2, and it's 10MB big
  2636. A) swap partition:
  2637. you have to indicate it's a swap area, this is done via mkswap
  2638. (instead of mkfs) which needs the name of the partition and the size
  2639. in blocks (a block is 1Ko big); the optional -c flag is for bad block
  2640. checking. So for our example you should perform:
  2641. mkswap [-c] /dev/hda2 10000
  2642. Then you need to indicate that you want linux to use the swap area,
  2643. this is done via swapon. In general it is set in the /etc/rc file,
  2644. just put the following entry:
  2645. /bin/swapon /dev/hda2
  2646. It can also be achieved via the /etc/fstab file
  2647. B) swap file:
  2648. The process is quite close; you need a partition, and a swap file.
  2649. Assume that I prefer a swap area of 4MB (I want to keep some place in
  2650. /dev/hda2). I need first to "dd" the file.
  2651. dd if=/dev/hda2 of=/swap_file bs=1024 count=4096
  2652. bs stands for block size, and count is the number of blocks
  2653. then I have to put the "swap signature" on that file:
  2654. mkswap /swap_file 4096
  2655. At this point, you should 'sync', just to be sure the signature is
  2656. effective. And finally add an entry in the rc file:
  2657. /bin/swapon /swap_file
  2658.  
  2659.  
  2660. QUESTION: When I boot I get one of the following messages:
  2661. "Unable to find swap signature" or "Bad swap-space bitmap"
  2662.  
  2663. ANSWER: You probably forgot to make your swap-device, use the mkswap
  2664. command. 
  2665.  
  2666.  
  2667. QUESTION: How do I know if it is swapping?
  2668.  
  2669. ANSWER: You will notice it :)) First of all, Linux tells you at boot
  2670. time, "Adding swap: XXX pages of swap space", and if you start running
  2671. out of memory, you will notice that the disk will work overtime, and
  2672. things slow down. Generally a 2Meg RAM will make the system swap
  2673. constantly while running gcc, 4 Meg will swap occasionnaly when
  2674. optimizing big files (and having other things active, such as make).
  2675. Also, the command 'free' (from the ps package) reports total enabled
  2676. swap space and current swap use.
  2677.  
  2678.  
  2679. QUESTION: How is it possible to remove a swap file?
  2680.  
  2681. ANSWER: Simply perform a rm on that file, and remove the swapon of
  2682. your /etc/rc file.
  2683.  
  2684.  
  2685. QUESTION: How is it possible to remove a swap device?
  2686.  
  2687. ANSWER: mkfs the device, and remove the swapon of your /etc/rc file.
  2688.  
  2689. QUESTION: How much swap space do I need ?
  2690.  
  2691. ANSWER: Linux does not perform real swapping, it's rather paging (see
  2692. below for a more complete explanation). The swap area is *added* to
  2693. the memory and can be viewed as virtual memory, so choose the size you
  2694. need, example:
  2695.  
  2696.         8MB RAM + 6MB swap => 14MB virtual memory
  2697.  
  2698. QUESTION: Could someone explain the swap process on Linux?, is it
  2699. swapping or paging ?
  2700.  
  2701. ANSWER: (Linus) Linux uses swap as /additional/ memory, one page of
  2702. the swap-space is used for the good-page bitmap and the swapspace
  2703. signature. 
  2704. In fact Linux does only paging, no swaping in the meaning "write out
  2705. one whole process to disk".
  2706. The reason it's called swapping is that Linux used paging for memory
  2707. management on a low level since the very beginning, but didn't page to
  2708. disk at all until 0.12. 
  2709.  
  2710. QUESTION: Is demand paging different from paging and How ?
  2711.  
  2712. ANSWER: (Linus) Demand-paging is really "demand loading of
  2713. executables" and is totally independent of the page-swapping
  2714. algorithms, although they have similarities. When Linux strts up a
  2715. process, no actual code space is loaded: I let the page exceptions
  2716. load in the executable as needed. Thus Linux demand-loads the code and
  2717. initialized data it needs.
  2718. Demand-loading has very good points: (a) it simplifies the exec system
  2719. call; (b) it means page sharing between that have excuted the same
  2720. file is easy to implement; (c) it cuts down on the amount of memory
  2721. required. When Linux runs out of real memory, it starts to lock for
  2722. pages it can swap out, but if it notices that the page is clean, it
  2723. just forgets about it, and demand-loads it when it's needed again.
  2724. Thta means that swap-file isn't needed as much, especially when
  2725. running big binaries such as gcc, where the code-pages can be
  2726. demand-loaded as you wish.
  2727.  
  2728. Point (c) means that even without any swap space, you can usually run
  2729. slightly larger programs that your memory setup would actually permit.
  2730. I've noticed this while running X and doing a kernel compilation +
  2731. something else wshen I've forgotten to turn on swapping: free reports
  2732. 0 page available but things still work, although performance is
  2733. slightly down... 
  2734.  
  2735. QUESTION: Is there any way to tell how much swap space you are using
  2736. or have left? 
  2737.  
  2738. ANSWER: The free program provided with the ps package handles this.
  2739.  
  2740.  
  2741. QUESTION: I have a 2Megs box, but "free" reports only 1Meg why?
  2742.  
  2743. ANSWER: (Linus:) "free" doesn't concern with the memory the kernel has
  2744. allocated for itself. In other words what you see is the *user* memory
  2745. available. The kernel has taken the low 1Meg for it's use (~250Ko for
  2746. it and the rest for buffer cache and kernel data structures); for big
  2747. memory machine it could be even 2Megs.
  2748.  
  2749. QUESTION: What tape drives work with Linux ?
  2750.  
  2751. ANSWER: (24 sept. P. Riipinen)
  2752. - There is a working QIC-02 device driver for Linux, supporting (at
  2753.   least) Everex/Wangtek cards.
  2754. - There are additional patches for the QIC-02 to support Archive
  2755.   SC402/499R. You can find them in /pub/linux/alpha/qic-02 at tsx-11
  2756.   There are some bugs in the driver but you can backup.
  2757. - Newer drivers are all SCSI, so check the SCSI section in this FAQ.
  2758.  
  2759. QUESTION: Is there only the %$#@ keyboard ?
  2760.  
  2761. ANSWER: There are Dannish, Finnish, French, German, Uk, US and DVORAK 
  2762. keyboards. Set it in the main Makefile of the kernel sources, then  
  2763. (re)compile the kernel again. Make sure the files in kernel/chr_drv
  2764. directory are recompiled.   
  2765.  
  2766.  
  2767. QUESTION: (special FINNISH/US) I booteed up with the new image and
  2768. everything work except that some keyboard keys produce wrong
  2769. characters. Does anyone know what is happening?
  2770.  
  2771. ANSWER: Since 0.95a images are US product (and so are US-keyboard
  2772. oriented), BUT linux sources are FINNISH product, and so the default
  2773. keyboard is set to be FINNISH. The solution is in the previous Q/A.
  2774.  
  2775.  
  2776. QUESTION: Does there exist shared libs ?
  2777.  
  2778. ANSWER: (H.J. Lu, hlu@eecs.wsu.edu, 09/01/92)
  2779.  
  2780. The shared library under Linux started at 0.12. Peter MacDonald
  2781. collaborating with Linus made the first generation of shared library,
  2782. which is the base of the current classic shared library.
  2783.  
  2784. The kernel support of shared library under Linux is system call
  2785.  
  2786. extern int uselib (const char *__filename);
  2787.  
  2788. which loads an executable image with fixed entry point into memory,
  2789. just like the ordinary executables.
  2790.  
  2791. In crt0.s, a function which can find out if and which shared images
  2792. are needed and loads them is invoked before `main ()' is called if
  2793. necessary. David Engel and I developed a way to tell the loader which
  2794. shared images have to be loaded, utilizing the similar technique used
  2795. in global constructor in g++ 2.x with the help from GNU binary
  2796. utilities.
  2797.  
  2798. In the classic Linux shared library, we build a big executable image 
  2799. for several libraries and make sure no external variables outside of
  2800. the participating libraries are referenced. Then we can get the
  2801. absolute addresses of all the global variables defined in the
  2802. libraries used to build that executable image. After that, we make a
  2803. stub library for each participating library which just has the
  2804. absolute addresses of all the global variable in it.
  2805.  
  2806. For each shared image, there must be one and only one file, usually
  2807. called, __shared.o, which defines a global variable containing
  2808. version, name and entry point of the shared image, and a dummy global
  2809. data. Among those libraries used to build the shared image, there must
  2810. be one library which will always be referenced whenever any other
  2811. library is referenced. We put `__shared.o' into the stub library for
  2812. that library and add a declaration for the dummy global data defined
  2813. in `__shared.o' which will make sure `__shared.o' will always be linked
  2814. in when any participating libraries are linked.
  2815.  
  2816. In gcc 2.2.2d, jump table, developed by David Engel, was introduced in 
  2817. the shared library. At the beginning of each shared image, there is
  2818. a table in which every library function has a fixed entry address and
  2819. the instruction at that address is a jump which will lead to the
  2820. real library function. So we can change the library function without
  2821. changing the corresponding entry address of the jump table. For the
  2822. global data we put them at the beginning of data section of the shared
  2823. image. We have to separate them from text code and link them in fixed
  2824. order. It is very hard to maintain the same addresses for the global
  2825. data when library is changed. After the global data are set up properly
  2826. and some spaces are left for possible future changes (that is a very
  2827. tough procedure.), it isn't too difficult to maintain.
  2828.  
  2829. In the current implementation, only libc.a, libcurses.a, libdbm.a,
  2830. libtermcap.a and libm.a are built with jump table. The global data in
  2831. X11 libraries are too complicated to make jump table such that their
  2832. addresses won't change when there is a change in X11 libraries. It's
  2833. not apparent yet that the benefits gained from a jump table version of
  2834. the X libraries would offset the effort required to set it up and
  2835. maintain it unless we get some cooperation from X Consortium, which
  2836. is very unlikely. But they are linked with jump table version of
  2837. libc.a and libm.a. That means they don't have to be relinked when
  2838. there is a modification in libc.a or libm.a.
  2839.  
  2840.  
  2841. QUESTION: Does Linux work for SCSI drives?
  2842.  
  2843. ANSWER: Yes since v0.96. At headrest.colorado.edu in /pub/scsi, you
  2844. will find the last SCSI alpha/beta version and also a special SCSI
  2845. FAQ, read it, it  contains the latter information than the one provided
  2846. in the SCSI section. You should, also, contact the linux-scsi list or
  2847. directly drew@cs.colorado.edu  
  2848.  
  2849.  
  2850. QUESTION: Linux is supposed to work with ESDI drive. However I have
  2851. trouble with my Magtron MT-4115E (Joincom controler), any clue?
  2852.  
  2853. ANSWER: (Linus) Some harddisk don't like linux (even though they
  2854. should). Maybe not a bug but a deficiency.
  2855. (Mika) I had to remove the printk "unexpected hd interrupt" statement
  2856. in hd.c because I was getting so many of those messages. Be warned
  2857. that if there is any read error the system just hangs, even the
  2858. ctrl-alt-del won't work. You should be able to use your ESDI drives if
  2859. you could live with those nuisances.
  2860.  
  2861. QUESTION: How does one go about applying a patch to Linux ?
  2862.  
  2863. ANSWER: (Drew Eckhardt) In the unix world most of distribution are in
  2864. source form. This includes the operating system. To apply a patch, you
  2865. apply it with the 'patch' program to the affected sources. The patch
  2866. program takes as input the differences between the old and the new
  2867. version. After patching you need to recompile the sources.
  2868.  
  2869. Assume I want to apply a patch enclosed in the file XXX. First of all
  2870. I will look at the top of XXX, where the file affected is identified.
  2871. This may have aleading path attached to it. Either cd out to the
  2872. "root" of the patch, ie if I see
  2873. linux/kernel/blk_drv/blk.h
  2874.  
  2875. I would cd into /usr/src 
  2876. (assuming it's the place where I can find linux/kernel...) 
  2877. and then patch as follows
  2878. patch -p0 < whatever_place/XXX
  2879.  
  2880. or, you can specify a number of path components to strip from the
  2881. path. If I am in the blk_drv directory patching would be
  2882. patch -p3 < whatever_place/XXX
  2883.  
  2884.  
  2885. QUESTION: There are a lot of patches available (ps patch, NFS patches,
  2886. CD-ROM patches ...) can I be fairly confident the subsequent patches will
  2887. work?
  2888.  
  2889. ANSWER: This is not true yet for the current version; but it will be
  2890. so I kept it :) 
  2891. No you can't, patching is a real beta tester art :)).  People are not
  2892. working on the same patched release, so you have to check if the
  2893. patches you already applied works on the same kernel part, if not,
  2894. /great/, just apply them. If yes, check if there is an order, patch
  2895. creator knows that, and (should) try to warn patch user (in other
  2896. words: beta tester) otherwise you should edit the patch files (and
  2897. possibly make a brief note to others on this list/newsgroup or even a
  2898. cdiff) before applying them, another solution is to keep cool and wait
  2899. for the next version of Linux where, in general, the modifications
  2900. have been done but this behavior is /not/ Linux helpful.
  2901.  
  2902.  
  2903. QUESTION: I got the patches on some ftp sites, and applied them to the
  2904. kernel and tried to compile. It didn't !!. Are the patches buggy?
  2905.  
  2906. ANSWER: Before remake, just do a make clean in the directories
  2907. involved by the patches. This will force a rebuild of the .o and .a
  2908. files. 
  2909. If you have a RCS running on your source tree, did you checked a
  2910. patched version of the files changed before /any/ CO either by you or
  2911. make
  2912.  
  2913. Finally, make sure the patches succeded. Normally, failed patches on a
  2914. file FILE will leave a FILE# file. Moreover you will get a "chunk
  2915. failed" message. It is possible to capture the output while patching,
  2916. with the following:
  2917.  
  2918.     patch -p0 < patchfile | 2>&1 patch.result | more
  2919.  
  2920.  
  2921. QUESTION: What is VFS?
  2922.  
  2923. ANSWER: (Ted) Linux 0.96 already has Virtual FileSystem, which means
  2924. that it acts as a filesystem switch. It makes it easy for someone to
  2925. design another filesystem format and include it in the Linux kernel
  2926. along with the standard minix filesystem format. So it /enables/
  2927. someone to design a robust filesystem which would have some nice
  2928. properties (no 14 chars file name limitation, nor 64Meg limit), and
  2929. could be included in the kernel in such a way that both the Minix and
  2930. the new one could be mounted at the same time. This solves the
  2931. uncompability problem; since the root disk could still use the Minix
  2932. filesystem, while the hardisk could be using the new one.
  2933.  
  2934.  
  2935.  
  2936. QUESTION: What's about Bus Mice ?
  2937.  
  2938. ANSWER: (Nathan I. Laredo) Since the Linux v0.96c-pl2 the kernel does
  2939. support LOGITECH and BUS MICE 
  2940. If you are unsure that you have a bus mouse or not, check to see if
  2941. your mouse card has a selection for a sample rate switchable between
  2942. 30Hz and 60Hz (or possibly 25/50Hz), if it does not, then it is NOT a
  2943. true  bus mouse (InPort mice for example will not work with this
  2944. driver). 
  2945. To create a bus mouse device:
  2946. mknod /dev/mouse c 10 0
  2947.  
  2948.  
  2949. QUESTION: What's about TeX ?
  2950.  
  2951. ANSWER: The primary site for Linux TeX is 129.78.66.1, this is 
  2952. P. Williams' site in Australia. The stuff at tsx-11 was posted by 
  2953. T. Dunbar  who does support/maintain the dvilj stuff.
  2954.  
  2955.  
  2956. QUESTION: What's about LILO ?
  2957.  
  2958. ANSWER: (Werner Almesberger)
  2959. LILO  -  Generic Boot Loader for Linux ("LInux LOader") 
  2960.  
  2961. This is an ALPHA test release of a new boot loader. Be sure to have
  2962. some means to boot your system from a different media if you install
  2963. LILO on your hard disk.
  2964.  
  2965. Features
  2966. --------
  2967.  
  2968. - does not depend on the file system. (Tested with Minix, EXT FS and MS-DOS
  2969.   FS.)
  2970. - can be used to boot from floppies and from hard disks.
  2971. - can replace the master boot record.
  2972. - can boot non-Linux systems (MS-DOS, DR DOS, OS/2, ...) and unstripped
  2973.   kernels.
  2974. - supports up to 16 different boot images that can be selected at boot
  2975.   time. Root and swap disk/partition can be set independently for each
  2976.   image.
  2977. - boot sector, file map and boot images can be all on different disks or
  2978.   partitions.
  2979.  
  2980.  
  2981. Restrictions and known problems
  2982. -------------------------------
  2983.  
  2984. - SCSI disks are not fully supported yet. (Still waiting for some kernel
  2985.   changes.)
  2986. - booting other operating systems doesn't seem to work everywhere. If
  2987.   everything but booting a non-Linux OS from LILO works on your system,
  2988.   you should boot LILO by BOOTACTV and select the alternate OS with the
  2989.   latter as a temporary work-around.
  2990. - booting non-Linux systems from the second hard disk ("D:") is not yet
  2991.   supported.
  2992.  
  2993. Please send all bug reports to almesber@nessie.cs.id.ethz.ch
  2994.  
  2995.  
  2996. QUESTION: What's about MGR ?
  2997.  
  2998. ANSWER: (General Information grabbed from various sources)
  2999. There is a MGR channel available , contact the request adress with
  3000. help in the body: linux-activists-request@niksula.hut.fi 
  3001. The stuff can be found at banjo in pub/Linux/MGR
  3002. In brief:
  3003.  
  3004. MGR provides:
  3005.     - multiple overlapping windows
  3006.     - multiple fonts
  3007.     - text and graphics in each windows
  3008.     - a simple popup menu package
  3009.     - a client/server model 'a la' X
  3010.     - independance from any peculiar networking technology
  3011.  
  3012. MGR consist of a server process and some clients. Each client has his
  3013. own window, and can create subwindows. Clients communicate with the
  3014. server via a bidirectionnal channel. A C library is provided.
  3015.  
  3016. When a new window starts, it is as a terminal emulator running the
  3017. shell; for more information you can grab the mgr-man.out from
  3018. bellcore.com 
  3019.  
  3020.  
  3021. QUESTION: I have successfully compiled MGR, but when I try to run the
  3022. program I get "can't find mouse" or "already in use", any clue?
  3023.  
  3024. ANSWER: try the following "mgr -m /dev/ttys1" if the mouse is on
  3025. the serial 1. Another possibility is to link /dev/mouse with
  3026. /dev/ttys1 (assuming your mouse is on serial 1). Or if it's a bus
  3027. mouse, "mknod /dev/mouse c 10 0" once.
  3028.  
  3029. QUESTION: Any tips for MGR?
  3030.  
  3031. ANSWER: Well, I have tried it on my 386Sx Ega/Vga; the screen is Ok
  3032. but the Logitech mouse I have is not well recognized.
  3033.  
  3034. BTW check the major/minor number for pty's; they should be character
  3035. device with 4 as major and 128 and bigger as minor:
  3036. ptyp0 c 4 128
  3037. ptyp1 c 4 129
  3038. ...
  3039. ttyp0 c 4 192
  3040. ttyp1 c 4 193
  3041.  
  3042. QUESTION: What's about X11 ?
  3043.  
  3044. ANSWER: See the section devoted to X11 in this FAQ.
  3045.  
  3046.  
  3047. IX. GCC MISC INFORMATION
  3048. ========================
  3049.  
  3050. The official release of GCC for Linux is 2.2.2d, information for the
  3051. previous versions (1.37, 1.40) can be found in FAQ of July 92.
  3052.  
  3053. I think this section is needed, 'cause a) gcc is the compiler under
  3054. Linux, and b) the gcc-2.x is still evolving, and many information change
  3055. constantly. 
  3056. To conclude this short introduction (in fact the conclusion will be
  3057. longer than the introduction :), the most recent release of gcc-2.2.2d
  3058. can be found at tsx-11 in /pub/linux/GCC, and also at
  3059. fgb1.fgb.mw.tu-muenchen.de under /pub/linux/GCC, and one of the
  3060. "specialist" is Hongjiu Lu (hlu@eecs.wsu.edu). There is a special 
  3061. channel for GCC, feel free to contact the linux-activists list.
  3062. The Information provided in this section which envolved GCC2.xx
  3063. are extracted from the FAQ GCC, written by Hongjiu, provided
  3064. with the current distribution of gcc /READ IT/
  3065. Finally whenever you report a bug please give the version of gcc, the
  3066. version of your kernel, otherwise NO ONE can help you.
  3067.  
  3068.  
  3069. QUESTION: I don't know how to install gcc stuff, is there special
  3070. places?
  3071.  
  3072. ANSWER: gcc-2.xx is splitted in 3 main files 2.xxdb.tar.Z,
  3073. 2.xxlib.tar.Z and 2.xxmisc.tar.Z, some utilities (binutils.tar.Z) and
  3074. shared libraries are also provided. To install them do the following:
  3075.  
  3076. First of all, backup the old compiler. YOU MUST BE SURE THERE IS NO
  3077. OTHER C COMPILER INSTALLED ON YOUR SYSTEM. What is meant by compiler
  3078. is all the stuff: binaries, header files, libraries and crt0.o. I
  3079. assume that whateverplace contains the 2.xxfiles you have downloaded.
  3080.  
  3081. cd /usr
  3082. tar xvpzf whateverplace/2.xxmisc.tar.Z
  3083.  
  3084. read the FAQ, and README in /usr/install/gcc2. 
  3085.  
  3086.  
  3087. QUESTION: What are the contents of them?
  3088.  
  3089. ANSWER: 2.xxdb.tar.Z contains cpp, libg.a and libc_p.a. 2.xxlib.tar.Z
  3090. contains cc1 and cc1plus. 2.xxmisc.tar.Z contains gcc 2.xx drivers,
  3091. header files, libraries, manual pages and installation instructions.
  3092. Another file, XXXXinc.tar.Z, where XXXX is the current version number
  3093. of Linux kernel, has all the header files to replace the header files 
  3094. from kernel. YOU MUST INSTALL IT. Please read README for details.
  3095.  
  3096. (gcc.2.2.2d 08/15/92)
  3097. 1. 2.2.2ddb.tar.Z (libg.a, libc_p.a and jump stable stuffs)
  3098.    You just have to install jump/lib*.so.* by hand.
  3099. 3. 2.2.2dg1.tar.Z (libg.a compiled with -g1 to get a smaller libg.a)
  3100. 4. 2.2.2dfix4.tar.Z (<time.h>, <limits.h>,  <unistd.h>, libc.a and
  3101.    shared/*.a)
  3102. 5. shlib-2.2.2d.tar.Z (build the stub libs for the shared libs.)
  3103. 6. libc-2.2.2dfix4.tar.Z. It has the following files:
  3104.  
  3105.     ./posix/sysconf.c
  3106.  
  3107. You need to delete by hand libinet.a in
  3108.     /usr/lib/gcc-lib/i386-linux/2.2.2d
  3109.  
  3110.  
  3111.  
  3112. QUESTION: I seem to be unable to compile anything with gcc. Why?
  3113.  
  3114. ANSWER: If you have only 2 MB RAM, gcc will die silently without
  3115. compiling anything. You must have at least 4 MB to do compilations
  3116.  
  3117. BTW Since swapping is possible, I have heard that compilation works 
  3118. with only 2Meg and a lot disk traffic :) Isn't it great?
  3119.  
  3120.  
  3121. QUESTION: gcc complains about not finding crt0.o and the system
  3122. include files What am I doing wrong ?
  3123.  
  3124. ANSWER: The include files normal place is in /usr/include. lib*.a and
  3125. *.o should be in /usr/lib or /usr/local/lib
  3126.  
  3127.  
  3128. QUESTION: I tried to port a /new/ version of gnu stuff. But in the
  3129. linking phase, gcc complains about the missing libg.a. 
  3130.  
  3131.  
  3132. ANSWER: Yes this is well known for compiler version earlier than
  3133. 2.2.2, throw away the flag -g that's all, anyway libg.a is /only/ for
  3134. debugging purpose. 
  3135.  
  3136.  
  3137. QUESTION: How to compile programs which may be debugged with gdb?
  3138.  
  3139. ANSWER: There are different ways to handle this problem. If
  3140. you have the gcc2.2.2 or later it's simple, use the -g flag. Otherwise
  3141. there are different possibilities:
  3142. 1) As there is no libg.a, you should throw away the -g flag in link
  3143. phase, this means that the compilation must be done in two steps
  3144. example: instead of "gcc -g monprog.c -o monprog", use the following
  3145. "gcc -g -c monprog.c" and then "gcc -o monprog monprog.o"
  3146. Alas this method is not that good if you are using Makefile.
  3147. 2) The other way is to create an empty libg.a as follows (Peter
  3148. Macdonald trick):
  3149. - create libfake.c containing libgfake() {}
  3150. - compile it with: gcc -c libfake.c
  3151. - create the libg.a with: ar r libg.a libfake.o
  3152. 2bis) The more tricky Humberto method:
  3153. cd /usr/lib
  3154. ranlib libg.a
  3155.  
  3156. then gcc -g monprog.c -o monprog will produce a debuggable monprog
  3157.  
  3158.  
  3159. QUESTION: When compiling some code, cc1 complains about some insn
  3160. code, what's that? 
  3161.  
  3162. ANSWER: An insn is an internal representation that gcc uses when
  3163. compiling. The main part of gcc is to take ordinary c (or c++) code,
  3164. and compile it, while ding optimizations in insn part, which is
  3165. soft/hard independant. Then another part which is hard/Os dependant
  3166. takes the insns and translate it in assembly language. The fix is only
  3167. to turn off the optimization flag (-O). 
  3168.  
  3169.  
  3170. QUESTION: While compiling some stuff, I'm getting the following 
  3171. error message:
  3172. Undefined symbol ___addsf3 referenced from text segment
  3173. as well as ___mulsf3 and __cmpsf2. 
  3174. These symbols are not in the program or in it's header files.
  3175.  
  3176. ANSWER: These are math helper functions, and you can usually compile
  3177. these programs to use the kernel floating point routines by adding
  3178. '-m80387' to the compiler switches. If the program does any wierd 
  3179. fp math (exp(), sin()) it'll die when you run it though.
  3180.  
  3181.  
  3182.  
  3183. QUESTION What's about gcc2.x ?
  3184.  
  3185. ANSWER: It has been ported to linux, it is (pretty) stable and works. 
  3186. The files are 2.xxlib.tar.Z and 2.xxmisc.tar.Z Uncompress and untar
  3187. 2.xxmisc, read the FAQ enclosed and play with it.  You can find these
  3188. files at tsx-11 in binaries/compilers/gcc-2.x. One of the most recent
  3189. version is on tsx-11 and fgb1.  
  3190. The shlib.tar.Z enables you to create shared libraries, read the
  3191. README file included
  3192. The 096inc.tar.Z contains the header files from the kernel
  3193.  
  3194.  
  3195. QUESTION: I can't run g++ due to the lack of "expr"; where can I find
  3196. it ?
  3197.  
  3198. ANSWER: In the shellutils-1.6.tar.Z (or whatever is the last release)
  3199. on prep.ai.mit.edu 
  3200.  
  3201. QUESTION: I have grabbed the new gcc2.xx, but I can't use it whenever 
  3202. I compile (even hello world program) I get "parse error before ('s";
  3203. any clue ?
  3204.  
  3205. ANSWER: Yes, it's caused by bad compress/tar binaries, use the one 
  3206. provided at tsx-11 in linux/binaries/usr.bin
  3207.  
  3208. QUESTION: Is there a bug in how g++ and gcc handle include files?
  3209. 'cause I can't get them to find files in the g++-include directory.
  3210.  
  3211. ANSWER: Did you run "fixfiles"? The file permission in g++-include is
  3212. 640 and should be 444.
  3213.  
  3214.  
  3215. QUESTION: I've seen on my ftp-server that there are different
  3216. ***fix*.tar.Z files in the GCC directory, do I need them? 
  3217.  
  3218. ANSWER: If you got a very early copy of gcc 2.2.2, please get
  3219. 2.2.2fix1.tar.Z and 2.2.2fix2.tar.Z, and libc-linux.fix.tar.Z for the
  3220. C lib sources, and new shlib-2.2.2.tar.Z if you want. If you got gcc
  3221. 2.2.2 after you saw **fix*.tar.Z, you are fine. 
  3222.  
  3223. QUESTION: Is stdio ANSI compatible?
  3224.  
  3225. ANSWER: Yes, please test it.
  3226.  
  3227. QUESTION: Is g++ in 2.xx?
  3228.  
  3229. ANSWER: Yes.
  3230.  
  3231. QUESTION: How do I use gcc?
  3232.  
  3233. ANSWER: Read manual page, gcc.ps or gcc.man in /usr/install/gcc2.
  3234.  
  3235. QUESTION: What options can I use for gcc?
  3236.  
  3237. ANSWER: Read manual page, gcc.ps or gcc.man. Also -static tells gcc
  3238. to use the static libraries, -nojump forces gcc to use the classic
  3239. shared libraries. The default is the jump table version of shared
  3240. libraries. The shared libraries for X are linked with the jump table
  3241. version of shared C library.
  3242.  
  3243. QUESTION: Where is the source code of the new libc.a?
  3244.  
  3245. ANSWER: The same place you find this file. It is called 
  3246. lib-src-yy.xx.TZ.
  3247.  
  3248. QUESTION: Why does g++ complain, even die?
  3249.  
  3250. ANSWER: You need "expr", which is in GNU shell utilities 1.6, echo (?)
  3251. and sed.
  3252.  
  3253. QUESTION: How do I generate code for 486?
  3254.  
  3255. ANSWER: Add -m486 to CFLAGS.
  3256.  
  3257. QUESTION: I heard malloc (0) wouldn't work with Linux, what should I
  3258. do?
  3259.  
  3260. ANSWER: include <stdlib.h> and don't define NO_FIX_MALLOC.
  3261.  
  3262. QUESTION: Why does gcc say "xxxxx..h not found"?
  3263.  
  3264. ANSWER: see QUESTION: What are the contents of them?
  3265.  
  3266. QUESTION: I really followed every step in the documentation, but when
  3267. I do "make", why does it say "don't how to make xxxxxx"?
  3268.  
  3269. ANSWER: The dependency in Makefile is dated, you need to make a new
  3270. one. Please get some guide on make and read Makefile. For the kernel
  3271. sources, please do
  3272.  
  3273. cd src/linux
  3274. make dep
  3275.  
  3276. QUESTION: How do I compile programs under Linux?
  3277.  
  3278. ANSWER: The Linux C library is trying to be ANSI/POSIX compliant. It
  3279. is also very compatible with SYSV and BSD. The C library is loaded
  3280. with SYSV and BSD functions. There are three exceptions:
  3281.  
  3282. 1. signal in Linux is POSIX.
  3283. 2. tty in Linux is POSIX.
  3284. 3. time functions are POSIX, plus a few BSD and SYSV extensions.
  3285. 4. setjmp/longjmp functions are POSIX. But you can use -D__FAVOR_BSD
  3286.    to make it BSD or use sigsigjmp/siglongjmp.
  3287.  
  3288. When you compile a program under Linux, your best bet is include all
  3289. the appropriate header files and use -Wall. All the usable functions
  3290. and global variables are declared in the corresponding header files.
  3291. YOU SHOULD NOT DEFINE ANY functions or global variables OF THE LINUX C
  3292. LIBRARY IN YOUR CODE IF YOU WANT TO USE THE SHARED LIBRARIES.
  3293.  
  3294. After saying all those, you now should know you can compile a program
  3295. with -D_POSIX_SOURCE or -D_GNU_SOURCE (read <features.h> for details).
  3296. With a few modifications you can even use -DSYSV, -DUSG or -DBSD. Some
  3297. codes need to define -DSTDC_HEADERS for ANSI C compiler like gcc here.
  3298.  
  3299. To use malloc () and calloc () safely under Linux, please include
  3300.  
  3301. <stdlib.h> and don't define NO_FIX_MALLOC.
  3302.  
  3303. BTW, gcc -traditional should work with gcc 2.2.2d or above.
  3304.  
  3305. Please also read ChangeLog for the latest enhencement.
  3306.  
  3307. Please read the header files for details. Maybe you should get a book
  3308. on POSIX. Any suggestion of the book list?
  3309.  
  3310. QUESTION: When compiling #$@!, I've got some problems with "SIGBUS"
  3311. signal that doesn't exist. Any clue ?
  3312.  
  3313. ANSWER: (Louis J. LaBash, Jr.) SIGBUS is a common problem, its not
  3314. needed, just comment it all out, something like:
  3315.  
  3316. #ifdef SIGBUS
  3317. .. normal sigbus code ..
  3318. #endif
  3319.  
  3320. QUESTION: How can I write codes suitable for building shared library ?
  3321.  
  3322. ANSWER: (H.J. Lu, hlu@eecs.wsu.edu, 09/01/92)
  3323. There are some guidelines for writing codes suitable for building the
  3324. shared library with jump table.
  3325.  
  3326. 1. Never, ever allow library users to access global data directly.
  3327.    Always, always make them go through access functions.  That way,
  3328.    you are free to change the internal implementation, but can
  3329.    easily provide backward compatibility by simply replacing the
  3330.    access functions.
  3331.  
  3332. 2. If you do have to define some global data for library users to
  3333.    access, put them into a separate file. Never mix them with other
  3334.    library code. Also make sure the relative locations of the global
  3335.    data will not change very often. One solution is leave some spaces
  3336.    for them to grow.
  3337.  
  3338. X. SCSI SPECIAL
  3339. ===============
  3340. *** This section is written by Drew Eckhardt, mail him for any
  3341. *** information, questions related to this section.
  3342. *** Last update November 1992.
  3343.  
  3344.  
  3345. QUESTION: What SCSI hosts are supported?
  3346.  
  3347. ANSWER: The Adaptec 154x, Adaptec 174x Future Domain 16x0,  Seagate ST0x, 
  3348. Ultrastor 14F, and Western Digital 7000FASST  are supported.  Various Adaptec 
  3349. clones from Bustek and Future Domain are known to work, in both ISA and EISA 
  3350. flavors.
  3351.  
  3352. The TMC 950, and the discrete 8xx implementations will be supported 
  3353. in the new Seagate driver when debugging is finished.  If you want to 
  3354. use an older kernel, add 0x200 to the status and data register addresses.
  3355.  
  3356. Not very many BIOS signatures are included for the Future domain boards, so 
  3357. they may not auto-detect correctly.  
  3358.  
  3359. QUESTION: Which disks ?
  3360.  
  3361. ANSWER: Anything that works with your host adapter electronically, and
  3362. is new enough to support a December 1985 draft of SCSI-I.  
  3363.  
  3364. Sysquest, and other removeable hard disks are supported.
  3365.  
  3366. Extended partitions also work, with 11 Extended partitions per disk 
  3367. allowed in combination with the four real partitions and whole disk
  3368. sub device.
  3369.  
  3370. Disks up to two terabytes in size will work, since the sd drier
  3371. switches to 10 byte reads when necessary.
  3372.  
  3373. QUESTION: What about SCSI tapes ? 
  3374.  
  3375. ANSWER: Tapes are supported in the alpha SCSI drivers.
  3376.  
  3377. QUESTION: What about CD ROMS?
  3378.  
  3379. ANSWER: Stable support is in the kernel for SCSI CD-ROM drives, and the 
  3380. ISO-9660 file system is in beta test.  Rockridge extensions are supported.
  3381.  
  3382. QUESTION: How do I get SCSI information?
  3383.  
  3384. ANSWER: Subscribe to the SCSI channel of the linux-activists mailing list.
  3385. mail linux-activists@joker.cs.hut.fi 
  3386. And put in the header.
  3387.        X-MN-Admin: join SCSI
  3388.  
  3389. QUESTION :  I can't make a filesystem on /dev/hd*
  3390.  
  3391. ANSWER : /dev/hd* aren't your SCSI disks.  /dev/sd* are. 
  3392. See below for approproate major / minor numbers if they 
  3393. do not exist on your root diskette.
  3394.  
  3395. QUESTION: How do I partition the disk?
  3396.  
  3397. ANSWER: Use pfdisk or the DOS parititioning program of your choice
  3398.  
  3399. QUESTION: My partitioning program can't figure out the disk geoemetry
  3400.  
  3401. The problem with partitioning SCSI disks and Linux is that Linux talks
  3402. directly to the SCSI interface.  Each disk is viewed as the SCSI host
  3403. sees it : N blocks, numbered from 0 to N-1, all error free.  There is
  3404. no portable way to get disk geometry.  
  3405.  
  3406. However, DOS doesn't like things like this, it demmands that BIOS
  3407. present it with a normal Cylinder / Head / Sector coordinates.  So,
  3408. BIOS does, and it comes up with some fabrication that fits what DOS
  3409. wants to see.  You don't want to disagree with what BIOS thinks when
  3410. you write the partition table. 
  3411.  
  3412. The newest SCSI code will return the mapped geometry for some host 
  3413. adapter / disk combinations. Get the latest SCSI code from 
  3414. tsx-11.mit.edu:/pub/linux/ALPHA/scsi
  3415.  
  3416. QUESTION: The stock {f,pf}disk programs don't work.
  3417.  
  3418. ANSWER: At least some older versions of these partitioning programs have 
  3419. /dev/hd* hardcoded into them, and they don't see /dev/sd*.
  3420.  
  3421. If you want, YOU can change the /dev/hd* devices to be links to or
  3422. other entries for the SCSI devices.  
  3423.  
  3424. Also, pfdisk should be callable with a device name.
  3425.  
  3426. Hopefully, some one will change the partitioning programs to respect
  3427. the SCSI devices. 
  3428.  
  3429. QUESTION: Where is the latest version maintained?
  3430.  
  3431. ANSWER: tsx-11.mit.edu:/pub/linux/ALPHA/scsi
  3432.  
  3433. Join the list before you grab anything.
  3434.  
  3435. eric@tantalus.nrl.navy.mil (Eric Youngdale) added scatter/gather support 
  3436. to the SCSI drivers, and changed around the internal structures to get 
  3437. something that works as "version 2"
  3438.  
  3439. QUESTION: What are the major / minor numbers for SCSI drives?
  3440.  
  3441. ANSWER: Because of the large number of devices that can be hung off of 
  3442. a SCSI bus (as many as 56 if you use SCSI fanouts or bridge boards), 
  3443. and the possibility of 16 partitions on a SCSI disk, we'd run out of 
  3444. minor numbers if they were statically allocated - so a dynamic 
  3445. numbering scheme is used.
  3446.  
  3447. Block device major 8 is used for SCSI drives, 9 for SCSI tapes, and 
  3448. 11 for CD-ROMs.  
  3449.     
  3450. Minors are assigned in increments of 16 to SCSI disks as they are
  3451. found, scaning from host 0, ID 0 to host n, ID 7, excluding the host
  3452. ID.  Most hosts use ID 7 for themselves.
  3453.  
  3454. A minor where minor mod 16 = 0 is the whole drive, where minor mod 16
  3455. is between 1 and 4, that partition, extended partitions dynamically
  3456. assigned from 5 to 15 inclusive.  Note that the gendisk.c module
  3457. prints partition tables on initialization - you should be able to see
  3458. them there.
  3459.  
  3460. Example : I have four SCSI disks, set up as follows 
  3461.     Seagate ST02, ID=0
  3462.     Seagate ST02, ID = 5
  3463.     Ultrastor 14, ID = 0
  3464.     Adaptec 1542, ID = 0
  3465.  
  3466. The first disk on the seagate at ID 0 will become minors 0-15
  3467. inclusive, the second at ID5 16-31 inclusive, the disk on the
  3468. Ultrastor 32-47, on the Adaptec 48-63.
  3469.  
  3470. QUESTION: How do I reduce kernel bloat and eliminate the drivers I
  3471. don't want?
  3472.  
  3473. ANSWER: Simply #undef CONFIG_DISTRIBUTION in include/linux/config.h,
  3474. and define the macros for the SCSI hosts you want enabled.
  3475.  
  3476. QUESTION: I get SCSI timeouts.
  3477.  
  3478. ANSWER: Make sure your board has interrupts enabled correctly.
  3479.  
  3480. QUESTION: The seagate driver doesn't work.
  3481.  
  3482. ANSWER: There are several possibilities
  3483. 1) Is the board jumpered for IRQ5 ? 
  3484.  
  3485. The factory settings are
  3486. for MSLOSS, and have interrupts disabled.  Interrupts are controlled
  3487. by the W3 (ST01) or JP3 (ST02) jumper, which should have pins FG 
  3488. shorted.  See your manual.
  3489.  
  3490. 2) Cached machines will not have problems IF the Seagate's address
  3491. space (typically C8000 - CAFFFF) is not marked "non cacheable."
  3492. This applies to the i486 internal cache as well as i386/i486 
  3493. external caches.
  3494.  
  3495. This can be set in the XCMOS of most machines.  If you can't disable
  3496. cache for the Seagate's area (16K in size, starting at the base
  3497. address), then you must disable the cache entirely, otherwise
  3498. it won't work.
  3499.  
  3500. 3) The new seagate drivers (not yet released) can operate in a mode where 
  3501. the 0ws ISA bus line is used to synchronize the ISA and SCSI busses.  
  3502. This makes things fast, since the alpha Seagate driver can dump SCSI data out 
  3503. fast enough to swamp the bus.  However, this will only work if the 0ws 
  3504. jumper is enabled.  If this isn't the case, the Seagate driver "should" detect 
  3505. this as an over/under run condition, but it might not.  Either enable
  3506. the 0ws jumper, or #undef FAST in seagate.h.
  3507.  
  3508. QUESTION: The Adaptec driver doesn't work.
  3509.  
  3510. ANSWER: The Adaptec BIOS does some initialization that affects 
  3511. the driver.  If the BIOS was disabled, it may fail on your system.
  3512.  
  3513. Older versions of the SCSI drivers ran the 174x in 1542 emulation
  3514. mode, where some of these cards have a bug that interferes with 
  3515. reads / writes > 512 bytes. 
  3516.  
  3517. The new SCSI drivers support the 174x in 'native' mode, so this isn't
  3518. a problem.
  3519.  
  3520. QUESTION: What about bugs?
  3521.  
  3522. ANSWER: It works on MY hardware.  It works on Tommy Thorn's Adaptec
  3523. system, Dave Gentzel's Ultrastor, Thomas Wuensche's WD7000, Rick
  3524. Faith's Future Domain, and quite a few other systems.
  3525.  
  3526. Bugs that are there will mostly be very hardware specific, and nasty
  3527. to track down.  SCSI should be basically error free - consequently,
  3528. the error code has not been heavily tested, and there are known bugs
  3529. in it. 
  3530.  
  3531. If you have found a bug, please mail it to the mailing list with
  3532. specifics of your hardware.  Other people may have the same problem, a
  3533. solution, etc.
  3534.  
  3535. If you provide a patch, in context diff form, the bug will be fixed 
  3536. Immediately.  If you can provide me with a procedure that reproduces
  3537. the bug on *MY* system, the bug will be fixed "soon."  Your chances 
  3538. of getting it fixed increase exponentially with the amount of 
  3539. information provided.  If I can't reproduce it, and your 
  3540. description gives me no idea as to where in the code to  look,
  3541. it won't get fixed by me.
  3542.  
  3543. QUESTION: What are the known bugs?
  3544.  
  3545. ANSWER : 
  3546.  
  3547. Many of the drivers cannot abort a command that is in progress - if 
  3548. something goes haywire, all drives off that controller will hang.
  3549.  
  3550. QUESTION: I get a message saying READ CAPACITY FAILED. What does this
  3551. mean? 
  3552.  
  3553. ANSWER: UPGRADE.
  3554.  
  3555. QUESTION: Why does the system "hang" when SCSI disk access occurs.
  3556.  
  3557. ANSWER: Older Linux distributions (pre .97)  used  earlier versions
  3558. of the SCSI drivers, where the drivers were not interrupt driven
  3559. (easier debugging, or so we thought).  Since the drivers did not return
  3560. from the device driver strategy routine, until the SCSI command
  3561. completed, no other tasks were scheduled, and ineteractive performance
  3562. was abysmall. 
  3563.  
  3564. UPGRADE.
  3565.  
  3566. QUESTION: Why can't I swap to a SCSI disk?, Why can't I mount a SCSI
  3567. disk as root? 
  3568.  
  3569. ANSWER: This was due do a race condition that has since been fixed.
  3570.  
  3571. UPGRADE.
  3572.  
  3573. QUESTION: What future developments are planned?  
  3574.  
  3575. ANSWER: The following changes will/have occurred : 
  3576.  
  3577.     - have occurred : 
  3578.  
  3579.         - support for scatter / gather is there.  This 
  3580.           means that all read (and readaheads) will be 
  3581.           handled via one command.  
  3582.  
  3583.         - Significant changes have been made to the 
  3584.           Seagate driver.  Among other things, it supports the
  3585.           0ws line, which means we can dump data fast enough
  3586.           to flood the bus.  
  3587.  
  3588.         - Multiple outstanding commands per LUN are supported.  
  3589.           This should result in vastly improved performance
  3590.           on multi-device systems.
  3591.     
  3592.         - SCSI tapes are supported.
  3593.  
  3594.         - Support for LUN !=0 is there.
  3595.     
  3596.     - Planned
  3597.         - SCSI commands are issued as linked commands
  3598.           wherever possible, eliminating the arbitration / 
  3599.           selection / message out phases needed to start 
  3600.           a command "from scratch".
  3601.  
  3602.         - I have the mode page specs, and am looking at 
  3603.           doing "appropriate things" w.r.t. cache enable,
  3604.           buffer control, etc.  It seems that some drives
  3605.           power up, and keep the buffer off until told otherwise
  3606.           in software.
  3607.     
  3608.     
  3609. QUESTION: What drivers does the new code support.
  3610.  
  3611. ANSWER: ALL of the existing drivers work fine.  However, only an Adaptec 
  3612. scatter/gather driver is included in the alpha package.  The seagate 
  3613. scatter/gather driver is fast but not yet stable and still kernel 
  3614. panics.
  3615.  
  3616. QUESTION: WHEN?
  3617.  
  3618. ANSWER: Again, thanks to Eric's code contributions, it's available in 
  3619. alpha test now.  
  3620.  
  3621.  
  3622.        ===================8<==========>8================
  3623.  
  3624.  
  3625. XI. X11 THE MAXIMUM and MORE
  3626. ============================
  3627. *** This section is maintained by Krishna Balasubramanian
  3628. *** <balasub@cis.ohio-state.edu>. Mail him if you have corrections,
  3629. *** additions, etc.
  3630. *** Last update: Tue, 17 Nov 92 19:06:57 -0500
  3631.  
  3632. XI.A. X386 GENERAL INFORMATION
  3633. XI.B. HARDWARE REQUIREMENTS: Supported Video cards.
  3634. XI.C. LINUX DISTRIBUTION: Files required, Current version.
  3635. XI.D. LEARNING/USING X: Pointers to X documentation.
  3636. XI.E. DEBUGGING STARTUP PROBLEMS: Checklist, Screen restoration, Hanging.
  3637. XI.F. XCONFIG: Video mode settings and common errors in Xconfig.
  3638. XI.G. X-APPLICATIONS: Compiling X programs.
  3639. XI.H. BUGS
  3640.  
  3641. The X11 directories are (depending on your version of X)
  3642. XLIB = /usr/X386/lib/X11/ or /usr/lib/X11/ 
  3643. XBIN = /usr/X386/bin/ or /usr/bin/X11/
  3644.  
  3645.  
  3646.  
  3647. XI.A. X386 GENERAL INFORMATION
  3648. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3649.  
  3650. QUESTION: What is the X11 release supported by Linux?
  3651.  
  3652. ANSWER: It's the X11R5 (xfree86-1.1). 
  3653.  
  3654.  
  3655. QUESTION: What is X386/xfree86?
  3656.  
  3657. ANSWER: X386 is the port of the X11 server to System V/386 that was
  3658. done by Thomas Roell (roell@informatik.tu-muenchen.de).  It supports a
  3659. wide variety of VGA boards.  X386 1.2 is included in MIT's X11R5
  3660. distribution.
  3661.  
  3662. The Linux X386 port was based on the stock distribution from X11R5,
  3663. from MIT and was done by Orest Zborowski (obz@sisd.kodak.com).
  3664.  
  3665. It has since moved to becoming part of the standard xfree86 distribution.
  3666.  
  3667.  
  3668. QUESTION: Where can I get X386 1.2 (X11R5)?
  3669.  
  3670. ANSWER: The X386 1.2 and xfree86 sources are available at any site that
  3671. distributes the X11R5 source (too numerous to list here, but includes
  3672. export.lcs.mit.edu)
  3673.  
  3674.  
  3675. QUESTION: Any tips on compiling X11R5?
  3676.  
  3677. ANSWER:
  3678. -  Dont do it.
  3679. -  XFree86 is distributed with a link kit so you can optionally
  3680.     include what you like in the server.
  3681. -  You will need lots of disk space (around 150Meg for the MIT core). 
  3682. -  Look at mit/server/ddx/x386/README and follow any instructions for
  3683.     your particular platform. 
  3684. -  Contact the X11 channel at linux-activists
  3685.  
  3686.  
  3687.  
  3688.  
  3689. XI.B  HARDWARE REQUIREMENTS:
  3690. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3691. Approx: at least 4 megs of ram + swap ...slooooww. 10 Meg disk for X.
  3692. Another 6-10 meg of disk for GCC if you want to compile X11 programs.
  3693.  
  3694. QUESTION: What VGA boards are supported?
  3695.  
  3696. ANSWER: 
  3697.     et3000, et4000, gvga, pvga1a, wd890c00, tvga8900, ati ver. 5 or 6,
  3698.     8514/A, generic vga: 800x600 mono (Xmono), 640x480x16 (Xega).
  3699.  
  3700.     Diamond cards are not supported and will not be supported.
  3701. Contact Diamond if you have further questions or (better) buy another card. 
  3702.  
  3703. Standard x11v1.1 or xfree86 server:
  3704.     ET3000          (for ex. GENOA 5300/5400)
  3705.     ET4000          (Tricom, STB PWR Graph, Sigma Legend, etc.)
  3706.     GVGA            (Genoa 6400)
  3707.     PVGA1A          (Paradise VGA Professional) ... see BUGS.
  3708.     WD90C00         (Paradise VGA 1024)
  3709.  
  3710. supported by xfree86:
  3711.     TVGA8900        TRIDENT 8900 support is in xfree86      
  3712.  
  3713.     ATI             ATI VGA WONDER XL and most ATI VGA WONDER PLUS 
  3714.             cards (chip version 5 or 6). 
  3715.             Courtesy Rik Faith (faith@cs.unc.edu)
  3716. ATI Notes: An example Xconfig file is available from ftp.cs.unc.edu:
  3717. /pub/faith/linux/x386. Please note that:
  3718. 1) clock.exe does *NOT* work with ATI cards.  
  3719. 2) The ATI Wonder driver in xFree86 is known only to work with 
  3720.    chip version 5 and 6 cards.  This is most ATI VGA Wonder PLUS cards 
  3721.    and all ATI VGA Wonder XL cards (although sporadic problems have been
  3722.    reported even with these very recent cards). The driver will tell 
  3723.    you which ATI chip version you have, as will the ati.test program in
  3724.    XLIB/etc/ 
  3725.  
  3726.  
  3727. MONO    Any vga card should be able to use X386mono server. (At least
  3728.     640x480 with 800x600 virtual). Use vga2 section of Xconfig.
  3729.  
  3730. Also available as ALPHA test versions (join the X11 channel):
  3731. (The standard x386/xfree86 server will not handle the following cards)
  3732.  
  3733. 8514    ATI graphics ULTRA, ATI graphics Vantage 
  3734.     (should work with any VESA standard 8514/A register compatible card?)  
  3735.     tsx-11 pub/linux/packages/X11/X8514/  (X8514new.T.Z x.8514.src.T.Z)
  3736.     courtesy Kevin Martin (martin@cs.unc.edu).
  3737.  
  3738. Xega    Generic 640x480x16 compatible server (originally for laptops).
  3739.     This requires a microsoft mouse at /dev/mouse for now
  3740.     and it does not use Xconfig so use environment variables
  3741.     to define the font path etc. in .xinitrc:
  3742.     export FONT_PATH=/usr/lib/X11/fonts/misc:/usr/lib/X11/fonts75dpi
  3743.     Works better with courier fonts so add to .Xresources:  
  3744.     *Font: -*-courier-medium-r-*--10* ..or whatever..
  3745.     A link kit is available at tsx-11 (you need gcc2.2.2).
  3746.     in pub/linux/ALPHA/Xega/X386.ega.T.Z
  3747.     courtesy Marc Hoffman (marc.hoffman@analog.com).
  3748.  
  3749. The Xega server is compiled with the gcc-2.2.2 libs and should be 
  3750. upgraded soon. It should however work with programs/fonts in new X11
  3751. releases as long as you ensure you have the shared images needed by
  3752. the server in /lib.
  3753.  
  3754.  
  3755. XS3     S3 chipset server (Jon Tombs jon@robots.ox.ac.uk)
  3756. I've started a FAQ on ftp.robots.ox.ac.uk (pub/linux/S3), but the Xserver 
  3757. is still very alpha. Unless you know something about X386 and are prepared 
  3758. to work at it, stick with the mono XFree86 server until you see different 
  3759. advice. I'd hope to get the server integrated with XFree86 in the next 
  3760. couple of weeks. This will make most the current problems go away.
  3761.  
  3762.  
  3763. WARNING: Do not try to bring up an Xserver that does not support your 
  3764. hardware. There have been cases where damage has resulted from pushing
  3765. the monitor beyond its specs.
  3766.  
  3767.  
  3768. QUESTION: What Mouses are supported?
  3769.     
  3770. ANSWER: Serial : Logitech, Microsoft, MouseSystems .... compatibles ...
  3771.     Busmouses : Logitech, microsoft, ATI_XL, PS/2 (aux).
  3772.  
  3773.  
  3774. QUESTION: Has anyone gotten the "Mini-DIN" mouse on an HP Vectra 486/33T 
  3775. to work? The slight info I've been able to find says it's PS/2 compatible.
  3776.  
  3777. ANSWER: First you need to create an entry in /dev for it:
  3778.  
  3779. mknod /dev/psaux c 10 1
  3780.  
  3781. There is no direct PS/2 mouse support in XFree86 yet, so to use the
  3782. mouse with X you'll have to use the mconv mouse protocol conversion
  3783. utility, which can be found on nic.funet.fi, in
  3784. /pub/OS/Linux/utils/tools/mconv.c. This program converts the packets
  3785. sent by the PS/2 mouse into the corresponding ones from a Microsoft
  3786. mouse, so you can fool X telling it you have a Microsoft serial
  3787. mouse instead. Instructions for use are included in the source file.
  3788. (Johan Myreen jem@cs.hut.fi)
  3789.  
  3790.  
  3791.  
  3792.  
  3793.  
  3794.  
  3795. XI.C. LINUX DISTRIBUTION
  3796. ~~~~~~~~~~~~~~~~~~~~~~~~
  3797.  
  3798. QUESTION: What is the current version?
  3799.  
  3800. ANSWER: The newest public Linux release is x11v2.1. It is the linux 
  3801. release of xfree86-1.1. It was compiled with gcc-2.2.2d and is available 
  3802. for example at tsx-11 in pub/linux/packages/X11/xfree86-1.1/
  3803. The SLS distribution stays at 2.0.
  3804.  
  3805. QUESTION: What Files do I need to download?
  3806.  
  3807. ANSWER: For x11v2.1: There is a README file in the distribution directory.
  3808. Bring this down first and read it. Then get xbin, xman and xfonts.
  3809. You need xprog and xlibman only if you plan to compile X applications.
  3810. You dont need xkit if you want to relink the server.
  3811.  
  3812. **** You need The shared images libc.so.4 (4.1 or later) and libm.so.4 (4.0) 
  3813. in /lib/. All the X11 binaries use these. To compile programs you should
  3814. get gcc-2.2.2d7 or later and the 4.x libraries.
  3815.  
  3816. For Other servers see also the notes in the previous section.
  3817.  
  3818.  
  3819.  
  3820. QUESTION: Where do the X11 files go? What are they?
  3821.  
  3822. ANSWER: x11v2.1 uses the directories /usr/X386/bin/ (XBIN) for programs
  3823. and /usr/X386/lib/X11/ (XLIB) for support files.
  3824.  
  3825. The support files include default/example Xconfig, xinitrc, twmrc
  3826. which you should copy to your HOME directory (as Xconfig, .xinitrc
  3827. and .twmrc) and edit them to define your hardware and X11 setup.
  3828. The directory XLIB/etc/ contains some documentation which
  3829. should explain how to configure your video.
  3830.  
  3831.  
  3832.  
  3833.  
  3834. XI.D.  LEARNING/USING X
  3835. ~~~~~~~~~~~~~~~~~~~~~~~
  3836.  
  3837. QUESTION: Where can I find the basic help for learning/using X ?
  3838.  
  3839. ANSWER: Try man X386; man Xserver; man xterm; man twm; man xinit
  3840. on any unix machine.  The man pages on xterm and twm will reflect
  3841. behaviour on Linux systems quite accurately. The others will give you
  3842. some bearing though not every option will work.  These man pages are
  3843. part of the xfree86 distribution.
  3844.     
  3845.  
  3846. QUESTION: What docs are available besides man pages?
  3847.     
  3848. ANSWER: The FAQ in comp.windows.x11 is extensive and has a bibliography. 
  3849. There is also the Xt-FAQ. Both are available from export.lcs.mit.edu in
  3850. pub/contrib/.
  3851.  
  3852.  
  3853.  
  3854.  
  3855.  
  3856. XI.E. DEBUGGING STARTUP PROBLEMS:
  3857. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3858.  
  3859. QUESTION: How do I start up X?
  3860.  
  3861. ANSWER: Type 'startx' at the shell prompt.
  3862. Before doing this you should:
  3863. 1) copy the file Xconfig.sample from the XLIB directory to your 
  3864.     HOME directory (/usr/root/Xconfig?) or to XLIB/Xconfig.
  3865. 2) Edit Xconfig and set the video data for you card and monitor. 
  3866.    Use the clocks appropriate for your card and the modes appropriate 
  3867.    for your monitor for those clock values. To determine what values are
  3868.    appropriate read files in XLIB/etc and the Xconfig section below. 
  3869. 3) Set the mouse device in Xconfig correctly....Use the busmouse entry
  3870.    for Logitech only. For other busmouses use microsoft.
  3871. 4) Ensure that there is a termcap entry for xterm in /etc/termcap
  3872.    (One is available in the subdir /doc).
  3873. 5) Ensure that the X11 binaries are in the path example:
  3874.    add the line PATH=${PATH}:/usr/X386/bin to ~/.profile or
  3875.    look at bash.ad in /doc.
  3876. WARNING: NONE of the modes (in the Modes line in Xconfig) should use a 
  3877. clock your monitor cannot handle.
  3878. Now type startx.
  3879.  
  3880.  
  3881. QUESTION: I cannot type in my xterm 
  3882.  
  3883. ANSWER: /dev/console must have major=4, minor=0
  3884.     rm -f /dev/console; ln /dev/console /dev/tty0
  3885.  
  3886.  
  3887. QUESTION: What are some of the common omissions and errors?
  3888.  
  3889. ANSWER: (Peter)
  3890. 1) Add /usr/bin/X11 (or /usr/X386/bin) to your path.
  3891.  
  3892. 2) Add the xterm termcap entry to /etc/termcap.
  3893.  
  3894. 3) ln -s X386 X in the XBIN directory.
  3895.    ln -s X386mono X (if you want to use the mono server).
  3896.  
  3897. 4) Run X as root first. This avoids some trivial problems.
  3898.  
  3899. 5) If you change the font path entry .... X386 is finicky about
  3900.    the syntax. 
  3901.  
  3902. 6) Make sure your mouse entry in Xconfig points to a legitimate serial 
  3903.    device  (or busmouse)... usually something like:  microsoft "/dev/ttys1"
  3904.    serial devices have major # 4 minor 64,65 ... busmouses are major 10.
  3905.    ls -l in /dev will show you the major and minor entries.
  3906.  
  3907. 7) Need read/write/exec access to /tmp directory 
  3908.  
  3909. 8) Use startx 2> x.err to log your error messages. If the server sticks 
  3910.    and you have to reboot you'll probably loose this stuff... see notes
  3911.    on `hanging' below.
  3912.  
  3913. 9) See Xconfig problems and the device list below.
  3914.  
  3915. 10) Have you read the X386 man page?
  3916.  
  3917.  
  3918. QUESTION: Why is the server unable to find some of the fonts?
  3919.  
  3920. ANSWER: First check that the directories listed in the font path exist
  3921. and have font files in them. Some of the servers are not set up to use 
  3922. compressed fonts. In such cases you have to uncompress the fonts in the
  3923. directory and run `mkfontdir .`. Read the man page on mkfontdir.
  3924.  
  3925.  
  3926. QUESTION: My server "hangs" Why?
  3927.  
  3928. ANSWER: (Peter) Quite often it isn't a hang. If the server grabs the
  3929. screen(and enters graphics mode) and then dies, it may return you to
  3930. bash *without* restoring the screen. In other words, just because you
  3931. see no output, don't assume it's running/hanging.  The way to test
  3932. this is to see if you can use a bash command to spin your disk. eg.:
  3933. sync; ls -l /bin.
  3934.  
  3935. Also - I *suspect* that (at least for me), you can kill the
  3936. server if you include the servernum option in the Xconfig
  3937.  
  3938. You can kill the server when you want to by typing ctrl-alt-backspace. 
  3939. Then a couple of ctrl-C 's in case your stuck in xinit.
  3940.  
  3941. The two line message
  3942.         X386 version .....
  3943.         (protocol Version ....
  3944. is returned from the X386 programme itself, so if you get
  3945. this (or if the screen blanks) X must be starting.
  3946.  
  3947.  
  3948. QUESTION: When I try to use X11 I got "Cannot connect to
  3949. server" or "process does not exist", any clue ?
  3950.  
  3951. ANSWER: The cause might be wrong fontpath variable setup in your
  3952. Xconfig; uncomment and set the correct fontpath variable.
  3953.  
  3954.  
  3955. QUESTION: Why cant I run more than 4 xterms?
  3956.       How can I have more than 4 pty's ?
  3957.  
  3958. ANSWER: set the number in the header include/linux/tty.h and 
  3959. recompile the kernel. Also make nodes :
  3960.     mknod /dev/ptypxx 4  minor  (where minor = 128 + xx)
  3961.     mknod /dev/ttypxx 4  minor  (minor = 192 + xx)
  3962.     This is for before linux-0.97pl6.... for later versions
  3963.     you only need to make the nodes.
  3964.     
  3965.  
  3966. QUESTION: I have trouble with my logitech Pilot mouse and X under
  3967. Linux, any clue ? 
  3968.  
  3969. ANSWER: (Thomas Roell?) There are TWO line of Logitech mice out there.
  3970. One is the programmable and uses MouseSystems protocol at startup.
  3971. X386 reprogramms them to use another protocol. If you specify
  3972. 'Logitech' in the Xconfig, X386 assumes a mouse like C7 or S9 (notC7-M).
  3973. The second line is the MicroSoft compatible. Currently all newer
  3974. Logitech mice follows this practice, like the MouseMan. In that case
  3975. you have to say 'MicroSoft' or 'MouseMan'. 
  3976.  
  3977. From: jliddle@rs6000.cmp.ilstu.edu (Jean Liddle)
  3978. I just purchased a new logitech mouseman, and yes, the new X-Windows
  3979. (XFree86 as opposed to X386) requires that you use the "microsoft" mousetype.
  3980. However, if you turn Third Button Emulation off, the middle button WILL work.
  3981.  
  3982.  
  3983. QUESTION: How does X11 start up?
  3984.  
  3985. ANSWER: The startup involves the server (XBIN/X), and some
  3986. programs like startx and xinit.
  3987.  
  3988. Typing startx runs the script  XBIN/startx. Look through startx. 
  3989. For explanation of the server arguments try man Xserver.
  3990. startx does little other than gather arguments and then call xinit.
  3991.  
  3992. xinit **calls** X (X is linked to X386). xinit therefore continues to
  3993. run, and quite often you will receive error messages from xinit rather
  3994. than X itself. If you get the message "giving up", it means X has died
  3995. (quite probably it died immediately) and xinit has been unable to start
  3996. x applications. xinit processes the startup script xinitrc.
  3997.  
  3998.  
  3999. QUESTION: How can I see what startx passes to xinit, and xinit to X?
  4000.  
  4001. ANSWER:  Add the line:  set -x      near the top of startx.
  4002.  
  4003. To see what xinit passes to X, try: (Peter)
  4004.  
  4005.     rm XBIN/X
  4006.  - yes, if you have set it up correctly, X should only be a link 
  4007.  so it's safe to remove it.
  4008.  
  4009.  then create a shell script XBIN/X containing:
  4010.     #/bin/sh
  4011.     echo $*
  4012.  and run startx. You should see something like:
  4013.     X :0
  4014.  which is all xinit passes to X. If you don't see the :0, you may not
  4015.  have your DISPLAY=":0" set correctly. THEN RESTORE X!! :
  4016.     cd XBIN; rm X; ln -s X386 X
  4017.  
  4018.  
  4019. QUESTION: What devices does X depend on:
  4020.  
  4021. ANSWER: check your device numbers with ls -l /dev. You should have:
  4022.  
  4023. 5 0 tty
  4024. 4 0 tty0
  4025. 4 0 console
  4026. 4 1 tty1 (etc)
  4027. 1 1 mem
  4028.  
  4029. 4 128 ptyp0             pseudo ttys used by xterm/emacs etc 
  4030. 4 129 ptyp1 (etc)       to talk to unix programs.
  4031. 4 192 ttyp0
  4032. 4 193 ttyp1 (etc)
  4033.  
  4034. 4 64 ttys1              one of these is the mouse 
  4035. 4 65 ttys2              or you have a busmouse.
  4036. 10 x mouse              busmouse x = 0 => logitech      1 => ps/2 (aux)
  4037.             2 => microsoft          3 => ATI_XL.
  4038. /tmp/.X11-unix/X0       socket used by X apps to talk to the server.
  4039.             this is created by X386.
  4040.  
  4041.  
  4042.  
  4043.  
  4044. XI.F. Xconfig: Xconfig and Video mode settings.
  4045. ~~~~~~~~~~~~
  4046. QUESTION: What do the mode names mean?
  4047.  
  4048. ANSWER: The mode names like "640x480" are used to match entries in 
  4049. the modes line with the modeDB entry which actually defines the mode. 
  4050. You can toggle between modes in the modes line  with ctrl-alt-numericplus. 
  4051. If you're experimenting with 640x480 you can define 
  4052.       modes "640x480a" "641x480b" "642x480c"
  4053. with corresponding entries under ModeDB so you can toggle between 
  4054. these three modes. Try man X386.
  4055.  
  4056. QUESTION: How do I compute the numbers for the video modes?
  4057.  
  4058. ANSWER: See if there is an entry that matches your chip/monitor in
  4059. XLIB/etc/modeDB.txt. Use the clock entries for your chip
  4060. and the mode entry for that clock appropriate for your monitor.
  4061. If you cant find a mode entry for a particular clock 'needed_clock'
  4062. but can find a mode entry (for your monitor) for a nearby clock value
  4063. 'found_clock', scale all numbers in the modeDB entry by 
  4064. (needed_clock/found_clock). man X386 and Read CONFIG and Xconfig.notes.
  4065.  
  4066.  
  4067. QUESTION: How can I determine the clocks on the video chip?
  4068.     Where can I find clock.exe or clock.pas ?
  4069.  
  4070. ANSWER: The XFREE Team discourages the use  of clocks.exe and wants it
  4071. to be removed from all docs, since the new Server is better at
  4072. guessing the clocks than clocks.exe.
  4073.  
  4074. You can get X to tell you what it finds by commenting the
  4075. clocks entry in Xconfig. Use 'startx 2> x.err' to log the output.
  4076. If X starts up this file gets the clocks only after you exit.
  4077.  
  4078. I strongly advise using the 'modegen' spreadsheets to generate the 
  4079. appropriate settings. If I remember correctly you can find them in 
  4080. 'pub/linux/packages/SLS/x4' called modegen.taz or something equally 
  4081. as obvious ... Good luck. (Andy asb@cs.nott.ac.uk)
  4082.  
  4083. The clocks entry in Xconfig serves as an index. example: 
  4084. clocks 1 2 
  4085. ModeDB
  4086. 1 640x480 .....
  4087. 2 800x600 .....
  4088. means the first clock on the chip will be used for the 640x480 mode
  4089. and so on. Usually one uses the MHz value for the clock for convenience
  4090. instead of 1 2  you probably have 25 28 ... etc.
  4091.  
  4092.  
  4093. QUESTION: What are the settings used with a trident-8900C?
  4094.  
  4095. ANSWER: To get X/SLS/Linux working with a trident-8900C, do the following:
  4096.  
  4097. 1) From Frank Houston fh8n@uvacs.cs.Virginia.EDU 
  4098. vga256
  4099.   Virtual       1024 768
  4100.   ViewPort      0 0
  4101.   Modes         "1024x768" "800x600" "640x480"
  4102. Use the VESA monitor timings from the modeDB in the example Xconfig.
  4103. You do not need to specify the chipset or clocks.
  4104.  
  4105. 2) From: Henk Vandecasteele henkv@cs.kuleuven.ac.be 
  4106. TRIDENT TVGA 8900C card with BIOS C2.11, A cheap color monitor AOC (CM-335) 
  4107. with a maximum horizontal frequence of 39.5
  4108. vga256
  4109.   Virtual       1024 1024
  4110.   ViewPort      0 0
  4111.   Modes        "912x684" "800x600" "640x480" 
  4112. # This mode drives my monitor to the limit (VESA timings for the rest).
  4113.  "912x684"     45      912  944 1104 1136    684  684  690  712 
  4114.  
  4115.  
  4116. QUESTION: What are common problems with Xconfig?
  4117.  
  4118. ANSWER:If X isn't firing at all, or even if it clears the screen and
  4119. crashes (see below) you almost certainly have a fault in Xconfig.
  4120.  
  4121. 1. Note that the server X interprets Xconfig. (not xinit)
  4122.  
  4123. 2. If you have a fault in Xconfig it is possible to crash or hang the
  4124. server without getting an error message.
  4125.  
  4126. 3. leave the two paths at the top of Xconfig commented out when testing.
  4127.  
  4128. 4. test with only one graphics mode included - one you are most sure of.
  4129.  
  4130. 5. If you make a mistake in the mouse section, you will (I understand)
  4131. get an error message, so if you don't get some mouse error, try
  4132. elsewhere first. (eg "No such file or directory" indicates you have a
  4133. fault in the "/dev/ttyxx" line, or /dev/ttyxx doesn't exist.
  4134.  
  4135. 6. *NB* X looks in your home directory first to find an Xconfig. make
  4136. certain it's using the one you've been working on!
  4137.  
  4138. 7. you need double quotes (") around your chipset and modes: eg
  4139.     chipset "et4000"
  4140.     Modes   "640x480" "640x480a" "800x600"
  4141. and around the /dev/ttyxx eg.:
  4142.     microsoft "/dev/ttys1"
  4143.  
  4144. 8. Check your VGA section and modeDB first.
  4145.  
  4146. 9. ensure ModeDB clock speeds match the VGA section. Comment out any
  4147. unused lines in MODEDB.
  4148.  
  4149. eg  clocks  25 36 00 00 00 00 00 00 
  4150.  
  4151. then you *must* have (and only have) lines under modeDB corresponding
  4152. to speeds 25 and 36. If you have one with (say) 62 uncommented out in
  4153. the modeDB section in place of the 36 line, you will cause the server to
  4154. die immediately with no error message.
  4155.  
  4156. 10. a syntax error (such as an unrecognised word) in Xconfig will cause
  4157. a death with no warning.
  4158.  
  4159. 11. videoram must equal the amount of display ram on your chip.
  4160.  
  4161.  
  4162. QUESTION: What do I use in my Xconfig file to use the bus mouse?
  4163. Logitech doesn't work with my Logitech busmouse.
  4164.  
  4165. ANSWER: (Nathan I. Laredo)
  4166. Here are the mouse lines from my Xconfig:
  4167.  
  4168. BusMouse   "/dev/mouse"
  4169.  
  4170. You may add a sample rate if you want, but chances are, unless the model
  4171. number on your mouse matches mine: PC-93-9MD it probably will cause your
  4172. machine to lock up, as I've gotten several reports saying that.
  4173.  
  4174. According to the X386 documentation, non-logitech mice do not support
  4175. a sample rate.
  4176.  
  4177.  
  4178.  
  4179.  
  4180.  
  4181. XI.G X-APPLICATIONS: Compiling X Programs.
  4182. ~~~~~~~~~~~~~~~~~~
  4183.  
  4184. QUESTION: Does anyone know where I can find the libobz.a library ?
  4185.  
  4186. ANSWER: This library contained the socket stuff, when X386 V0.1 was
  4187. released. Meanwhile it has found it's way into the kernel, so
  4188. remove -lobz from the link step in the Makefile.
  4189.  
  4190.  
  4191. QUESTION: I get _setjmp undefined when linking xv from .a files.
  4192.  
  4193. ANSWER: You are trying to link a program compiled with gcc-2.2.2
  4194. and setjmp has changed sice then. Recompile xv from the source
  4195. using the latest gcc.
  4196.  
  4197.  
  4198. QUESTION: How do I compile an X application that has an Imakefile?
  4199.  
  4200. ANSWER:
  4201.     Type xmkmf to generate the Makefile.
  4202.     Type make.
  4203.  
  4204.  
  4205. QUESTION: gcc complains the X libraries are not found or links static.
  4206.  
  4207. ANSWER: Check out the -nojump -static options of GCC ... read the GCC FAQ.
  4208.     You can tell gcc what directories to search with -L. 
  4209.  
  4210.  
  4211.  
  4212.  
  4213. XI.H BUGS:
  4214. ~~~~~~~~~
  4215. Restoration of the text screen fails on some hardware.
  4216.  
  4217. Cant compile Xaw programs without -static in versions x11v1.1 or older.
  4218. There is a glitch with the Xaw shared libs ... I haven't seen
  4219. this in a while anyway its fixed in newer releases.
  4220.  
  4221. Color problems with Xega .... fixed in latest version on tsx-11.
  4222.  
  4223. from chuck@coplex.com (Chuck Sites)
  4224. It is possible to run X386 on a Paradise VGA Plus. The X386.0 doc file
  4225. has a small misprint.  The Chipset is not pvga. It's pvga1.   Anyway,
  4226. under the line in /usr/X386/lib/X11/Xconfig VGA256, add, `chipset "pvga1"`.
  4227. You will need a 512k board.  There seems to be a problem with 800x600 mode
  4228. that causes pixels to be misplaced in the center 1/3 of the screen. 640x480
  4229. works fine.  Anybody out there might have a fix for that? You may want to use
  4230. X386mono with 800x600 instead.
  4231.  
  4232.  
  4233. Fix for missing numlock control in xfree86-1.1.
  4234. use xmodmap to change the mapping:
  4235.   clear mod1
  4236.   add mod1 = Alt_L
  4237.   keysym Alt_R = Mode_switch
  4238.   add mod5 = Mode_switch
  4239. David (Dawes)
  4240.  
  4241. Sources for X11_FAQ: 
  4242. Steve Kotsopoulos, Peter Hawkins, John Morris, MM. Corsini, K. Balasubramanian.
  4243. Direct comments, questions, complaints to krishna at:
  4244. balasub@cis.ohio-state.edu
  4245.  
  4246. XII.    NETWORKING and LINUX
  4247. ============================
  4248. *** This section should be maintained by Philip Copeland
  4249. *** (p_copela@csd.uwe.ac.uk). This first version was built by myself
  4250. *** (MM. Corsini) from the original material posted by Phil in c.o.l.
  4251. *** I hope the information provided below are readable and useful.
  4252. *** Last Update: 16 Nov 92 01:12:45 GMT
  4253.  
  4254.      **** In the ANSWER part the I/MY stands for P. Copeland ****
  4255.  
  4256. QUESTION: Where can I find useful information about networking for
  4257. Linux ?
  4258.  
  4259. ANSWER: Join the NET channel on the multi-channel list. The
  4260. FAQ/INTRODUCTION written by P. Copeland should be posted every 2
  4261. weeks.
  4262.  
  4263. QUESTION: What do I need to get started ?
  4264.  
  4265. ANSWER: To use TCP/IP on local ethernet you will need the following
  4266.  
  4267.    1)      A linux machine with linux kernel 0.98.4 or newer
  4268.  
  4269.    2)      A WD8003/WD8013 compatible MEMORY MAPPED ethernet card
  4270.        but WD8013 is probably the best to use due to its
  4271.        electronic reconfiguration rather than jumper settings
  4272.        although you'll probably need DOS to set it up
  4273.  
  4274.        You should note that the kernel will always claim to
  4275.        have found a WD8013. If this bothers you, change the printk
  4276.        in linux/net/tcp/we.c to reflect your hardware.
  4277.  
  4278.        *NOTE* no special hardward is needed to communicate with
  4279.        yourself
  4280.  
  4281.        Currently I know of three cards that will work (please tell
  4282.        me if there are more) support for the ne2000 is being
  4283.        worked on but little has been heard of it's progress
  4284.  
  4285.        These are the WD8013, WD8003, and the SMC Elite 16.
  4286.  
  4287.    3)      If you are only going to use 'loopback' mode, you probably
  4288.        won't need a card either! A special loopback device is used
  4289.        to comunicate with yourself
  4290.  
  4291.    4)      some tcp/ip software eg telnet/ftp/talk/finger/rcp/
  4292.        rsh/various other stuff like daemons etc...
  4293.  
  4294.    5)      Know the IRQ's of your internal cards.
  4295.  
  4296.    6)      A lot of coffee and one of those stress relieving
  4297.        gadgets you can get in the local market.
  4298.  
  4299. QUESTION: Where to start ?
  4300.  
  4301. ANSWER: First off you'll need to rebuild the kernel with networking
  4302. compiled into the linux kernel. You do this by removing the '#'s in
  4303. linux/net/Makefile on lines 13,14 and 26 if they haven't already been
  4304. removed. Next you'll need to calibrate  your network card. Decide what
  4305. IRQ setting you'll need for the network card.
  4306.     Anyway for those who are frexible, the standard kernel parameters
  4307. for this are :-
  4308.  
  4309.     INT             =       5
  4310.     mem             =       D0000
  4311.     i/o addr        =       280
  4312.     memory start    =       D0000
  4313.     memory end      =       D2000   (8K block for 8003, make it D4000
  4314.                      16k for the wd8013 )
  4315.  
  4316. but these can be changed on lines 12-17 (16,17 being the most important)
  4317. of the file linux/net/tcp/Space.c
  4318.  
  4319. *NOTE* if you have problems with the memory start addr, please get in touch 
  4320. with bir7@EDU.Stanford.leland
  4321.  
  4322.     Future versions of the TCP/IP code will be setable at boot time via
  4323. ioctl's. For those of you who do not have the wd8013 card, please refer to 
  4324. the ethernet board documentation on the jumper settings you may have to change.
  4325.  
  4326.     Right, compile the kernel (You may need to do a 'make clean dep Image')
  4327. and hopefully on the next reboot with the new kernel it should detect your card
  4328. telling you of the ethernet number it is, and also that a new family of
  4329. sockets  (AF_INET) are available.
  4330.     If your card is incorrectly inserted (I know you wouldn't) it could
  4331. cause all kinds of errors to be reported.
  4332.  
  4333.     At this stage you have a kernel which supports tcp/ip via the
  4334. ethernet board in your machine but knows nothing of networking, that is
  4335. where the software in the tcpip suites becomes important as it is this
  4336. software that understands networking protocols.
  4337.  
  4338. QUESTION: What files do I need and setup info ?
  4339.  
  4340. ANSWER: the 0.8.0/0.8.1 suites have reasonable enough documentation to
  4341. get the various working parts out into somewhere useful on your
  4342. system, typically /usr/etc/inet and /etc
  4343.  
  4344. having followed the net install shell script you'll probably find that
  4345. it asked some questions that you hadn't a clue about,... well ok lets
  4346. look at it.
  4347.  
  4348.     Enter Ip Address for (your host) (aaa.bbb.ccc.ddd)
  4349.  
  4350. here you are being asked what network address you would like to be known
  4351. as. Ip address are unique numbers so as to identify you machine from 
  4352. another on a multiuser network.
  4353.     Ip numbers are typically of the 0-255.0-255.0-255.0-255 range
  4354. so valid answers are 243.123.4.23 or 192.35.173.3 etc but 324.234.545.2
  4355. is completely wrong.
  4356.  
  4357.     Enter Net Address for (your hostname) (aaa.bbb.ccc.0)
  4358.  
  4359. Here you are being asked for your subnetwork address.
  4360. A quick way of getting the question right is to type in whatever you 
  4361. have for your ip address but make the last number 0 eg if my ip address
  4362. was 135.56.33.155, my 'safe' Net address would be 135.56.33.0
  4363. 0.0.0.0 means the whole world and is probably what slip people shoul use.
  4364.  
  4365.     Enter Router Address for (your hostname) (aaa.bbb.ccc.ddd)
  4366.  
  4367. Routers tend to have 2 ethernet boards in them whith differing network
  4368. numbers for them so that they can 'bridge' between different numbered
  4369. networks, eg you could not talk directly to a ip address of 192.35.173.12
  4370. from an ip address of 192.35.175.15 but a machine in the middle with
  4371. two ip address 192,35.173.4 and 192.35.175.3 can 'collect' the data from
  4372. the xxx.xxx.173.xxx network and transfer it to the xxx.xxx.175.xxx network
  4373. All we have to do here is stick in the ip address of the local router
  4374. in this case it would be 192.35.173.4 (clear as mud I know but it's as good
  4375. as it gets) If you don't have a router,... just stick in 0.0.0.0 meaning
  4376. don't route anything.
  4377.  
  4378.     Enter Domain name for (your host)
  4379.  
  4380. This isn't too bad, domain names are 'convenient' labels eg uwe.ac.uk
  4381. is the domain name that appends to all the machines on site so that a sun
  4382. called csd would be known as csd.uwe.ac.uk
  4383.  
  4384.     Name Server for Domain (aaa.bbb.ccc.ddd)
  4385.  
  4386. If your networked to the local Uni/technical collage your in luck and it
  4387. shoul be able to serve you with a name server service, find out from your
  4388. local network controller what machine distributes the service. If you are
  4389. unlucky enough NOT to have a nameserver, just stick in your own IP address,
  4390. you'll just have to run your own nameserver.
  4391.  
  4392. Ok time for a quick check of what you *SHOULD* have
  4393. in /usr/etc/inet
  4394.  
  4395. config          - This sets up the ethernet ip tables
  4396. inetd           - Daemon process that invokes other network daemons
  4397. inetd.conf      - Configuration file for inetd about the other daemons
  4398. install.net     - The semi automatic script I just talked about
  4399. named-xfer      - Used for updating the nameserver records
  4400. named.reload    - used to load in the named
  4401. named.restart   - user to stop and restart the named process
  4402. rc.net          - a network rc file called from /etc/rc.local from /etc/rc!
  4403. services        - a file specifying what 'port' numbers certain services are 
  4404.           available on
  4405. telnetd         - daemon for connecting reqesting external sites to your 
  4406.           machine for interactive logins
  4407. named           - the nameservice daemon
  4408.  
  4409.  
  4410. QUESTION: What is DNS ?
  4411.  
  4412. ANSWER: DNS stands for Domain Name System.  It doesn't rely on a
  4413. single large table; it is a distributed database system that doesn't
  4414. bog down as the  database grows. DNS currently provides information on
  4415. approximately 700,000 hosts. DNS also guarentees that the new host
  4416. information will be disseminated  to the rest of the network as it is
  4417. needed. 
  4418.  
  4419. QUESTION: What are the configuration files for the DNS nameserver; and
  4420. how can I fix them ?
  4421.  
  4422. ANSWER: DNS configuration reqires that a number of files be edited in
  4423. the case of Linux these files are minimally (resolv.conf can be
  4424. optional) 
  4425.     /usr/etc/inet/
  4426.         resolv.conf
  4427.     or
  4428.         named.boot
  4429.         a_hosts_table (normally called named.hosts)
  4430.  
  4431. named.boot:     domain  uwe.ac.uk
  4432.         primary uwe.ac.uk       /usr/etc/inet/a_hosts_table
  4433.  
  4434. resolve.conf:   domain          uwe.ac.uk
  4435.         nameserver      192.35.173.2
  4436.  
  4437. a_hosts_table:  @       IN      SOA     slave.uwe.ac.uk. \
  4438. root.slave.uwe.ac.uk. ( 
  4439.                 1.1     ;serial
  4440.                 3600    ;refresh every 10 hours
  4441.                 300     ;retry every 6 minutes
  4442.                 36000000;expire after 1000 hours
  4443.                 3600    ; default dtl is 100 hours )
  4444.             IN      NS      slave.uwe.ac.uk.
  4445.         slave   IN      A       192.35.173.2
  4446.         hal     IN      A       192.35.173.1
  4447.         zen     IN      A       192.35.173.30
  4448.         .
  4449.         .
  4450.         .
  4451.         mother  IN      A       192.35.173.69
  4452.  
  4453.  
  4454. For most people, a nameserver will be available in which case the only
  4455. file really needed is resolv.conf which would contain only the domain
  4456. name of the site and a nameserver ip address to point to all the named
  4457. functions are thus the responsibility of the nameserver and not your
  4458. machine (crafty huh?) 
  4459.     Now unfortunately there are those of us that were just plain born
  4460. unlucky and had to RTFM so,... where a nameserver is not available it is
  4461. possible to run a nameserver service on your local machine.
  4462.     The following is a list of flies that you will eventually need
  4463. although just named.boot and a_hosts_table will suffice
  4464.  
  4465.      named.boot:     Sets general named parameters and points to the
  4466.              sources of the domain database information used
  4467.              by this server. The sources can be local disks or
  4468.              remote servers.
  4469.      named.ca:       Points to the root domain servers
  4470.      named.local:    Used to locally resolve the loopback address
  4471.      named.hosts:    The zone info file that maps host names to IP addresses
  4472.      named.rev:      the zone file for the reverse domain that maps IP 
  4473.              addresses to host names (you'll prob never touch it
  4474.              so i'm going to skip it's description unless people
  4475.              get upset enough to lynch me)
  4476.  
  4477.  
  4478. QUESTION: What is NFS ?
  4479.  
  4480. ANSWER: NFS stands for Network Filing System.
  4481. Network filing systems are convenient mechanisms which allow your
  4482. machine access to more disk space that it actually has by 'borrowing'
  4483. disk space from another networked machine for either sharing of common
  4484. data or if allowed, the storing of data generated by your machine.
  4485.     NFS is still in alpha testing and has the unfortunate handicap
  4486. of not being able to run binaries over the interface due to mmap
  4487. support not being available at the moment but shell scripts can be run.
  4488.     NFS has several benifits,
  4489.  
  4490.     1)      it reduces local disk storage requirements because
  4491.         a network can store a single copy of a directory, while
  4492.         the directory continues to be fully axcessible to everyone
  4493.         on the network.
  4494.     2)      NFS simplifies central support tasks, becaue files can be
  4495.         updated centrally, yet be available throughout the network
  4496.     3)      NFS allows users to use familiar UNiX commands to manipulate
  4497.         files with rather than learning new ones. There is no need
  4498.         to use rcp/tftp/ftp to copy files, just 'cp' will do
  4499.  
  4500. NFS is controlled by several files
  4501.  
  4502.     /etc/exports
  4503.     /usr/etc/inet/rc.net
  4504.  
  4505. The /etc/exports file allows your machine to decide what local
  4506. filesystems it will allow remote clients to NFS mount and decide what
  4507. access those clients should have to your filespace.
  4508.  
  4509. The /usr/etc/inet/rc.net file is used to start the named services and nfs  
  4510.  
  4511. QUESTION: What are the most common trouble with the Linux Networking ?
  4512.  
  4513. ANSWER: One of the most common complaints requards the config command
  4514. what isn't often noted is that this has to be recompiled from the 0.8.1
  4515. sources (available currently on tsx-11.mit.edu: as 
  4516. /pub/linux/ALPHA/tcpip/tcpip-0.8.1.tar.Z). Another problem that crops
  4517. up is that some binaries that are distributed requires libc.2.2.2 to
  4518. be present (mine I've no idea what version/wher it came from but it's
  4519. 173060 bytes long if it helps!)
  4520.     Other people think that it's their version of libraries that
  4521. cause the problem but can't find the source code for the various utils
  4522. to recompile. Well sorry folks you are out of luck, the source code
  4523. for those utils like ftpd and inetd are jealously held back because
  4524. they are buggy and full of ugly hacks so rather than have the net
  4525. flooded with complaints, they have been compiled into binary form and
  4526. shoved out the door with innocent looks about them. Of note are inetd
  4527. and named from the BSD sources, someone needs to port them as the
  4528. current ones are erm.. well not really inetd/named. A new telnetd will
  4529. probably be available after the kernel pty's are fixed which looks as
  4530. though it'll break a lot of ioctl code.  
  4531.  
  4532. QUESTION: Any tricks that can help me to setup my system ?
  4533.  
  4534. ANSWER:Several things that can help
  4535.  
  4536.       1)      upgrade your kernel to the latest one that you can grab 
  4537.           a copy of (currently at time of writting 0.98.4)
  4538.       2)      join the NET mail channel, you can learn an awful lot
  4539.           from the guys on this channel (like the various new
  4540.           copyrighted techniques for tearing out your hair)
  4541.       3)      try and upgrade your C compiler and libraries to at least
  4542.           version 2.2.2d7
  4543.       4)      binary distributions of various network probrams can be
  4544.           found on sunsite.unc.edu,.. always read the README files
  4545.           they are there for a reason! (personal show/contacts/etc..)
  4546.       5)      Depending on your type of problem, contacting the author
  4547.           of the software or the person who ported the software would
  4548.           be a better choice.
  4549.       6)      Complain bitterly to me if I haven't covered your problem 
  4550.           and I'll get it sorted for the next FAQ
  4551.  
  4552. Cast of this section
  4553. ====================
  4554.  
  4555. Ross Biro       -       Without whom all this wouldn't be possible
  4556.             and who pointed out holes in my documentation.
  4557.             Also contributed the history of tcp/ip on linux
  4558.             after he saw my rather perverted view of it.
  4559.  
  4560. Mitch DSouza    -       Constant alpha tester. Also pointed out mistakes
  4561.             and made critical and helpfull suggestions (like
  4562.             getting a spell checker). Also gave me his Tel No.
  4563.             which I used to annoy him with.
  4564.  
  4565. Rick Sladkey    -       The current Author of the NFS client server code
  4566.             who with the help of Doug Quale repatched the
  4567.             kernel to support networking filesystems.
  4568.  
  4569. The pioneers    -       Mentioned in the history of TCP/IP 0.8.[01] by
  4570.             Ross earlier in this FAQ
  4571.  
  4572. The supporting  -       You know who you are (probably, depending on how
  4573. extras                  much virtual beer you had last night) for contributing
  4574.             to the network code.
  4575.  
  4576. Linus Torvalds  -       The elusive ecentric UNiX kernel coder who probably
  4577.             burns more CPU time on compiling than anyone else
  4578.             Here's to a long and healthy kernel development
  4579.             program and a Nobel equiv award for his efforts.
  4580.  
  4581. Philip Copland  -       The only sad person to take on the FAQ because I was
  4582.             getting annoyed at the number of 'petty' tcp/ip code
  4583.             problems being asked on the net. Besides of which I
  4584.             wanted to give something useful towards Linux which
  4585.             I've used since 0.10 (does this make me a vetrian?)
  4586.  
  4587. XIII. EMACS for LINUX
  4588. =====================
  4589. *** This section is maintained by Rick Sladkey (jrs@world.std.com)
  4590. *** Last Update November 1992.
  4591.  
  4592. XIII.A. GENERAL INFORMATION 
  4593. XIII.B. GNU EMACS for LINUX
  4594.  
  4595. XIII.A. GENERAL INFORMATION
  4596. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4597.  
  4598. This is a short list of Frequently Asked Questions about GNU Emacs
  4599. under Linux.  It does not address general questions about Emacs which
  4600. are not Linux specific.  For general help about Emacs, 1) learn to use
  4601. and read the online documentation, 2) read the real Emacs FAQ found in
  4602. emacs/etc/FAQ, and 3) read the newsgroup gnu.emacs.help.
  4603.  
  4604.                     Rick Sladkey <jrs@world.std.com>
  4605.  
  4606. XIII.B. GNU EMACS for LINUX
  4607. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4608. QUESTION: Does Linux Emacs use the shared libraries?
  4609.  
  4610. ANSWER: Yes.  It wasn't easy.  If you have any problems with them let
  4611. me know. Also contact me if you would like static binaries.
  4612.  
  4613. QUESTION: What version of the compiler was used?  Which shared libaries?
  4614.  
  4615. ANSWER: This describes version of GNU Emacs 18.59 for Linux 0.97 and above
  4616. compiled with GCC 2.2.2d7 using the libc.so.4.1 and libX11.so.2.1 shared
  4617. libraries.
  4618.  
  4619. QUESTION: Which files do I need?
  4620.  
  4621. ANSWER:
  4622. emacs-18.59a.tar.Z              this file, sample default.el and diffs
  4623.                 for this version, the eight-bit patch,
  4624.                 iso-latin-1.el and eight-bit.el
  4625. emacs-etc-18.59a.tar.Z          emacs support programs and misc info
  4626. emacs-bin-18.59a.tar.Z          shared emacs binary and its doc file
  4627. x11emacs-bin-18.59a.tar.Z       shared x11emacs binary and its doc file
  4628.  
  4629. QUESTION: How do I install them?
  4630.  
  4631. ANSWER: According to Linux convention, cd to /usr and untar the
  4632. packages. 
  4633.  
  4634. QUESTION: Does Linux Emacs support eight-bit input/output?
  4635.  
  4636. ANSWER: Yes.  It is new with this version.  It uses the so-called
  4637. "ctl-arrow" patch.  See the file README.8bit for more information.
  4638.  
  4639. QUESTION: How much disk space is required?
  4640.  
  4641. ANSWER: Anywhere from 1 to 15 Meg.  Emacs works reasonably well with no
  4642. support files at all.  With a judicious selection from lisp/*.elc and
  4643. etc/*, quite a lot can be done using only 2 Meg.  If you want all of
  4644. lisp/*.elc, info/*, and etc/* this will require 4 to 6 Meg.  If you
  4645. unpack the whole source you need 8 Meg.  If you collect info files
  4646. like rare coins and install a lot of big lisp packages then Emacs may
  4647. need its own partition. :-)
  4648.  
  4649. QUESTION: Why does Emacs crash under Linux 0.98 patchlevel 4 or higher?
  4650.  
  4651. ANSWER: It crashes becuase of the a new 256-bit wide fd_set structure. 
  4652. Sometimes progress requires sacrifice.
  4653.  
  4654. QUESTION: Why can't Emacs find its support files anymore?
  4655.  
  4656. ANSWER: This is because older versions of Emacs were compiled with
  4657. "/usr/local/emacs" based paths.  The current version is compiled with
  4658. "/usr/emacs" paths.  If you have a previous installation, just "mv
  4659. /usr/local/emacs /usr" and you're done.  If you can't bear to part
  4660. with the "/usr/local" pathnames because of inertia then do "ln -s
  4661. /usr/local/emacs /usr" and you can have them both.
  4662.  
  4663. QUESTION: How do I get Emacs to recognize my cursor keys?
  4664.  
  4665. ANSWER: Simple.  Don't use them. :-)  Seriously, there are as many
  4666. ways to do this are there are elisp hackers but the preferred way is
  4667. to follow the pattern set by the other terminal definition files in
  4668. emacs/lisp/term/*.el.  For just arrow keys you can just copy vt220.el
  4669. to console.el and that's it.  For function keys and the others see
  4670. the sample default.el included with this file.
  4671.  
  4672. QUESTION: What packages are particularly useful under Linux?
  4673.  
  4674. ANSWER: Because info format is the documentation standard of the GNU
  4675. project and just about everything except the kernel comes from FSF,
  4676. you will find that Dave Gillespie's enhanced info package is very
  4677. useful.  It allows multiple info directories, space bar paging, and
  4678. supports compressed info files. Please learn to use info.  Imagine
  4679. Unix life without man.
  4680.  
  4681. Others that I highly recommend are Sebastian Kremer's enhanced
  4682. dired directory editor, Dave Gillespie's calc calculator, Masanobu
  4683. UMEDA's gnus for usenet news, and Kyle Jone's vm for mail.
  4684.  
  4685. All can be found in the OSU Emacs archive.  See the real FAQ for more
  4686. details.
  4687.  
  4688. QUESTION: Does Linux Emacs use the shared libraries?
  4689.  
  4690. ANSWER: Yes.  It is very delicate.  Emacs uses its own malloc and the
  4691. library uses the standard one.  Everything works as long as the two
  4692. never meet. 
  4693.  
  4694. QUESTION: Does Linux Emacs support the X Window System?
  4695.  
  4696. ANSWER: Yes.  However, there are two binaries.  One without X support
  4697. (about 485k) and one with X support (about 515k).
  4698.  
  4699. QUESTION: Do I need both Emacs if I don't always use X?
  4700.  
  4701. ANSWER: No.  The X11 version works equally well inside or outside of
  4702. X.  If you get the message "Check your DISPLAY variable" it means that
  4703. you have defined DISPLAY in your ~/.profile (or whatever).  You can
  4704. fix this by starting Emacs with 'emacs -nw' or by removing the DISPLAY
  4705. variable from your ~/.profile and putting it in you ~/.xinitrc.
  4706.  
  4707. QUESTION: Why doesn't Emacs use the settings in my
  4708. .Xdefaults/.Xresources file? 
  4709.  
  4710. ANSWER: You are probably using the word "emacs" and your X version of
  4711. emacs is called x11emacs.  Either use the word "Emacs" in your resource
  4712. file or rename x11emacs to emacs.  See above question on why this
  4713. is reasonable.
  4714.  
  4715. QUESTION: I read about some menu that is supposed to pop up when I
  4716. press some mouse button.  Does this work with Linux Emacs?
  4717.  
  4718. ANSWER: Yes.  This requires XMenu support to be compiled in.  Former
  4719. versions did not support it because it did not work correctly.
  4720.  
  4721. QUESTION: Sometimes Emacs crashes with a SIGALRM message.  What's
  4722. wrong? 
  4723.  
  4724. ANSWER: You need to upgrade to a newer version of bash.  Some older
  4725. versions of bash were compiled with buggy libraries that caused bash
  4726. to send a SIGALRM to its parent in some circumstances.  Recent
  4727. versions do not exhibit this problem.
  4728.  
  4729. QUESTION: Why does Emacs always put me in the root directory?
  4730.  
  4731. ANSWER: You have an old version of Emacs compiled before GCC 2.11c and
  4732. you are using the Linux extended filesystem.  Get the new version.
  4733.  
  4734. QUESTION: Why doesn't Control-Z doesn't work right with Emacs?
  4735. QUESTION: Why doesn't job control work in shell mode?
  4736.  
  4737. ANSWER: You have a really old version of Linux Emacs.  Get the new one.
  4738.  
  4739.        ===================8<==========>8================
  4740.  
  4741.  
  4742.  
  4743.