1 <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
\r
8 <title>Free Software Development HOWTO</title>
\r
11 <firstname>Benjamin</firstname>
\r
12 <othername>Mako</othername>
\r
13 <surnamen>Hill</surname>
\r
16 <email>mako@debian.org</email>
\r
23 <revnumber>v0.01</revnumber>
\r
24 <date>1 January 2001</date>
\r
25 <authorinitials>bch</authorinitials>
\r
34 <primary>fswd</primary>
\r
38 This HOWTO is designed for people with experience in programming
\r
39 and some skills in managing a software project but who are new to
\r
40 the world of Free Software. This document is meant to act as a
\r
41 guide to the non-technical aspects of programming and is meant as
\r
42 a crash course in the people skills that can make or break a free
\r
49 <!-- Section1: intro -->
\r
52 <title>Introduction</title>
\r
55 <primary>fswd!introduction</primary>
\r
59 For various reasons this brand new release is codenamed the
\r
60 <emphasis>release</emphasis> release.
\r
64 New code names will appear as per industry standard
\r
65 guidelines to emphasize the state-of-the-art-ness of this
\r
70 This document was written when I read a feedback asking for a
\r
71 template to fill in to make new HOWTOs. This template was
\r
72 initially made by extracting the skeletal structure of the Multi
\r
73 Disk HOWTO which is a rather large HOWTO. It then went through
\r
78 Stating the background is a simple way to getting started
\r
83 First of all we need a bit of legalese. Recent development
\r
84 shows it is quite important.
\r
87 <!-- Section2: copyright -->
\r
89 <sect2 id="copyright">
\r
90 <title>Copyright Information</title>
\r
93 This document is copyrighted (c) 2000 Stein Gjoen and is
\r
94 distributed under the terms of the Linux Documentation Project
\r
95 (LDP) license, stated below. <emphasis>Replace with your name,
\r
96 or supply a new license, when you use this skeleton for a new
\r
101 Unless otherwise stated, Linux HOWTO documents are
\r
102 copyrighted by their respective authors. Linux HOWTO documents may
\r
103 be reproduced and distributed in whole or in part, in any medium
\r
104 physical or electronic, as long as this copyright notice is
\r
105 retained on all copies. Commercial redistribution is allowed and
\r
106 encouraged; however, the author would like to be notified of any
\r
107 such distributions.
\r
111 All translations, derivative works, or aggregate works
\r
112 incorporating any Linux HOWTO documents must be covered under this
\r
113 copyright notice. That is, you may not produce a derivative work
\r
114 from a HOWTO and impose additional restrictions on its
\r
115 distribution. Exceptions to these rules may be granted under
\r
116 certain conditions; please contact the Linux HOWTO coordinator at
\r
117 the address given below.
\r
121 In short, we wish to promote dissemination of this
\r
122 information through as many channels as possible. However, we do
\r
123 wish to retain copyright on the HOWTO documents, and would like to
\r
124 be notified of any plans to redistribute the HOWTOs.
\r
128 If you have any questions, please contact
\r
129 <email>linux-howto@metalab.unc.edu</email>
\r
133 <!-- Section2: disclaimer -->
\r
135 <sect2 id="disclaimer">
\r
136 <title>Disclaimer</title>
\r
139 No liability for the contents of this documents can be accepted.
\r
140 Use the concepts, examples and other content at your own risk.
\r
141 As this is a new edition of this document, there may be errors
\r
142 and inaccuracies, that may of course be damaging to your system.
\r
143 Proceed with caution, and although this is highly unlikely,
\r
144 the author(s) do not take any responsibility for that.
\r
148 All copyrights are held by their by their respective owners, unless
\r
149 specifically noted otherwise. Use of a term in this document
\r
150 should not be regarded as affecting the validity of any trademark
\r
155 Naming of particular products or brands should not be seen
\r
160 You are strongly recommended to take a backup of your system
\r
161 before major installation and backups at regular intervals.
\r
165 <!-- Section2: newversions-->
\r
167 <sect2 id="newversions">
\r
168 <title>New Versions</title>
\r
171 <primary>(your index root)!news on</primary>
\r
175 This is where you make a summary of what is new. When a
\r
176 HOWTO exceeds 20 pages it takes more than a casual read to find
\r
177 the updates. This is where you help your readers with that,
\r
178 alerting them to specific and important updates to the document.
\r
182 This is the initial release.
\r
186 Tell people where the document home page is so the very
\r
187 newest release could be found in case of problems with the main
\r
188 <ulink url="http://www.linuxdoc.org/">Linux Documentation
\r
189 Project</ulink> homepage.
\r
193 The following is a sample from the Multi Disk HOWTO:
\r
197 The latest version number of this document can be
\r
198 gleaned from my plan entry if you
\r
199 <ulink url="http://www.cs.indiana.edu/finger/nox.nyx.net/sgjoen">
\r
200 finger</ulink> my Nyx account.
\r
204 <emphasis>If you have the capability, it would be nice to
\r
205 make the HOWTO available in a number of formats.</emphasis>
\r
209 The newest version of this HOWTO will always be made available on
\r
210 my website, in a variety of formats:
\r
217 <ulink url="http://www.nyx.net/~sgjoen/disk.html">HTML</ulink>.
\r
223 <ulink URL="http://www.nyx.net/~sgjoen/disk.txt">plain text</ulink>.
\r
229 <ulink url="http://www.nyx.net/~sgjoen/disk-US.ps.gz">compressed
\r
230 postscript (US letter format)</ulink>.
\r
236 <ulink url="http://www.nyx.net/~sgjoen/disk.sgml">SGML source</ulink>.
\r
243 Note that paper sizes vary in the world, A4 and US letter differ
\r
244 significantly. You might also wish to consider using the
\r
245 <emphasis>universal format</emphasis> (8.27x11in; 210x279mm).
\r
249 <!-- Section2: credits -->
\r
251 <sect2 id="credits">
\r
252 <title>Credits</title>
\r
255 <emphasis>It is always nice to acknowledge people who help you
\r
256 with input; it is also regarded by many as important in the
\r
257 Linux world new economy.</emphasis>
\r
261 In this version I have the pleasure of acknowledging:
\r
265 <email>name (at) site.org</email>
\r
269 <emphasis>Please scramble the addresses so email harvesters
\r
270 cannot get addresses from your HOWTO and then spam people. That
\r
271 has happened in the past.</emphasis>
\r
275 <emphasis>Somecompany</emphasis> is acknowledged for sending me
\r
276 documentation on their gizmos as well as permission to quote from
\r
277 the material. These quotes have been approved before appearing
\r
278 here and will be clearly labeled.
\r
282 <!-- Section2: feedback -->
\r
284 <sect2 id="feedback">
\r
285 <title>Feedback</title>
\r
288 Feedback is most certainly welcome for this document. Without
\r
289 your submissions and input, this document wouldn't exist. Please
\r
290 send your additions, comments and criticisms to the following
\r
291 email address : <email>sgjoen@nyx.net</email>.
\r
295 <!-- Section2: translations -->
\r
297 <sect2 id="translations">
\r
298 <title>Translations</title>
\r
301 Not everyone speaks English, pointers to translations are nice.
\r
302 Also your translators tend to give very important inputs.
\r
310 <ulink url="http://linuxdoc.org/">German Translation</ulink>
\r
311 by <email>someone (at) somewhere.de</email>
\r
317 <ulink url="http://linuxdoc.org/">French Translation</ulink>
\r
318 by <email>someone (at) somewhere.fr</email>
\r
324 <ulink url="http://linuxdoc.org/">Italian Translation</ulink>
\r
325 by <email>someone (at) somewhere.it</email>
\r
334 <!-- Section1: intro: END -->
\r
336 <!-- Section1: starting -->
\r
338 <sect1 id="starting">
\r
339 <title>Starting a Project</title>
\r
341 <!-- Section2: chooseproject-->
\r
343 <sect2 id="chooseproject">
\r
344 <title>Choosing a Project</title>
\r
347 <!-- Section2: chooselicense-->
\r
349 <sect2 id="chooselicense">
\r
350 <title>Deciding on a License</title>
\r
353 <!-- Section2: chooseversioning-->
\r
355 <sect2 id="chooseversioning">
\r
356 <title>Choosing a Method of Version Numbering</title>
\r
359 <!-- Section2: documentation-->
\r
361 <sect2 id="documentation">
\r
362 <title>Documentation</title>
\r
365 <!-- Section2: presentation -->
\r
367 <sect2 id="presentation">
\r
368 <title>Other Presentation Issues</title>
\r
371 <!-- Section2: futuredev -->
\r
373 <sect2 id="futuredev">
\r
374 <title>Nuturing Future Development</title>
\r
379 <!-- Section1: starting: END -->
\r
381 <!-- Section1: developers -->
\r
383 <sect1 id="developers">
\r
384 <title>Maintaining a Project: Interacting with Developers</title>
\r
386 <!-- Section2: delegation -->
\r
388 <sect2 id="delegation">
\r
389 <title>Delegating Work</title>
\r
392 <!-- Section2: branches -->
\r
394 <sect2 id="branches">
\r
395 <title>Stable and Development Branches</title>
\r
398 <!-- Section2: freezing -->
\r
400 <sect2 id="freezing">
\r
401 <title>Freezing</title>
\r
404 <!-- Section2: codecram -->
\r
406 <sect2 id="codecram">
\r
407 <title>Avoiding the Code Cram Effect</title>
\r
410 <!-- Section2: patching -->
\r
412 <sect2 id="patching">
\r
413 <title>Accepting and Rejecting Patches</title>
\r
417 <!-- Section1: users -->
\r
420 <title>Maintaining a Project: Interacting with Users</title>
\r
422 <!-- Section2: announcing -->
\r
424 <sect2 id="announcing">
\r
425 <title>Announcing Your Project</title>
\r
428 <!-- Section2: testing -->
\r
430 <sect2 id="testing">
\r
431 <title>Testing and Testers</title>
\r
435 <!-- Section1: samples -->
\r
437 <sect1 id="samples">
\r
438 <title>Samples</title>
\r
441 <emphasis>This section gives some simple SGML examples you could
\r
442 use. Read the SGML source to see how it was done.</emphasis>
\r
446 Further information and examples can be obtained from the publication
\r
447 <ulink url="http://docbook.org/tdg/html/">DocBook: The Definitive
\r
448 Guide</ulink>. Written by <emphasis>Norman Walsh</emphasis>
\r
449 and <emphasis>Leonard Muellner</emphasis>; 1st Edition, October 1999.
\r
452 <!-- Section2: lists -->
\r
455 <title>Lists</title>
\r
458 <emphasis>Lists are used frequently, and are available in a number
\r
459 of formats shown below.</emphasis>
\r
463 A list in which each entry is marked with a bullet or other dingbat:
\r
470 <para>Apples</para>
\r
474 <para>Oranges</para>
\r
478 <para>Bananas</para>
\r
485 A list in which each entry is composed of a set of one or more
\r
486 terms and an associated description:
\r
493 <term>Fruits</term>
\r
495 <para>such as apples, oranges, and more.</para>
\r
502 <para>Don't eat too many; you are what you eat.</para>
\r
507 <term>Vegetables</term>
\r
509 <para>Potatos are spelled with care.</para>
\r
517 A list in which each entry is marked with a sequentially
\r
525 <para>Step one</para>
\r
529 <para>Step two</para>
\r
536 <!-- Section2: links -->
\r
539 <title>Links</title>
\r
542 <emphasis>Links can be used within your documents to refer to
\r
543 different sections and chapters or to refer to documents external
\r
544 to yours.</emphasis>
\r
547 <sect3 id="int-links">
\r
548 <title>Internal links</title>
\r
551 Click on the <xref LinkEnd="samples"> link to jump to the top of
\r
552 this chapter. Note the anchor at the section tag.
\r
556 <sect3 id="ext-links">
\r
557 <title>External links</title>
\r
560 Click on <ulink url="http://www.linuxdoc.org/">this</ulink> link
\r
561 to jump to the LDP site. Note you can use http, ftp, news and
\r
562 other protocols in the locator if required.
\r
568 <!-- Section2: images -->
\r
570 <sect2 id="images">
\r
571 <title>Images</title>
\r
574 <emphasis>Avoid diagrams if possible as this cannot be rendered
\r
575 in the ASCII outputs which are still needed by many around the
\r
581 <title>Graphics Test Image</title>
\r
582 <graphic FileRef="red.gif"></graphic>
\r
587 Here is another variation which allows for ALT text:
\r
594 <imagedata fileref="green.gif" format="gif">
\r
599 ALT text to be used: Green Ball
\r
605 Caption for the graphic goes here: This is a Green Ball.
\r
614 <!-- Section1: samples: END -->
\r
617 <!-- Section1: structure -->
\r
619 <sect1 id="structure">
\r
620 <title>Structure</title>
\r
623 <emphasis>A quick overview on how all parts fit together in the overall
\r
624 structure. An example from the Multi Disk HOWTO is used.</emphasis>
\r
628 As this type of document is supposed to be as much for learning as
\r
629 a technical reference document I have rearranged the structure to
\r
630 this end. For the designer of a system it is more useful to have
\r
631 the information presented in terms of the goals of this exercise
\r
632 than from the point of view of the logical layer structure of the
\r
633 devices themselves. Nevertheless this document would not be
\r
634 complete without such a layer structure the computer field is so
\r
635 full of, so I will include it here as an introduction to how it
\r
639 <!-- Section2: logical-struct -->
\r
641 <sect2 id="logical-struct">
\r
642 <title>Logical structure</title>
\r
645 <primary>disk!structure, I/O subsystem</primary>
\r
649 This is based on how each layer access each other, traditionally
\r
650 with the application on top and the physical layer on the bottom.
\r
651 It is quite useful to show the interrelationship between each of
\r
652 the layers used in controlling drives.
\r
655 ___________________________________________________________
\r
656 |__ File structure ( /usr /tmp etc) __|
\r
657 |__ File system (ext2fs, vfat etc) __|
\r
658 |__ Volume management (AFS) __|
\r
659 |__ RAID, concatenation (md) __|
\r
660 |__ Device driver (SCSI, IDE etc) __|
\r
661 |__ Controller (chip, card) __|
\r
662 |__ Connection (cable, network) __|
\r
663 |__ Drive (magnetic, optical etc) __|
\r
664 -----------------------------------------------------------
\r
669 In the above diagram both volume management and RAID and
\r
670 concatenation are optional layers. The 3 lower layers are in
\r
671 hardware. All parts are discussed at length later on in this
\r
676 <!-- Section2: doc-struct -->
\r
678 <sect2 id="doc-struct">
\r
679 <title>Document structure</title>
\r
682 Most users start out with a given set of hardware and some plans
\r
683 on what they wish to achieve and how big the system should be.
\r
684 This is the point of view I will adopt in this document in
\r
685 presenting the material, starting out with hardware, continuing
\r
686 with design constraints before detailing the design strategy that
\r
687 I have found to work well. I have used this both for my own
\r
688 personal computer at home, a multi purpose server at work and
\r
689 found it worked quite well. In addition my Japanese co-worker in
\r
690 this project have applied the same strategy on a server in an
\r
691 academic setting with similar success.
\r
695 Finally at the end I have detailed some configuration tables for
\r
696 use in your own design. If you have any comments regarding this
\r
697 or notes from your own design work I would like to hear from you
\r
698 so this document can be upgraded.
\r
702 <!-- Section2: reading-plan -->
\r
704 <sect2 id="reading-plan">
\r
705 <title>Reading plan</title>
\r
708 <emphasis>As you go beyond 50 pages or so there will be a lot of
\r
709 text that experts and even the experienced do not need to read.
\r
710 Keeping in mind that we wish to care for all kinds of people in
\r
711 the Linux world we might have to make a reading plan. Again,
\r
712 an example follows from the Multi Disk HOWTO.</emphasis>
\r
716 Although not the biggest HOWTO it is nevertheless rather big
\r
717 already and I have been requested to make a reading plan to make
\r
718 it possible to cut down on the volume.
\r
725 <term>Expert</term>
\r
728 (aka the elite). If you are familiar with Linux as well as
\r
729 disk drive technologies you will find most of what you need in
\r
730 the appendices. Additionally you are recommended to read the
\r
731 FAQ and the <XRef LinkEnd="bits-n-pieces">chapter.
\r
737 <term>Experienced</term>
\r
740 (aka Competent). If you are familiar with computers in
\r
741 general you can go straight to the chapters on
\r
742 <XRef LinkEnd="technologies"> and continue from there on.
\r
748 <term>Newbie</term>
\r
751 (mostly harmless). You just have to read the whole thing.
\r
752 Sorry. In addition you are also recommended to read all the
\r
753 other disk related HOWTOs.
\r
764 <!-- Section1: structure: END -->
\r
767 <!-- Section1: technologies -->
\r
769 <sect1 id="technologies">
\r
770 <title>Technologies</title>
\r
773 <primary>(your index root)!technologies</primary>
\r
777 <emphasis>Introduction of technology for the newbie with a few
\r
778 references to detailed works. Remember that not everyone has
\r
779 Internet access so you have to explain in sufficient details so
\r
780 even the newbie can get by.</emphasis>
\r
785 <!-- Section1: technologies: END -->
\r
788 <!-- Section1: implement -->
\r
790 <sect1 id="implement">
\r
791 <title>Implementation</title>
\r
794 <primary>(your index root)!implementation</primary>
\r
798 <emphasis>Now your readers should have a sufficient knowledge of
\r
799 what this is about and now we come to the hands on of implementing
\r
800 your clever scheme.</emphasis>
\r
805 <!-- Section1: implement: END -->
\r
808 <!-- Section1: maint -->
\r
811 <title>Maintenance</title>
\r
814 <primary>(your index root)!maintenance</primary>
\r
818 <emphasis>Few systems and designs are maintenance free, here you
\r
819 explain how to keep the system running.</emphasis>
\r
824 <!-- Section1: maint: END -->
\r
827 <!-- Section1: adv-issues -->
\r
829 <sect1 id="adv-issues">
\r
830 <title>Advanced Issues</title>
\r
833 <primary>(your index root)!advanced topics</primary>
\r
837 <emphasis>You can get most things up and running in a quick and
\r
838 dirty fashion, useful for testing and getting used to how things
\r
839 work. For more serious use you would need to be a little more
\r
840 advanced. This is the place to explain it all, if applicable.</emphasis>
\r
845 <!-- Section1: adv-issues: END -->
\r
848 <!-- Section1: moreinfo -->
\r
850 <sect1 id="moreinfo">
\r
851 <title>Further Information</title>
\r
854 <primary>(your index root)!information resources</primary>
\r
858 <emphasis>A HOWTO cannot describe everything, some times the user
\r
859 has to venture out on th enet to get more information or just
\r
860 updates. Here is the place to tell where and how. Again examples
\r
861 from the Multi Disk HOWTO, replace as needed.</emphasis> There is wealth
\r
862 of information one should go through when setting up a major system,
\r
863 for instance for a news or general Internet service provider. The
\r
864 FAQs in the following groups are useful:
\r
867 <!-- Section2: newsgroups -->
\r
869 <sect2 id="newsgroups">
\r
870 <title>News groups</title>
\r
873 <primary>disk!information resources!news groups</primary>
\r
876 <para>Some of the most interesting news groups are:
\r
882 <ulink url="news:comp.arch.storage">Storage</ulink>.
\r
888 <ulink url="news:comp.sys.ibm.pc.hardware.storage">PC storage</ulink>.
\r
894 <ulink url="news:alt.filesystems.afs">AFS</ulink>.
\r
900 <ulink url="news:comp.periphs.scsi">SCSI</ulink>.
\r
906 <ulink url="news:comp.os.linux.setup">Linux setup</ulink>.
\r
914 Most newsgroups have their own FAQ that are designed to answer most
\r
915 of your questions, as the name Frequently Asked Questions indicate.
\r
916 Fresh versions should be posted regularly to the relevant newsgroups.
\r
917 If you cannot find it in your news spool you could go directly to the
\r
918 <ulink url="ftp://rtfm.mit.edu/">FAQ main archive FTP site</ulink>.
\r
919 The WWW versions can be browsed at the
\r
920 <ulink url="http://www.cis.ohio-state.edu/hypertext/faq/usenet/FAQ-List.html">FAQ
\r
921 main archive WWW site</ulink>.
\r
925 Some FAQs have their own home site, of particular interest:
\r
931 <ulink url="http://www.paranoia.com/~filipg/HTML/LINK/F_SCSI.html">SCSI FAQ</ulink>
\r
938 <ulink url="http://alumni.caltech.edu/~rdv/comp_arch_storage/FAQ-1.html">comp.arch.storage FAQ</ulink>.
\r
946 <!-- Section2: maillists -->
\r
948 <sect2 id="maillists">
\r
949 <title>Mailing Lists</title>
\r
952 <primary>disk!information resources!mailing lists</primary>
\r
956 These are low-noise channels mainly for developers. Think twice
\r
957 before asking questions there as noise delays the development.
\r
958 Some relevant lists are <email>linux-raid</email>,
\r
959 <email>linux-scsi</email> and <email>linux-ext2fs</email>. Many
\r
960 of the most useful mailing lists run on the <Literal
\r
961 remap="tt">vger.rutgers.edu</Literal> server but this is
\r
962 notoriously overloaded, so try to find a mirror. There are some
\r
963 lists mirrored at <ulink url="http://www.redhat.com">The Redhat
\r
964 Home Page</ulink>. Many lists are also accessible at <ulink
\r
965 url="http://www.linuxhq.com/lnxlists">linuxhq</ulink>, and the
\r
966 rest of the web site contains useful information as well.
\r
970 If you want to find out more about the lists available you can send
\r
971 a message with the line <command>lists</command> to the list server
\r
972 at <email>majordomo@vger.rutgers.edu</email>.
\r
973 If you need help on how to use the mail server just send the line
\r
974 <command>help</command> to the same address. Due to the
\r
975 popularity of this server it is likely it takes a bit to time before
\r
976 you get a reply or even get messages after you send a
\r
977 <command>subscribe</command> command.
\r
981 There is also a number of other majordomo list servers that can
\r
982 be of interest such as the EATA driver list
\r
983 (<email>linux-eata@mail.uni-mainz.de</email>)
\r
984 and the Intelligent IO list <email>linux-i2o@dpt.com</email>.
\r
988 Mailing lists are in a state of flux but you can find links to a
\r
989 number of interesting lists from the
\r
990 <ulink url="http://www.linuxdoc.org/">Linux Documentation
\r
995 <!-- Section2: howto -->
\r
998 <title>HOWTO</title>
\r
1001 <primary>disk!information resources!HOWTOs</primary>
\r
1005 These are intended as the primary starting points to get the
\r
1006 background information as well as show you how to solve a
\r
1007 specific problem. Some relevant HOWTOs are
\r
1008 <Literal remap="tt">Bootdisk</Literal>,
\r
1009 <Literal remap="tt">Installation</Literal>,
\r
1010 <Literal remap="tt">SCSI</Literal> and
\r
1011 <Literal remap="tt">UMSDOS</Literal>. The main site for these is the
\r
1012 <ulink url="http://www.linuxdoc.org/">LDP archive</ulink>at
\r
1013 Metalab (formerly known as Sunsite).
\r
1017 There is a a new HOWTO out that deals with setting up a DPT RAID
\r
1018 system, check out the
\r
1019 <ulink url="http://www.ram.org/computing/linux/dpt_raid.html">DPT RAID
\r
1020 HOWTO homepage</ulink>.
\r
1024 <!-- Section2: local-res -->
\r
1026 <sect2 id="local-res">
\r
1027 <title>Local Resources</title>
\r
1030 <primary>disk!information resources!local</primary>
\r
1034 In most distributions of Linux there is a document directory
\r
1035 installed, have a look in the <filename>/usr/doc</filename>
\r
1036 directory. where most packages store their main documentation and
\r
1037 README files etc. Also you will here find the HOWTO archive
\r
1038 (<filename>/usr/doc/HOWTO</filename>) of ready formatted HOWTOs
\r
1039 and also the mini-HOWTO archive
\r
1040 (<filename>/usr/doc/HOWTO/mini</filename>) of plain text
\r
1045 Many of the configuration files mentioned earlier can be found in
\r
1046 the <filename>/etc</filename> directory. In particular you will
\r
1047 want to work with the <filename>/etc/fstab</filename> file that
\r
1048 sets up the mounting of partitions and possibly also
\r
1049 <filename>/etc/raidtab</filename> file that is used for the
\r
1050 <Literal remap="tt">md</Literal> system to set up RAID.
\r
1054 The kernel source in <filename>/usr/src/linux</filename> is, of
\r
1055 course, the ultimate documentation. In other words, <quote>use
\r
1056 the source, Luke</quote>. It should also be pointed out that the
\r
1057 kernel comes not only with source code which is even commented
\r
1058 (well, partially at least) but also an informative
\r
1059 <filename>/usr/src/linux/Documentation</filename>. If you are
\r
1060 about to ask any questions about the kernel you should read this
\r
1061 first, it will save you and many others a lot of time and
\r
1062 possibly embarrassment.
\r
1066 Also have a look in your system log file
\r
1067 (<filename>/var/log/messages</filename>) to see what is going on
\r
1068 and in particular how the booting went if too much scrolled off
\r
1069 your screen. Using <command>tail -f /var/log/messages</command>
\r
1070 in a separate window or screen will give you a continuous update
\r
1071 of what is going on in your system.
\r
1075 You can also take advantage of the <filename>/proc</filename>
\r
1076 file system that is a window into the inner workings of your
\r
1077 system. Use <command>cat</command> rather than
\r
1078 <command>more</command> to view the files as they are reported as
\r
1079 being zero length. Reports are that <command>less</command> works
\r
1084 <!-- Section2: web -->
\r
1087 <title>Web Sites</title>
\r
1090 <primary>disk!information resources!WWW</primary>
\r
1093 <primary>disk!information resources!web pages</primary>
\r
1097 There are a huge number of informative web sites available. By
\r
1098 their very nature they change quickly so do not be surprised
\r
1099 if these links become quickly outdated.
\r
1103 A good starting point is of course the
\r
1104 <ulink url="http://www.linuxdoc.org/">Linux Documentation
\r
1105 Project</ulink> home page, an information central for
\r
1106 documentation, project pages and much more.
\r
1110 Please let me know if you have any other leads that can be
\r
1117 <!-- Section1: moreinfo: END -->
\r
1120 <!-- Section1: help -->
\r
1123 <title>Getting Help</title>
\r
1126 <primary>(your index root)!assistance, obtaining</primary>
\r
1130 In the end you might find yourself unable to solve your problems
\r
1131 and need help from someone else. The most efficient way is either
\r
1132 to ask someone local or in your nearest Linux user group, search
\r
1133 the web for the nearest one.
\r
1137 Another possibility is to ask on Usenet News in one of the many,
\r
1138 many newsgroups available. The problem is that these have such a
\r
1139 high volume and noise (called low signal-to-noise ratio) that your
\r
1140 question can easily fall through unanswered.
\r
1144 No matter where you ask it is important to ask well or you will
\r
1145 not be taken seriously. Saying just <emphasis remap="it">my disk
\r
1146 does not work</emphasis> is not going to help you and instead the
\r
1147 noise level is increased even further and if you are lucky someone
\r
1148 will ask you to clarify.
\r
1152 Instead describe your problems in some detail that will enable
\r
1153 people to help you. The problem could lie somewhere you did not
\r
1154 expect. Therefore you are advised to list the following information
\r
1155 about your system:
\r
1162 <term>Hardware</Term>
\r
1167 <para>Processor</para>
\r
1179 <para>Chip set (LX, BX etc)</para>
\r
1183 <para>Bus (ISA, VESA, PCI etc)</para>
\r
1188 Expansion cards used (Disk controllers, video, IO
\r
1199 <term>Software</term>
\r
1205 <para>BIOS (On motherboard and possibly SCSI host adapters)</para>
\r
1209 <para>LILO, if used</para>
\r
1214 Linux kernel version as well as possible modifications
\r
1220 <para>Kernel parameters, if any</para>
\r
1225 Software that shows the error (with version number
\r
1237 <term>Peripherals</term>
\r
1244 Type of disk drives with manufacturer name, version and type
\r
1249 <para>Other relevant peripherals</para>
\r
1261 Remember that booting text is logged to
\r
1262 <filename>/var/log/messages</filename> which can answer most of
\r
1263 the questions above. Obviously if the drives fail you might not be
\r
1264 able to get the log saved to disk but you can at least scroll
\r
1265 back up the screen using the <keycap>SHIFT</keycap> and
\r
1266 <keycap>PAGE UP</keycap> keys. It may also be useful to include
\r
1267 part of this in your request for help but do not go overboard,
\r
1268 keep it <emphasis>brief</emphasis> as a complete log file dumped
\r
1269 to Usenet News is more than a little annoying.
\r
1274 <!-- Section1: help: END -->
\r
1277 <!-- Section1: remarks -->
\r
1279 <sect1 id="remarks">
\r
1280 <title>Concluding Remarks</title>
\r
1283 <primary>(your index root)!conclusion</primary>
\r
1287 <emphasis>Just summing up... Also a place for general
\r
1288 recommendations.</emphasis>
\r
1293 <!-- Section1: remarks: END -->
\r
1296 <!-- Section1: faq -->
\r
1299 <title>Questions and Answers</title>
\r
1302 <primary>(your index root)!FAQ</primary>
\r
1305 <primary>(your index root)!frequently asked questions</primary>
\r
1309 <emphasis>Check the newsgroups and try to determine some frequent
\r
1310 problems and cover them here. Again an example from the Multi Disk
\r
1315 This is just a collection of what I believe are the most common
\r
1316 questions people might have. Give me more feedback and I will turn
\r
1317 this section into a proper FAQ.
\r
1324 Q:How many physical disk drives (spindles) does a Linux system need?
\r
1328 A: Linux can run just fine on one drive (spindle). Having
\r
1329 enough RAM (around 32 MB, and up to 64 MB) to support swapping
\r
1330 is a better price/performance choice than getting a second
\r
1331 disk. (E)IDE disk is usually cheaper (but a little slower) than
\r
1338 Q: Are there any disadvantages in this scheme?
\r
1342 A: There is only a minor snag: if even a single partition
\r
1343 overflows the system might stop working properly. The severity
\r
1344 depends of course on what partition is affected. Still this is
\r
1345 not hard to monitor, the command <command>df</command> gives
\r
1346 you a good overview of the situation. Also check the swap
\r
1347 partition(s) using <command>free</command> to make sure you are
\r
1348 not about to run out of virtual memory.
\r
1354 Q: OK, so should I split the system into as many partitions as
\r
1355 possible for a single drive?
\r
1359 A: No, there are several disadvantages to that. First of all
\r
1360 maintenance becomes needlessly complex and you gain very little
\r
1361 in this. In fact if your partitions are too big you will seek
\r
1362 across larger areas than needed. This is a balance and
\r
1363 dependent on the number of physical drives you have.
\r
1370 Greg Leblanc: Depending on how big this FAQ gets, perhaps it
\r
1371 would be worthwhile to have, say, the 5 most FAQ, and put the
\r
1372 rest into an external FAQ. Dunno. Comments?
\r
1375 <emphasis>(rest deleted.)</emphasis>
\r
1380 <!-- Section1: faq: END -->
\r
1383 <!-- Section1: bits-n-pieces -->
\r
1385 <sect1 id="bits-n-pieces">
\r
1386 <title>Bits and Pieces </title>
\r
1389 <primary>disk!miscellaneous</primary>
\r
1393 This is basically a section where I stuff all the bits I have not
\r
1394 yet decided where should go, yet that I feel is worth knowing
\r
1395 about. It is a kind of transient area.
\r
1400 <!-- Section1: bits-n-pieces: END -->
\r
1403 <!-- Section1: examples -->
\r
1405 <sect1 id="examples">
\r
1406 <title>Examples</title>
\r
1409 <primary>(your index root)!examples</primary>
\r
1413 <emphasis>Example designs and sample configuration files and other
\r
1414 relevant details is always handy</emphasis>
\r
1419 <!-- Section1: examples: END -->
\r
1423 <!-- Keep this comment at the end of the file
\r
1428 sgml-namecase-general:t
\r
1429 sgml-general-insert-case:lower
\r
1430 sgml-minimize-attributes:nil
\r
1431 sgml-always-quote-attributes:t
\r
1432 sgml-indent-step:1
\r
1433 sgml-indent-data:nil
\r
1434 sgml-parent-document:nil
\r
1435 sgml-exposed-tags:nil
\r
1436 sgml-local-catalogs:nil
\r
1437 sgml-local-ecat-files:nil
\r