1 <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
8 <title>Free Software Development HOWTO</title>
11 <firstname>Benjamin</firstname>
12 <othername>Mako</othername>
13 <surnamen>Hill</surname>
16 <email>mako@debian.org</email>
24 <revnumber>v0.01</revnumber>
25 <date>1 January 2001</date>
26 <authorinitials>bch</authorinitials>
35 <primary>fswd</primary>
39 This HOWTO is designed for people with experience in programming
40 and some skills in managing a software project but who are new to
41 the world of Free Software. This document is meant to act as a
42 guide to the non-technical aspects of programming and was written
43 to act as a crash course in the people skills that aren't taught
44 to commercial coders but that can make or break a free software
51 <!-- Section1: intro -->
54 <title>Introduction</title>
57 <primary>fswd!introduction</primary>
61 For various reasons, this realease has been codenamed the
62 <emphasis>homade yogurt</emphasis> release.
66 New code names will appear as per industry standard
67 guidelines to emphasize the state-of-the-art-ness of this
72 Skimming through Freshmeat provides mountains of reasons for this
73 HOWTO's existence--the Internet is littered with excellently
74 written and useful programs that have faded away into the Universe
75 of Free Software Forgottenness. This dismal scene made me ask
80 This HOWTO tries to do a lot of thing (probably too many), but it
81 can't answer that question and won't attempt it. What this HOWTO
82 will attempt to do is give your Free Software project a fighting
83 chance-an edge. If you write a piece of crap that no one is
84 interested in, you can read this HOWTO until you recite it in your
85 sleep and your project will probably fail. Then again, you can
86 write a beautiful, relevent piece of software and follow every
87 instruction in this HOWTO and your software may still not make
88 it. Sometimes life is like that. However, I'll go out a limb and
89 say that if you write a great, relevant pieces of software and
90 ignore the advise in this HOWTO, you'll probably fail <emphasis>
91 more often</emphasis>.
95 A lot of the information in this HOWTO is best called common
96 sense. Of course, as any debate on interfaces will prove, what is
97 common sense to some programmers proves totally unintuitive to
98 others. After explaining bites and pieces of this HOWTO to Free
99 Software developers on several occasions, I realized that that
100 writing this HOWTO might provide a useful resource and a forum for
101 programmers to share ideas about what has and has not worked for
110 As anyone involved in any of what seems like an unending parade of
111 ridiculous intellectual property clashes will attest to, a little
112 bit of legalese proves important.
115 <!-- Section2: copyright -->
117 <sect2 id="copyright">
118 <title>Copyright Information</title>
121 This document is copyrighted (c) 2000 Stein Gjoen and is
122 distributed under the terms of the Linux Documentation Project
123 (LDP) license, stated below. <emphasis>Replace with your name,
124 or supply a new license, when you use this skeleton for a new
129 Unless otherwise stated, Linux HOWTO documents are
130 copyrighted by their respective authors. Linux HOWTO documents may
131 be reproduced and distributed in whole or in part, in any medium
132 physical or electronic, as long as this copyright notice is
133 retained on all copies. Commercial redistribution is allowed and
134 encouraged; however, the author would like to be notified of any
139 All translations, derivative works, or aggregate works
140 incorporating any Linux HOWTO documents must be covered under this
141 copyright notice. That is, you may not produce a derivative work
142 from a HOWTO and impose additional restrictions on its
143 distribution. Exceptions to these rules may be granted under
144 certain conditions; please contact the Linux HOWTO coordinator at
145 the address given below.
149 In short, we wish to promote dissemination of this
150 information through as many channels as possible. However, we do
151 wish to retain copyright on the HOWTO documents, and would like to
152 be notified of any plans to redistribute the HOWTOs.
156 If you have any questions, please contact
157 <email>linux-howto@metalab.unc.edu</email>
161 <!-- Section2: disclaimer -->
163 <sect2 id="disclaimer">
164 <title>Disclaimer</title>
167 No liability for the contents of this documents can be accepted.
168 Use the concepts, examples and other content at your own risk.
169 As this is a new edition of this document, there may be errors
170 and inaccuracies, that may of course be damaging to your system.
171 Proceed with caution, and although this is highly unlikely,
172 the author(s) do not take any responsibility for that.
176 All copyrights are held by their by their respective owners, unless
177 specifically noted otherwise. Use of a term in this document
178 should not be regarded as affecting the validity of any trademark
183 Naming of particular products or brands should not be seen
188 You are strongly recommended to take a backup of your system
189 before major installation and backups at regular intervals.
193 <!-- Section2: newversions-->
195 <sect2 id="newversions">
196 <title>New Versions</title>
199 <primary>(your index root)!news on</primary>
203 This is the initial release. It is written to be released to
204 developers for critique and brainstorming and submitted to
205 Hampshire College for academic credit. Please keep in mind that
206 this version of the HOWTO is still in an infant stage and will be
207 revised extensively before it hits the LDP.
211 The latest version number of this document should always be listed
212 at my webpage at<ulink url="http://people.debian.org/~mako/">
213 http://people.debian.org/~mako/</unlink> Debian.
217 The newest version of this HOWTO will always be made available at
218 the same website, in a variety of formats:
225 <ulink url="http://people.debian.org/~mako/howto/fswd-howto.html">HTML</ulink>.
231 <ulink URL="http://people.debian.org/~mako/howto/fswd-howto.txt">plain text</ulink>.
237 <ulink url="http://people.debian.org/~mako/howto/fswd-howto.US.ps.gz">compressed
238 postscript (US letter format)</ulink>.
244 <ulink url="http://people.debian.org/~mako/howto/fswd-howto.UF.ps.gz">compressed
245 postscript (Universal format / 8.27x11in; 210x279mm)</ulink>.
251 <ulink url="http://people.debian.org/~mako/howto/fswd-howto.sgml">SGML source</ulink>.
257 <!-- Section2: credits -->
260 <title>Credits</title>
263 In this version I have the pleasure of acknowledging:
267 <emphasis>Karl Fogel</emphasis>, the author of <emphasis>Open
268 Source Development with CVS</emphasis> published by the Coriolis
269 Open Press. Larges parts of the book are available <ulink
270 url="http://cvsbook.red-bean.com">on the web</ulink>. 225 pages of
271 the book are available under the GPL and constitute the best
272 tutorial on CVS I have ever seen. The rest of the book covers,
273 "the challenges and philosophical issues inherent in running an
274 Open Source project using CVS." The book does a good job of
275 covering some of the subjects brought up in this HOWTO and much
276 more. <ulink url="http://cvsbook.red-bean.com">The book's
277 website</ulink> has information on ordering the book and provides
278 several translations of the chapters on CVS. I you are seriously
279 interested in running a Free Software project, you want this book.
283 Karl Fogel can be reached at <email>kfogel (at) red-bean (dot)
287 Also providing support and material, and inspiration for this
288 HOWTO is Eric S. Raymond for his prolific, consitent, and
289 carefully crafted arguments, to Lawrence Lessig for reminding me
290 of the importance of Free Software and to every user and developer
291 involved with the <ulink url="http://www.debian.org">Debian
292 Project</ulink>. The project has provided me with a home, a place
293 to practice Free Software advocacy and to make a difference, a
294 place to learn from those how have been involved with the movement
295 much longer than I, and an proof of a Free Software project that
296 <emphasis>definately, definately works</emphasis>.
300 Above all, I want to thank <emphasis>Richard Stallman</emphasis>
301 for his work at the Free Software Foundation and for never giving
302 up. Stallman provided the philosphical basis that attracts me to
303 Free Software and that drives me towards writing a document to
304 make sure it succeeds. RMS can always be emailed at <email>rms
305 (at) gnu (dot) org</email>.
310 <!-- Section2: feedback -->
312 <sect2 id="feedback">
313 <title>Feedback</title>
316 Feedback is most certainly welcome for this document. Without your
317 submissions and input, this document wouldn't exist. Something
318 missing? Don't hesitate to contact me and to write a chapter. I
319 want this document to be as much a product of the Free Software
320 development process that it heralds and I think its ultimate
321 success will be rooted in this fact. Please send your additions,
322 comments and criticisms to the following email address :
323 <email>mako (at) debian (dot) org</email>.
327 <!-- Section2: translations -->
329 <sect2 id="translations">
330 <title>Translations</title>
333 I know that not everyone speaks English. Translations are nice and
334 I'd love for this HOWTO to gain the kind of international reach
335 afforded by a translated version.
338 However, this HOWTO is still young and I have to yet to be
339 contacted about a translation so English is all that is
340 available. If you would like to help with or do a translation, you
341 will gain my utmost respect and admiration and you'll get to be
342 part of a cool process. If you are at all interested, please don't
343 hesitate to contact me at: <email>mako (at) debian (dot)
349 <!-- Section1: intro: END -->
351 <!-- Section1: starting -->
353 <sect1 id="starting">
354 <title>Starting a Project</title>
357 <primary>fswd!starting</primary>
361 <!-- Section2: chooseproject-->
363 <sect2 id="chooseproject">
364 <title>Choosing a Project</title>
367 <!-- Section2: chooselicense-->
369 <sect2 id="chooselicense">
370 <title>Deciding on a License</title>
373 <!-- Section2: chooseversioning-->
375 <sect2 id="chooseversioning">
376 <title>Choosing a Method of Version Numbering</title>
379 <!-- Section2: documentation-->
381 <sect2 id="documentation">
382 <title>Documentation</title>
385 <!-- Section2: presentation -->
387 <sect2 id="presentation">
388 <title>Other Presentation Issues</title>
391 <!-- Section2: futuredev -->
393 <sect2 id="futuredev">
394 <title>Nuturing Future Development</title>
399 <!-- Section1: starting: END -->
401 <!-- Section1: developers -->
403 <sect1 id="developers">
404 <title>Maintaining a Project: Interacting with Developers</title>
407 <primary>fswd!developers</primary>
410 <!-- Section2: delegation -->
412 <sect2 id="delegation">
413 <title>Delegating Work</title>
416 <!-- Section2: branches -->
418 <sect2 id="branches">
419 <title>Stable and Development Branches</title>
422 <!-- Section2: freezing -->
424 <sect2 id="freezing">
425 <title>Freezing</title>
428 <!-- Section2: codecram -->
430 <sect2 id="codecram">
431 <title>Avoiding the Code Cram Effect</title>
434 <!-- Section2: patching -->
436 <sect2 id="patching">
437 <title>Accepting and Rejecting Patches</title>
441 <!-- Section1: users -->
444 <title>Maintaining a Project: Interacting with Users</title>
447 <primary>fswd!users</primary>
451 <!-- Section2: announcing -->
453 <sect2 id="announcing">
454 <title>Announcing Your Project</title>
457 <!-- Section2: testing -->
460 <title>Testing and Testers</title>
464 <!-- Section1: samples -->
467 <title>Samples</title>
470 <emphasis>This section gives some simple SGML examples you could
471 use. Read the SGML source to see how it was done.</emphasis>
475 Further information and examples can be obtained from the publication
476 <ulink url="http://docbook.org/tdg/html/">DocBook: The Definitive
477 Guide</ulink>. Written by <emphasis>Norman Walsh</emphasis>
478 and <emphasis>Leonard Muellner</emphasis>; 1st Edition, October 1999.
481 <!-- Section2: lists -->
487 <emphasis>Lists are used frequently, and are available in a number
488 of formats shown below.</emphasis>
492 A list in which each entry is marked with a bullet or other dingbat:
514 A list in which each entry is composed of a set of one or more
515 terms and an associated description:
524 <para>such as apples, oranges, and more.</para>
531 <para>Don't eat too many; you are what you eat.</para>
536 <term>Vegetables</term>
538 <para>Potatos are spelled with care.</para>
546 A list in which each entry is marked with a sequentially
554 <para>Step one</para>
558 <para>Step two</para>
565 <!-- Section2: links -->
571 <emphasis>Links can be used within your documents to refer to
572 different sections and chapters or to refer to documents external
576 <sect3 id="int-links">
577 <title>Internal links</title>
580 Click on the <xref LinkEnd="samples"> link to jump to the top of
581 this chapter. Note the anchor at the section tag.
585 <sect3 id="ext-links">
586 <title>External links</title>
589 Click on <ulink url="http://www.linuxdoc.org/">this</ulink> link
590 to jump to the LDP site. Note you can use http, ftp, news and
591 other protocols in the locator if required.
597 <!-- Section2: images -->
600 <title>Images</title>
603 <emphasis>Avoid diagrams if possible as this cannot be rendered
604 in the ASCII outputs which are still needed by many around the
610 <title>Graphics Test Image</title>
611 <graphic FileRef="red.gif"></graphic>
616 Here is another variation which allows for ALT text:
623 <imagedata fileref="green.gif" format="gif">
628 ALT text to be used: Green Ball
634 Caption for the graphic goes here: This is a Green Ball.
643 <!-- Section1: samples: END -->
646 <!-- Section1: structure -->
648 <sect1 id="structure">
649 <title>Structure</title>
652 <emphasis>A quick overview on how all parts fit together in the overall
653 structure. An example from the Multi Disk HOWTO is used.</emphasis>
657 As this type of document is supposed to be as much for learning as
658 a technical reference document I have rearranged the structure to
659 this end. For the designer of a system it is more useful to have
660 the information presented in terms of the goals of this exercise
661 than from the point of view of the logical layer structure of the
662 devices themselves. Nevertheless this document would not be
663 complete without such a layer structure the computer field is so
664 full of, so I will include it here as an introduction to how it
668 <!-- Section2: logical-struct -->
670 <sect2 id="logical-struct">
671 <title>Logical structure</title>
674 <primary>disk!structure, I/O subsystem</primary>
678 This is based on how each layer access each other, traditionally
679 with the application on top and the physical layer on the bottom.
680 It is quite useful to show the interrelationship between each of
681 the layers used in controlling drives.
684 ___________________________________________________________
685 |__ File structure ( /usr /tmp etc) __|
686 |__ File system (ext2fs, vfat etc) __|
687 |__ Volume management (AFS) __|
688 |__ RAID, concatenation (md) __|
689 |__ Device driver (SCSI, IDE etc) __|
690 |__ Controller (chip, card) __|
691 |__ Connection (cable, network) __|
692 |__ Drive (magnetic, optical etc) __|
693 -----------------------------------------------------------
698 In the above diagram both volume management and RAID and
699 concatenation are optional layers. The 3 lower layers are in
700 hardware. All parts are discussed at length later on in this
705 <!-- Section2: doc-struct -->
707 <sect2 id="doc-struct">
708 <title>Document structure</title>
711 Most users start out with a given set of hardware and some plans
712 on what they wish to achieve and how big the system should be.
713 This is the point of view I will adopt in this document in
714 presenting the material, starting out with hardware, continuing
715 with design constraints before detailing the design strategy that
716 I have found to work well. I have used this both for my own
717 personal computer at home, a multi purpose server at work and
718 found it worked quite well. In addition my Japanese co-worker in
719 this project have applied the same strategy on a server in an
720 academic setting with similar success.
724 Finally at the end I have detailed some configuration tables for
725 use in your own design. If you have any comments regarding this
726 or notes from your own design work I would like to hear from you
727 so this document can be upgraded.
731 <!-- Section2: reading-plan -->
733 <sect2 id="reading-plan">
734 <title>Reading plan</title>
737 <emphasis>As you go beyond 50 pages or so there will be a lot of
738 text that experts and even the experienced do not need to read.
739 Keeping in mind that we wish to care for all kinds of people in
740 the Linux world we might have to make a reading plan. Again,
741 an example follows from the Multi Disk HOWTO.</emphasis>
745 Although not the biggest HOWTO it is nevertheless rather big
746 already and I have been requested to make a reading plan to make
747 it possible to cut down on the volume.
757 (aka the elite). If you are familiar with Linux as well as
758 disk drive technologies you will find most of what you need in
759 the appendices. Additionally you are recommended to read the
760 FAQ and the <XRef LinkEnd="bits-n-pieces">chapter.
766 <term>Experienced</term>
769 (aka Competent). If you are familiar with computers in
770 general you can go straight to the chapters on
771 <XRef LinkEnd="technologies"> and continue from there on.
780 (mostly harmless). You just have to read the whole thing.
781 Sorry. In addition you are also recommended to read all the
782 other disk related HOWTOs.
793 <!-- Section1: structure: END -->
796 <!-- Section1: technologies -->
798 <sect1 id="technologies">
799 <title>Technologies</title>
802 <primary>(your index root)!technologies</primary>
806 <emphasis>Introduction of technology for the newbie with a few
807 references to detailed works. Remember that not everyone has
808 Internet access so you have to explain in sufficient details so
809 even the newbie can get by.</emphasis>
814 <!-- Section1: technologies: END -->
817 <!-- Section1: implement -->
819 <sect1 id="implement">
820 <title>Implementation</title>
823 <primary>(your index root)!implementation</primary>
827 <emphasis>Now your readers should have a sufficient knowledge of
828 what this is about and now we come to the hands on of implementing
829 your clever scheme.</emphasis>
834 <!-- Section1: implement: END -->
837 <!-- Section1: maint -->
840 <title>Maintenance</title>
843 <primary>(your index root)!maintenance</primary>
847 <emphasis>Few systems and designs are maintenance free, here you
848 explain how to keep the system running.</emphasis>
853 <!-- Section1: maint: END -->
856 <!-- Section1: adv-issues -->
858 <sect1 id="adv-issues">
859 <title>Advanced Issues</title>
862 <primary>(your index root)!advanced topics</primary>
866 <emphasis>You can get most things up and running in a quick and
867 dirty fashion, useful for testing and getting used to how things
868 work. For more serious use you would need to be a little more
869 advanced. This is the place to explain it all, if applicable.</emphasis>
874 <!-- Section1: adv-issues: END -->
877 <!-- Section1: moreinfo -->
879 <sect1 id="moreinfo">
880 <title>Further Information</title>
883 <primary>(your index root)!information resources</primary>
887 <emphasis>A HOWTO cannot describe everything, some times the user
888 has to venture out on th enet to get more information or just
889 updates. Here is the place to tell where and how. Again examples
890 from the Multi Disk HOWTO, replace as needed.</emphasis> There is wealth
891 of information one should go through when setting up a major system,
892 for instance for a news or general Internet service provider. The
893 FAQs in the following groups are useful:
896 <!-- Section2: newsgroups -->
898 <sect2 id="newsgroups">
899 <title>News groups</title>
902 <primary>disk!information resources!news groups</primary>
905 <para>Some of the most interesting news groups are:
911 <ulink url="news:comp.arch.storage">Storage</ulink>.
917 <ulink url="news:comp.sys.ibm.pc.hardware.storage">PC storage</ulink>.
923 <ulink url="news:alt.filesystems.afs">AFS</ulink>.
929 <ulink url="news:comp.periphs.scsi">SCSI</ulink>.
935 <ulink url="news:comp.os.linux.setup">Linux setup</ulink>.
943 Most newsgroups have their own FAQ that are designed to answer most
944 of your questions, as the name Frequently Asked Questions indicate.
945 Fresh versions should be posted regularly to the relevant newsgroups.
946 If you cannot find it in your news spool you could go directly to the
947 <ulink url="ftp://rtfm.mit.edu/">FAQ main archive FTP site</ulink>.
948 The WWW versions can be browsed at the
949 <ulink url="http://www.cis.ohio-state.edu/hypertext/faq/usenet/FAQ-List.html">FAQ
950 main archive WWW site</ulink>.
954 Some FAQs have their own home site, of particular interest:
960 <ulink url="http://www.paranoia.com/~filipg/HTML/LINK/F_SCSI.html">SCSI FAQ</ulink>
967 <ulink url="http://alumni.caltech.edu/~rdv/comp_arch_storage/FAQ-1.html">comp.arch.storage FAQ</ulink>.
975 <!-- Section2: maillists -->
977 <sect2 id="maillists">
978 <title>Mailing Lists</title>
981 <primary>disk!information resources!mailing lists</primary>
985 These are low-noise channels mainly for developers. Think twice
986 before asking questions there as noise delays the development.
987 Some relevant lists are <email>linux-raid</email>,
988 <email>linux-scsi</email> and <email>linux-ext2fs</email>. Many
989 of the most useful mailing lists run on the <Literal
990 remap="tt">vger.rutgers.edu</Literal> server but this is
991 notoriously overloaded, so try to find a mirror. There are some
992 lists mirrored at <ulink url="http://www.redhat.com">The Redhat
993 Home Page</ulink>. Many lists are also accessible at <ulink
994 url="http://www.linuxhq.com/lnxlists">linuxhq</ulink>, and the
995 rest of the web site contains useful information as well.
999 If you want to find out more about the lists available you can send
1000 a message with the line <command>lists</command> to the list server
1001 at <email>majordomo@vger.rutgers.edu</email>.
1002 If you need help on how to use the mail server just send the line
1003 <command>help</command> to the same address. Due to the
1004 popularity of this server it is likely it takes a bit to time before
1005 you get a reply or even get messages after you send a
1006 <command>subscribe</command> command.
1010 There is also a number of other majordomo list servers that can
1011 be of interest such as the EATA driver list
1012 (<email>linux-eata@mail.uni-mainz.de</email>)
1013 and the Intelligent IO list <email>linux-i2o@dpt.com</email>.
1017 Mailing lists are in a state of flux but you can find links to a
1018 number of interesting lists from the
1019 <ulink url="http://www.linuxdoc.org/">Linux Documentation
1024 <!-- Section2: howto -->
1027 <title>HOWTO</title>
1030 <primary>disk!information resources!HOWTOs</primary>
1034 These are intended as the primary starting points to get the
1035 background information as well as show you how to solve a
1036 specific problem. Some relevant HOWTOs are
1037 <Literal remap="tt">Bootdisk</Literal>,
1038 <Literal remap="tt">Installation</Literal>,
1039 <Literal remap="tt">SCSI</Literal> and
1040 <Literal remap="tt">UMSDOS</Literal>. The main site for these is the
1041 <ulink url="http://www.linuxdoc.org/">LDP archive</ulink>at
1042 Metalab (formerly known as Sunsite).
1046 There is a a new HOWTO out that deals with setting up a DPT RAID
1047 system, check out the
1048 <ulink url="http://www.ram.org/computing/linux/dpt_raid.html">DPT RAID
1049 HOWTO homepage</ulink>.
1053 <!-- Section2: local-res -->
1055 <sect2 id="local-res">
1056 <title>Local Resources</title>
1059 <primary>disk!information resources!local</primary>
1063 In most distributions of Linux there is a document directory
1064 installed, have a look in the <filename>/usr/doc</filename>
1065 directory. where most packages store their main documentation and
1066 README files etc. Also you will here find the HOWTO archive
1067 (<filename>/usr/doc/HOWTO</filename>) of ready formatted HOWTOs
1068 and also the mini-HOWTO archive
1069 (<filename>/usr/doc/HOWTO/mini</filename>) of plain text
1074 Many of the configuration files mentioned earlier can be found in
1075 the <filename>/etc</filename> directory. In particular you will
1076 want to work with the <filename>/etc/fstab</filename> file that
1077 sets up the mounting of partitions and possibly also
1078 <filename>/etc/raidtab</filename> file that is used for the
1079 <Literal remap="tt">md</Literal> system to set up RAID.
1083 The kernel source in <filename>/usr/src/linux</filename> is, of
1084 course, the ultimate documentation. In other words, <quote>use
1085 the source, Luke</quote>. It should also be pointed out that the
1086 kernel comes not only with source code which is even commented
1087 (well, partially at least) but also an informative
1088 <filename>/usr/src/linux/Documentation</filename>. If you are
1089 about to ask any questions about the kernel you should read this
1090 first, it will save you and many others a lot of time and
1091 possibly embarrassment.
1095 Also have a look in your system log file
1096 (<filename>/var/log/messages</filename>) to see what is going on
1097 and in particular how the booting went if too much scrolled off
1098 your screen. Using <command>tail -f /var/log/messages</command>
1099 in a separate window or screen will give you a continuous update
1100 of what is going on in your system.
1104 You can also take advantage of the <filename>/proc</filename>
1105 file system that is a window into the inner workings of your
1106 system. Use <command>cat</command> rather than
1107 <command>more</command> to view the files as they are reported as
1108 being zero length. Reports are that <command>less</command> works
1113 <!-- Section2: web -->
1116 <title>Web Sites</title>
1119 <primary>disk!information resources!WWW</primary>
1122 <primary>disk!information resources!web pages</primary>
1126 There are a huge number of informative web sites available. By
1127 their very nature they change quickly so do not be surprised
1128 if these links become quickly outdated.
1132 A good starting point is of course the
1133 <ulink url="http://www.linuxdoc.org/">Linux Documentation
1134 Project</ulink> home page, an information central for
1135 documentation, project pages and much more.
1139 Please let me know if you have any other leads that can be
1146 <!-- Section1: moreinfo: END -->
1149 <!-- Section1: help -->
1152 <title>Getting Help</title>
1155 <primary>(your index root)!assistance, obtaining</primary>
1159 In the end you might find yourself unable to solve your problems
1160 and need help from someone else. The most efficient way is either
1161 to ask someone local or in your nearest Linux user group, search
1162 the web for the nearest one.
1166 Another possibility is to ask on Usenet News in one of the many,
1167 many newsgroups available. The problem is that these have such a
1168 high volume and noise (called low signal-to-noise ratio) that your
1169 question can easily fall through unanswered.
1173 No matter where you ask it is important to ask well or you will
1174 not be taken seriously. Saying just <emphasis remap="it">my disk
1175 does not work</emphasis> is not going to help you and instead the
1176 noise level is increased even further and if you are lucky someone
1177 will ask you to clarify.
1181 Instead describe your problems in some detail that will enable
1182 people to help you. The problem could lie somewhere you did not
1183 expect. Therefore you are advised to list the following information
1191 <term>Hardware</Term>
1196 <para>Processor</para>
1208 <para>Chip set (LX, BX etc)</para>
1212 <para>Bus (ISA, VESA, PCI etc)</para>
1217 Expansion cards used (Disk controllers, video, IO
1228 <term>Software</term>
1234 <para>BIOS (On motherboard and possibly SCSI host adapters)</para>
1238 <para>LILO, if used</para>
1243 Linux kernel version as well as possible modifications
1249 <para>Kernel parameters, if any</para>
1254 Software that shows the error (with version number
1266 <term>Peripherals</term>
1273 Type of disk drives with manufacturer name, version and type
1278 <para>Other relevant peripherals</para>
1290 Remember that booting text is logged to
1291 <filename>/var/log/messages</filename> which can answer most of
1292 the questions above. Obviously if the drives fail you might not be
1293 able to get the log saved to disk but you can at least scroll
1294 back up the screen using the <keycap>SHIFT</keycap> and
1295 <keycap>PAGE UP</keycap> keys. It may also be useful to include
1296 part of this in your request for help but do not go overboard,
1297 keep it <emphasis>brief</emphasis> as a complete log file dumped
1298 to Usenet News is more than a little annoying.
1303 <!-- Section1: help: END -->
1306 <!-- Section1: remarks -->
1308 <sect1 id="remarks">
1309 <title>Concluding Remarks</title>
1312 <primary>(your index root)!conclusion</primary>
1316 <emphasis>Just summing up... Also a place for general
1317 recommendations.</emphasis>
1322 <!-- Section1: remarks: END -->
1325 <!-- Section1: faq -->
1328 <title>Questions and Answers</title>
1331 <primary>(your index root)!FAQ</primary>
1334 <primary>(your index root)!frequently asked questions</primary>
1338 <emphasis>Check the newsgroups and try to determine some frequent
1339 problems and cover them here. Again an example from the Multi Disk
1344 This is just a collection of what I believe are the most common
1345 questions people might have. Give me more feedback and I will turn
1346 this section into a proper FAQ.
1353 Q:How many physical disk drives (spindles) does a Linux system need?
1357 A: Linux can run just fine on one drive (spindle). Having
1358 enough RAM (around 32 MB, and up to 64 MB) to support swapping
1359 is a better price/performance choice than getting a second
1360 disk. (E)IDE disk is usually cheaper (but a little slower) than
1367 Q: Are there any disadvantages in this scheme?
1371 A: There is only a minor snag: if even a single partition
1372 overflows the system might stop working properly. The severity
1373 depends of course on what partition is affected. Still this is
1374 not hard to monitor, the command <command>df</command> gives
1375 you a good overview of the situation. Also check the swap
1376 partition(s) using <command>free</command> to make sure you are
1377 not about to run out of virtual memory.
1383 Q: OK, so should I split the system into as many partitions as
1384 possible for a single drive?
1388 A: No, there are several disadvantages to that. First of all
1389 maintenance becomes needlessly complex and you gain very little
1390 in this. In fact if your partitions are too big you will seek
1391 across larger areas than needed. This is a balance and
1392 dependent on the number of physical drives you have.
1399 Greg Leblanc: Depending on how big this FAQ gets, perhaps it
1400 would be worthwhile to have, say, the 5 most FAQ, and put the
1401 rest into an external FAQ. Dunno. Comments?
1404 <emphasis>(rest deleted.)</emphasis>
1409 <!-- Section1: faq: END -->
1412 <!-- Section1: bits-n-pieces -->
1414 <sect1 id="bits-n-pieces">
1415 <title>Bits and Pieces </title>
1418 <primary>disk!miscellaneous</primary>
1422 This is basically a section where I stuff all the bits I have not
1423 yet decided where should go, yet that I feel is worth knowing
1424 about. It is a kind of transient area.
1429 <!-- Section1: bits-n-pieces: END -->
1432 <!-- Section1: examples -->
1434 <sect1 id="examples">
1435 <title>Examples</title>
1438 <primary>(your index root)!examples</primary>
1442 <emphasis>Example designs and sample configuration files and other
1443 relevant details is always handy</emphasis>
1448 <!-- Section1: examples: END -->
1452 <!-- Keep this comment at the end of the file
1457 sgml-namecase-general:t
1458 sgml-general-insert-case:lower
1459 sgml-minimize-attributes:nil
1460 sgml-always-quote-attributes:t
1462 sgml-indent-data:nil
1463 sgml-parent-document:nil
1464 sgml-exposed-tags:nil
1465 sgml-local-catalogs:nil
1466 sgml-local-ecat-files:nil