Date: Sat, 14 Jun 2003 14:45:05 +0200 (CEST) From: Lukas Ertl <l.ertl@univie.ac.at> To: FreeBSD-gnats-submit@FreeBSD.org Subject: docs/53315: [PATCH] remove extraneous whitespace at the end of lines in articles Message-ID: <200306141245.h5ECj5T6001700@korben.in.tern> Resent-Message-ID: <200306141250.h5ECoCmU043155@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 53315 >Category: docs >Synopsis: [PATCH] remove extraneous whitespace at the end of lines in articles >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-doc >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Sat Jun 14 05:50:11 PDT 2003 >Closed-Date: >Last-Modified: >Originator: Lukas Ertl >Release: FreeBSD 5.1-CURRENT i386 >Organization: Vienna University Computer Center >Environment: System: FreeBSD korben 5.1-CURRENT FreeBSD 5.1-CURRENT #10: Wed Jun 11 23:19:20 CEST 2003 le@korben:/usr/obj/usr/src/sys/KORBEN i386 >Description: >How-To-Repeat: >Fix: This mega-patch removes extraneous whitespace at the end of lines in the documentation articles. --- articles.diff begins here --- Index: en_US.ISO8859-1/articles//console-server/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/console-server/article.sgml,v retrieving revision 1.12 diff -u -r1.12 article.sgml --- en_US.ISO8859-1/articles//console-server/article.sgml 1 Feb 2003 17:49:28 -0000 1.12 +++ en_US.ISO8859-1/articles//console-server/article.sgml 14 Jun 2003 12:34:45 -0000 @@ -855,20 +855,20 @@ printed labels *before* putting on the connectors is the best way I have seen for marking what they are. -<li>You can also use Panduit or similar tags that -you put on with nylon tie straps, but I find the ink wears off the +<li>You can also use Panduit or similar tags that +you put on with nylon tie straps, but I find the ink wears off the tags. </ul> <p> -<dt>Cisco Catalyst switches -<dd> +<dt>Cisco Catalyst switches +<dd> Astoundingly, the pinout on the console ports of the Catalysts is actually <em>different</em> to the pinout used on the 26xx-series Cisco hardware. I think the way to tell which is which is by -considering the operating software. If it uses IOS, then the previous +considering the operating software. If it uses IOS, then the previous pinout is required. If it uses the switch software, then this pinout is required. @@ -1066,7 +1066,7 @@ <em>SSH</em> to log into to the server machine, and run the console client there.</p> - <h2><a name="conserver-versions">On Conserver Versions</a></h2> + <h2><a name="conserver-versions">On Conserver Versions</a></h2> <p>The <code>conserver</code> program has fractured into a number of versions. The home page referenced above seems to be the Index: en_US.ISO8859-1/articles//contributing/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/contributing/article.sgml,v retrieving revision 1.495 diff -u -r1.495 article.sgml --- en_US.ISO8859-1/articles//contributing/article.sgml 1 Feb 2003 17:41:49 -0000 1.495 +++ en_US.ISO8859-1/articles//contributing/article.sgml 14 Jun 2003 12:34:50 -0000 @@ -66,7 +66,7 @@ <sect1 id="contrib-what"> <title>What Is Needed</title> - + <para>The following list of tasks and sub-projects represents something of an amalgam of various <filename>TODO</filename> lists and user requests.</para> @@ -118,7 +118,7 @@ </sect2> <sect2 id="ongoing-programmer-tasks"> - <title>Ongoing Programmer Tasks</title> + <title>Ongoing Programmer Tasks</title> <para>Most of the tasks listed here require either a considerable investment of time, or an in-depth knowledge of the FreeBSD kernel, or both. However, there are also many useful tasks Index: en_US.ISO8859-1/articles//contributors/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/contributors/article.sgml,v retrieving revision 1.399 diff -u -r1.399 article.sgml --- en_US.ISO8859-1/articles//contributors/article.sgml 13 Jun 2003 18:34:16 -0000 1.399 +++ en_US.ISO8859-1/articles//contributors/article.sgml 14 Jun 2003 12:35:47 -0000 @@ -822,7 +822,7 @@ <listitem> <para>&a.cognet;</para> </listitem> - + <listitem> <para>&a.jeh;</para> </listitem> @@ -1008,7 +1008,7 @@ </listitem> <listitem> - <para>&a.arved;</para> + <para>&a.arved;</para> </listitem> <listitem> @@ -1110,7 +1110,7 @@ <listitem> <para>&a.emoore;</para> </listitem> - + <listitem> <para>&a.amorita;</para> </listitem> @@ -5362,7 +5362,7 @@ </listitem> <listitem> - <para>Kay Lehmann + <para>Kay Lehmann <email>kay_lehmann@web.de</email></para> </listitem> @@ -7669,7 +7669,7 @@ <para>Sebastian Strollo <email>seb@erix.ericsson.se</email></para> </listitem> - + <listitem> <para>Sebastian Yepes <email>esn@x123.info</email></para> @@ -8289,7 +8289,7 @@ <para>Tim Daneliuk <email>tundra@tundraware.com</email></para> </listitem> - + <listitem> <para>Tim Kientzle <email>kientzle@netcom.com</email></para> Index: en_US.ISO8859-1/articles//cvsup-advanced/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/cvsup-advanced/article.sgml,v retrieving revision 1.10 diff -u -r1.10 article.sgml --- en_US.ISO8859-1/articles//cvsup-advanced/article.sgml 9 Dec 2002 23:28:21 -0000 1.10 +++ en_US.ISO8859-1/articles//cvsup-advanced/article.sgml 14 Jun 2003 12:35:52 -0000 @@ -26,7 +26,7 @@ <abstract> <para>The present article assumes a basic understanding of <application>CVSup</application> - operation. It documents several delicate issues connected with + operation. It documents several delicate issues connected with source synchronization via <application>CVSup</application>, viz. effective solutions to the problem of stale files as well as special source updating cases; which issues are likely to cause apparently inexplicable @@ -36,17 +36,17 @@ <sect1 id="preface"> <title>Preface</title> - - <para>This document is the fruit of the author's attempts to + + <para>This document is the fruit of the author's attempts to fully understand the niceties of <application>CVSup</application> & source updating. :-) - While the author has made every effort to make these pages - as informative and correct as possible, he is only human and + While the author has made every effort to make these pages + as informative and correct as possible, he is only human and may have made all sorts of typos, mistakes, etc. He will be very grateful for any comments and/or suggestions you send to his e-mail address, <email>bartequi@neomedia.it</email>.</para> </sect1> - + <sect1 id="introduction"> <title>Introduction</title> @@ -57,7 +57,7 @@ FAQ</ulink>, you may have noticed Question 12 & 13.</para> - <para>When updating any collection of sources (eg + <para>When updating any collection of sources (eg <filename>/usr/ports</filename>), &man.cvsup.1; makes use of the related checkouts file in order to perform the updating process in the most efficient and correct way. In this example @@ -66,12 +66,12 @@ your base is <filename>/usr</filename>.</para> <para>A checkouts file contains information on the current status - of your sources—in a way, a sort of <quote>photograph</quote>. This + of your sources—in a way, a sort of <quote>photograph</quote>. This significant information enables <command>cvsup</command> to retrieve updates most effectively. Further, and maybe more important, it enables <command>cvsup</command> to correctly manage your sources by locally deleting any files no longer present in the repository, thus leaving no stale files - on your system. In fact, without a checkouts file, <command>cvsup</command> would + on your system. In fact, without a checkouts file, <command>cvsup</command> would <emphasis>not</emphasis> know which files your collection was composed of (cf &man.cvsup.1; and the fallback method for details); as a result, it could not delete on your system those files no longer present @@ -89,9 +89,9 @@ <sect1 id="script"> <title>A useful python script: <command>cvsupchk</command></title> - <para>Alternatively, in order to examine your sources for - inconsistencies, you may wish to utilize the <command>cvsupchk</command> python - script; which script is currently found in + <para>Alternatively, in order to examine your sources for + inconsistencies, you may wish to utilize the <command>cvsupchk</command> python + script; which script is currently found in <filename>/usr/ports/net/cvsup/work/cvsup-16.1/contrib/cvsupchk</filename>, together with a nice <filename>README</filename>. Prerequisites:</para> @@ -121,9 +121,9 @@ <screen>&prompt.user; <filename>/path/to/</filename><userinput>cvsupchk -d /usr -c /usr/sup/src-all/checkouts.cvs:RELENG_4 | more</userinput></screen> - <para>In each case, <command>cvsupchk</command> will inspect your sources for - inconsistencies by utilizing the information contained in the - related checkouts file. Such anomalies as deleted files being + <para>In each case, <command>cvsupchk</command> will inspect your sources for + inconsistencies by utilizing the information contained in the + related checkouts file. Such anomalies as deleted files being present (aka stale files), missing checked-out files, extra RCS files, and dead directories will be printed to standard output.</para> @@ -141,15 +141,15 @@ <literal>src-all</literal></title> <para>If you specify eg <literal>tag=A</literal> in your <filename>supfile</filename>, <command>cvsup</command> will create - a checkouts file called <filename>checkouts.cvs:A</filename>: + a checkouts file called <filename>checkouts.cvs:A</filename>: for instance, if <literal>tag=RELENG_4</literal>, a checkouts file called - <filename>checkouts.cvs:RELENG_4</filename> is generated. + <filename>checkouts.cvs:RELENG_4</filename> is generated. This file will be used to retrieve and/or store information identifying your 4-STABLE sources.</para> <para>When tracking <literal>src-all</literal>, if you wish to - pass from <literal>tag=A</literal> to <literal>tag=B</literal> (A less/greater than B not making - any difference) and if your checkouts file is + pass from <literal>tag=A</literal> to <literal>tag=B</literal> (A less/greater than B not making + any difference) and if your checkouts file is <filename>checkouts.cvs:A</filename>, the following actions should be performed:</para> @@ -172,8 +172,8 @@ </orderedlist> <para>The <command>cvsup</command> utility will look for <filename>checkouts.cvs:B</filename>—in - that the target is B; that is, <command>cvsup</command> will make use of - the information contained therein to correctly manage your + that the target is B; that is, <command>cvsup</command> will make use of + the information contained therein to correctly manage your sources.</para> <para>The benefits:</para> @@ -185,17 +185,17 @@ </listitem> <listitem> - <para>less load is placed on the server, in that <command>cvsup</command> + <para>less load is placed on the server, in that <command>cvsup</command> operates in the most efficient way.</para> </listitem> </itemizedlist> - <para>For example, <literal>A=RELENG_4</literal>, <literal>B=.</literal>. The period in <literal>B=.</literal> means - -CURRENT. This is a rather typical update, from 4-STABLE - to -CURRENT. While it is straightforward to <quote>downgrade</quote> your - sources (eg from -CURRENT to -STABLE), downgrading a system - is quite another matter. You are STRONGLY advised not to + <para>For example, <literal>A=RELENG_4</literal>, <literal>B=.</literal>. The period in <literal>B=.</literal> means + -CURRENT. This is a rather typical update, from 4-STABLE + to -CURRENT. While it is straightforward to <quote>downgrade</quote> your + sources (eg from -CURRENT to -STABLE), downgrading a system + is quite another matter. You are STRONGLY advised not to attempt such an operation, unless you know exactly what you are doing.</para> </sect2> @@ -203,8 +203,8 @@ <sect2> <title>Updating to the same tag as of a different date</title> - <para>If you wish to switch from <literal>tag=A</literal> to <literal>tag=A</literal> as of a - different GMT date (say, <literal>date=D</literal>), you will execute the + <para>If you wish to switch from <literal>tag=A</literal> to <literal>tag=A</literal> as of a + different GMT date (say, <literal>date=D</literal>), you will execute the following:</para> <orderedlist> @@ -219,25 +219,25 @@ </orderedlist> <para>Whether the new date precedes that of the last sync - operation with <literal>tag=A</literal> or not, it is immaterial. For example, - in order to specify the date <quote>August 27, 2000, 10:00:00 GMT</quote> + operation with <literal>tag=A</literal> or not, it is immaterial. For example, + in order to specify the date <quote>August 27, 2000, 10:00:00 GMT</quote> you write the line:</para> <programlisting>src-all tag=RELENG_4 date=2000.08.27.10.00.00</programlisting> - <note><para>The format of a date is rigid. You have to specify - all the components of the date: century (<quote>20</quote>, ie the 21st - century, must be supplied whereas <quote>19</quote>, the past century, can - be omitted), year, month, day, hour, minutes, seconds—as - shown in the above example. For more information, please + <note><para>The format of a date is rigid. You have to specify + all the components of the date: century (<quote>20</quote>, ie the 21st + century, must be supplied whereas <quote>19</quote>, the past century, can + be omitted), year, month, day, hour, minutes, seconds—as + shown in the above example. For more information, please see &man.cvsup.1;.</para></note> - <para>Whether or not a date is specified, the checkouts file + <para>Whether or not a date is specified, the checkouts file is called <filename>checkouts.cvs:A</filename> (eg <filename>checkouts.cvs:RELENG_4</filename>). As a result, - no particular action is needed in order to revert to the - previous state: you have to modify the date in the <filename>supfile</filename>, + no particular action is needed in order to revert to the + previous state: you have to modify the date in the <filename>supfile</filename>, and run <command>csvup</command> again.</para> </sect2> @@ -245,18 +245,18 @@ <sect2> <title>Updating your ports collection for the first time</title> - <para>Since ports are tagged <quote>.</quote> (ie -CURRENT), you can - correctly <quote>sync</quote> them for the first time by adding the date - keyword (cf &man.cvsup.1; for the exact format): you should - specify a date as close as possible to that of <quote>shipping</quote> of - your ports tree. After <command>cvsup</command> has correctly created the ports - checkouts file, which is precisely the goal of this first + <para>Since ports are tagged <quote>.</quote> (ie -CURRENT), you can + correctly <quote>sync</quote> them for the first time by adding the date + keyword (cf &man.cvsup.1; for the exact format): you should + specify a date as close as possible to that of <quote>shipping</quote> of + your ports tree. After <command>cvsup</command> has correctly created the ports + checkouts file, which is precisely the goal of this first special sync operation, the date field must be removed; all subsequent updates will be carried out smoothly.</para> - <para>If you have been reading the apparently nit-picking - remarks in these sections, you will probably have recognized - the potential for trouble in a source updating process. + <para>If you have been reading the apparently nit-picking + remarks in these sections, you will probably have recognized + the potential for trouble in a source updating process. A number of people have actually run into problems. You have been warned. :-)</para> </sect2> Index: en_US.ISO8859-1/articles//diskless-x/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/diskless-x/article.sgml,v retrieving revision 1.10 diff -u -r1.10 article.sgml --- en_US.ISO8859-1/articles//diskless-x/article.sgml 2 Dec 2002 21:11:54 -0000 1.10 +++ en_US.ISO8859-1/articles//diskless-x/article.sgml 14 Jun 2003 12:35:52 -0000 @@ -13,7 +13,7 @@ <article> <articleinfo> <title>Diskless X Server: a how to guide</title> - + <authorgroup> <author> <firstname>Jerry</firstname> @@ -24,14 +24,14 @@ </address> </affiliation> </author></authorgroup> - + <pubdate>28-December-1996</pubdate> - + <copyright> <year>1996</year> <holder>Jerry Kendall</holder> </copyright> - + <abstract> <para>With the help of some friends on the FreeBSD-hackers list, I have been able to create a diskless X terminal. The creation of the X @@ -45,15 +45,15 @@ system is a 486DX2-66. I setup a diskless FreeBSD (complete) that uses no local disk. The server in that case is a Sun 670MP running SunOS 4.1.3. The same setup configuration was needed for both.</para> - + <para>I am sure that there is stuff that needs to be added to this. Please send me any comments.</para> </abstract> </articleinfo> - + <sect1> <title>Creating the boot floppy (On the diskless system)</title> - + <para>Since the network boot loaders will not work with some of the TSR's and such that MS-DOS uses, it is best to create a dedicated boot floppy or, if you can, create an MS-DOS menu that will (via the @@ -61,7 +61,7 @@ ask what configuration to load when the system starts. The later is the method that I use and it works great. My MS-DOS (6.x) menu is below.</para> - + <example> <title><filename>config.sys</filename></title> @@ -94,10 +94,10 @@ :end</programlisting> </example> </sect1> - + <sect1> <title>Getting the network boot programs (On the server)</title> - + <para>Compile the <quote>net-boot</quote> programs that are located in <filename>/usr/src/sys/i386/boot/netboot</filename>. You should read the comments at the top of the <filename>Makefile</filename>. Adjust as @@ -108,10 +108,10 @@ server. It will load the kernel from the boot server. At this point, put both programs on the MS-DOS boot floppy created earlier.</para> </sect1> - + <sect1> <title>Determine which program to run (On the diskless system)</title> - + <para>If you know the chipset that your Ethernet adapter uses, this is easy. If you have the NS8390 chipset, or a NS8390 based chipset, use <filename>nb8390.com</filename>. If you have a 3Com 509 based chipset, @@ -123,13 +123,13 @@ <sect1> <title>Booting across the network</title> - + <para>Boot the diskless system with out any config.sys/autoexec.bat files. Try running the boot program for your Ethernet adapter.</para> <para>My Ethernet adapter is running in WD8013 16bit mode so I run <filename>nb8390.com</filename></para> - + <screen><prompt>C:></prompt> <userinput>cd \netboot</userinput> <prompt>C:></prompt> <userinput>nb8390</userinput> @@ -154,18 +154,18 @@ message, verify that you did indeed set the compile time defines in the <filename>Makefile</filename> correctly.</para> </sect1> - + <sect1> <title>Allowing systems to boot across the network (On the server)</title> - + <para>Make sure the <filename>/etc/inetd.conf</filename> file has entries for tftp and bootps. Mine are listed below:</para> - + <programlisting>tftp dgram udp wait nobody /usr/libexec/tftpd tftpd /tftpboot # # Additions by who ever you are bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/bootptab</programlisting> - + <para>If you have to change the <filename>/etc/inetd.conf</filename> file, send a <literal>HUP</literal> signal to inetd. To do this, get the process ID of inetd with <command>ps -ax | grep inetd | grep -v @@ -189,7 +189,7 @@ :ip=199.246.76.2:\ :gw=199.246.76.1:\ :vm=rfc1048:</programlisting> - + <para>The lines are as follows:</para> <informaltable frame="none"> @@ -269,10 +269,10 @@ <para>The NFS mounted root filesystem will be mounted <emphasis>read only</emphasis>.</para> </note> - + <para>The hierarchy for the diskless system can be re-mounted allowing read-write operations if required.</para> - + <para>I use my spare 386DX-40 as a dedicated X terminal.</para> <para>The hierarchy for <hostid>altair</hostid> is:</para> @@ -303,7 +303,7 @@ -r-xr-xr-x 1 root bin 73728 Dec 13 22:38 ./sbin/mount -r-xr-xr-x 1 root wheel 1992 Jun 10 1995 ./dev/MAKEDEV.local -r-xr-xr-x 1 root wheel 24419 Jun 10 1995 ./dev/MAKEDEV</screen> - + <para>If you are not using &man.devfs.5; (which is the default in FreeBSD 5.X), you should make sure that you do not forget to run <command>MAKEDEV all</command> in the Index: en_US.ISO8859-1/articles//euro/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/euro/article.sgml,v retrieving revision 1.7 diff -u -r1.7 article.sgml --- en_US.ISO8859-1/articles//euro/article.sgml 17 Feb 2003 22:52:09 -0000 1.7 +++ en_US.ISO8859-1/articles//euro/article.sgml 14 Jun 2003 12:35:56 -0000 @@ -1,11 +1,11 @@ -<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ +<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ <!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man; ]> <article> <articleinfo> - <title>The Euro symbol on + <title>The Euro symbol on <systemitem class="osname">FreeBSD</systemitem></title> <authorgroup> @@ -27,9 +27,9 @@ <year>2003</year> <holder>The FreeBSD Documentation Project</holder> </copyright> - + <pubdate role="rcs">$FreeBSD: doc/en_US.ISO8859-1/articles/euro/article.sgml,v 1.7 2003/02/17 22:52:09 blackend Exp $</pubdate> - + <abstract> <para>This document will try to help you in getting started with the new <keycap>Euro</keycap> Symbol on your new keyboard that you had to buy @@ -37,7 +37,7 @@ will first focus on the more important parts like being able to correctly display the symbol on the console. Later sections will deal with configuring particular programs like - <application>X11</application>. + <application>X11</application>. </para> <para>Lots of helpful input came from Oliver Fromme, Tom Rhodes and @@ -50,16 +50,16 @@ <sect1> <title>The Euro in a nutshell</title> - <para>If you already feel comfortable with - <ulink url="../../books/handbook/l10n.html">localization</ulink> as - described in the <systemitem class="osname">FreeBSD</systemitem> - Handbook you might be only interested in the following facts which - will get you started quickly:</para> + <para>If you already feel comfortable with + <ulink url="../../books/handbook/l10n.html">localization</ulink> as + described in the <systemitem class="osname">FreeBSD</systemitem> + Handbook you might be only interested in the following facts which + will get you started quickly:</para> <variablelist> <varlistentry> <term>ISO8859-15</term> - + <listitem> <para>This is a slight modification of the commonly used ISO8859-1 character map. It includes the Euro symbol. Used for the @@ -80,8 +80,8 @@ <term><filename>/usr/share/syscons/keymaps/*.iso.kbd</filename></term> <listitem> - <para>Appropriate keyboard maps depending on your language. Set your - <literal>keymap</literal> entry in <filename>rc.conf</filename> to + <para>Appropriate keyboard maps depending on your language. Set your + <literal>keymap</literal> entry in <filename>rc.conf</filename> to one of these.</para> </listitem> </varlistentry> @@ -115,7 +115,7 @@ <sect1> <title>A general remark</title> - + <para>In the following sections we will often refer to <emphasis>ISO8859-15</emphasis>. This is the standard notation starting with <systemitem class="osname">FreeBSD</systemitem> 4.5. In older @@ -123,15 +123,15 @@ <emphasis>ISO_8859-15</emphasis> or <emphasis>DIS_8859-15</emphasis>. </para> - <para>If you are using an older version of - <systemitem class="osname">FreeBSD</systemitem>, be sure to take a + <para>If you are using an older version of + <systemitem class="osname">FreeBSD</systemitem>, be sure to take a look at <filename>/usr/share/locale/</filename> in order to find out which naming convention is in place.</para> </sect1> <sect1> <title>The console</title> - + <sect2> <title>Setting up your console font</title> @@ -191,8 +191,8 @@ combination is necessary (e.g.: <keycombo action=simul><keycap>Alt Gr</keycap><keycap>e</keycap></keycombo>) to decimal value 164. If running into problems, the best way to check is to take a look at - <filename>/usr/share/syscons/keymaps/*.kbd</filename>. The format of - the key mapping files is described in &man.keyboard.4;. + <filename>/usr/share/syscons/keymaps/*.kbd</filename>. The format of + the key mapping files is described in &man.keyboard.4;. &man.kbdcontrol.1; can be used to load a custom keymap.</para> <para>Once the correct keyboard map is selected, it should be added to @@ -201,13 +201,13 @@ <programlisting>keymap="<replaceable>german.iso</replaceable>" # or another map</programlisting> <para>As stated above, this step has most probably already been taken - by you at installation time (with - <application>sysinstall</application>). If not, either reboot or + by you at installation time (with + <application>sysinstall</application>). If not, either reboot or load the new keymap via &man.kbdcontrol.1;.</para> - <para>To verify the keyboard mapping, switch to a new console and at + <para>To verify the keyboard mapping, switch to a new console and at the login prompt, <emphasis>instead of logging</emphasis> in, try to - type the <keycap>Euro</keycap> key. If it is not working, either + type the <keycap>Euro</keycap> key. If it is not working, either file a bug report via &man.send-pr.1; or make sure you in fact chose the right keyboard map.</para> @@ -217,13 +217,13 @@ <application>tcsh</application>.</para> </note> </sect2> - + <sect2> <title>Fixing the environment variables</title> - <para>The shells (<application>bash</application>, <application>tcsh</application>) revert to the &man.readline.3; library - which in turn respects the <envar>LC_CTYPE</envar> environment - variable. <envar>LC_CTYPE</envar> must be set before the shell is + <para>The shells (<application>bash</application>, <application>tcsh</application>) revert to the &man.readline.3; library + which in turn respects the <envar>LC_CTYPE</envar> environment + variable. <envar>LC_CTYPE</envar> must be set before the shell is completely running. Luckily it suffices to add the line:</para> <programlisting>export LC_CTYPE=<replaceable>de_DE</replaceable>.ISO8859-15</programlisting> @@ -241,11 +241,11 @@ however.</para> <note> - <para>An alternative to modifying <filename>.login</filename> and + <para>An alternative to modifying <filename>.login</filename> and <filename>.bash_profile</filename> is to set the environment variables through the &man.login.conf.5; mechanism. This approach has the advantage of assigning login classes to certain users (e.g. - French users, Italian users, etc) <emphasis>in one + French users, Italian users, etc) <emphasis>in one place</emphasis>.</para> </note> </sect2> @@ -285,14 +285,14 @@ <filename>/usr/X11R6/lib/X11/app-defaults</filename> and add the correct font. Let us demonstrate this with <application>xterm</application>.</para> - + <screen>&prompt.root; cd /usr/X11R6/lib/X11/app-defaults/ &prompt.root; vi XTerm</screen> <para>Add the following line to the beginning of the file:</para> <programlisting>*font: -misc-fixed-medium-r-normal-*-*-120-*-*-c-*-iso8859-15</programlisting> - + <para>Finally, restart X and make sure, fonts can be displayed by executing the above <link linkend="awk-test">awk script</link>. All major applications should respect the keyboard mapping and the font @@ -301,7 +301,7 @@ <sect1> <title>Open problems</title> - + <para>Of course, the author would like to receive feedback. In addition, at least let me know if you have fixes for one of these open problems:</para> @@ -311,7 +311,7 @@ <para>Describe alternative way of setting up <application>XFree86</application>: <filename role="package">x11/xkeycaps</filename></para> </listitem> - + <listitem> <para>Settings in <application>GNOME</application></para> </listitem> Index: en_US.ISO8859-1/articles//explaining-bsd/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/explaining-bsd/article.sgml,v retrieving revision 1.7 diff -u -r1.7 article.sgml --- en_US.ISO8859-1/articles//explaining-bsd/article.sgml 10 Mar 2003 06:16:12 -0000 1.7 +++ en_US.ISO8859-1/articles//explaining-bsd/article.sgml 14 Jun 2003 12:36:06 -0000 @@ -66,15 +66,15 @@ <listitem> <para>The C library, the base API for the system.</para> - + <para><emphasis>The BSD C library is based on code from Berkeley, not the GNU project.</emphasis></para> </listitem> - + <listitem> <para>Utilities such as shells, file utilities, compilers and linkers.</para> - + <para><emphasis>Some of the utilities are derived from the GNU project, others are not.</emphasis></para> </listitem> @@ -95,9 +95,9 @@ </listitem> </itemizedlist> </sect1> - + <sect1> - <title>What, a real UNIX?</title> + <title>What, a real UNIX?</title> <para>The BSD operating systems are not clones, but open source derivatives of AT&T's Research UNIX operating system, which is also @@ -164,12 +164,12 @@ <ulink url="http://www.OpenBSD.org/">OpenBSD</ulink>, split off from NetBSD.</para> </sect1> - + <sect1> <title>Why is BSD not better known?</title> - + <para>For a number of reasons, BSD is relatively unknown:</para> - + <orderedlist> <listitem> <para>The BSD developers are often more interested in polishing their @@ -449,11 +449,11 @@ </listitem> </itemizedlist> </sect2> - + <sect2> <title>How does the BSD license differ from the GNU Public license?</title> - + <para>Linux is available under the <ulink url="http://www.fsf.org/copyleft/gpl.html">GNU General Public License</ulink> (GPL), which is designed to eliminate closed @@ -490,17 +490,17 @@ <para>What does this all mean in practice? Who should use BSD, who should use Linux?</para> - + <para>This is a very difficult question to answer. Here are some guidelines:</para> - + <itemizedlist> <listitem> <para><quote>If it ain't broke, don't fix it</quote>: If you already use an open source operating system, and you are happy with it, there is probably no good reason to change.</para> </listitem> - + <listitem> <para>BSD systems, in particular FreeBSD, can have notably higher performance than Linux. But this is not across the board. In many @@ -528,7 +528,7 @@ <sect2> <title>Who provides support, service, and training for BSD?</title> - + <para>BSDi have always supported BSD/OS, and they have recently announced support contracts for FreeBSD.</para> Index: en_US.ISO8859-1/articles//formatting-media/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/formatting-media/article.sgml,v retrieving revision 1.26 diff -u -r1.26 article.sgml --- en_US.ISO8859-1/articles//formatting-media/article.sgml 31 Mar 2003 21:23:06 -0000 1.26 +++ en_US.ISO8859-1/articles//formatting-media/article.sgml 14 Jun 2003 12:36:11 -0000 @@ -54,7 +54,7 @@ <para>There are two possible modes of disk formatting:</para> - <itemizedlist> + <itemizedlist> <listitem> <para><firstterm>compatibility mode</firstterm>: Arranging a disk so that it has a slice table for use with other @@ -84,7 +84,7 @@ allowing access to the Label and Partition editors and a Write feature which will update just the selected disk and slice without affecting other disks. The other method is running - the tools manually from a root command line. For + the tools manually from a root command line. For dedicated mode, only three or four commands are involved while <command>sysinstall</command> requires some manipulation.</para> @@ -144,7 +144,7 @@ Each filesystem and swap area on a disk resides in a partition. Maintained using the disklabel utility.</para> </listitem> - + <listitem> <para>sector: Smallest subdivision of a disk. One sector usually represents 512 bytes of data.</para> @@ -177,7 +177,7 @@ to the system and a disk placed in the drive during startup, so the kernel can determine the drive's geometry. Check the <command>dmesg</command> output and make sure your device and - the disk's size is listed. If the kernel reports + the disk's size is listed. If the kernel reports <informalexample> <screen>Can't get the size</screen> @@ -213,11 +213,11 @@ <procedure> <step> - <para>Start sysinstall as root by typing + <para>Start sysinstall as root by typing <informalexample> <screen>&prompt.root; <userinput>/stand/sysinstall</userinput></screen> - </informalexample> + </informalexample> from the command prompt.</para> </step> @@ -238,10 +238,10 @@ <step> <para>If you are using this entire disk for FreeBSD, select <command>A</command>.</para> - </step> + </step> <step> - <para>When asked: + <para>When asked: <informalexample> <screen>Do you want to do this with a true partition entry so as to remain @@ -255,7 +255,7 @@ <step> <para>When asked if you still want to do this, answer <command>Yes</command>.</para> - </step> + </step> <step> <para>Select <command>Write</command>.</para> @@ -264,7 +264,7 @@ <step> <para>When warned about writing on installed systems, answer <command>Yes</command>.</para> - </step> + </step> <step> <para><command>Quit</command>the FDISK Editor and @@ -281,13 +281,13 @@ <command>C</command> to Create a partition, accept the default size, partition type Filesystem, and a mountpoint (which is not used).</para> - </step> + </step> <step> <para>Enter <command>W</command> when done and confirm to continue. The filesystem will be newfs'd for you, unless you select otherwise (for new partitions you will want to - do this!). You will get the error: + do this!). You will get the error: <informalexample> <screen>Error mounting /mnt/dev/ad2s1e on /mnt/blah : No such file or directory</screen> @@ -318,7 +318,7 @@ <para>If you need to edit the disklabel to create multiple partitions (such as swap), use the following: </para> - + <informalexample> <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/ad2 count=2</userinput> &prompt.root; <userinput>disklabel /dev/ad2 > /tmp/label</userinput> @@ -351,11 +351,11 @@ <procedure> <step> - <para>Start sysinstall as root by typing + <para>Start sysinstall as root by typing <informalexample> <screen>&prompt.root; <userinput>/stand/sysinstall</userinput></screen> - </informalexample> + </informalexample> from the command prompt.</para> </step> @@ -376,10 +376,10 @@ <step> <para>If you are using this entire disk for FreeBSD, select <command>A</command>.</para> - </step> + </step> <step> - <para>When asked: + <para>When asked: <informalexample> <screen>Do you want to do this with a true partition entry so as to remain @@ -407,18 +407,18 @@ <step> <para>You will be asked about the boot manager, select <command>None</command> again. </para> - </step> + </step> <step> <para>Select <command>Label</command> from the Index menu.</para> - </step> + </step> <step> <para>Label as desired. For a single partition, accept the default size, type filesystem, and a mountpoint (which is not used).</para> - </step> + </step> <step> <para>The filesystem will be newfs'd for you, unless you @@ -426,7 +426,7 @@ this!). You will get the error: <informalexample> - <screen>Error mounting /mnt/dev/ad2s1e on /mnt/blah : No such file or directory</screen> + <screen>Error mounting /mnt/dev/ad2s1e on /mnt/blah : No such file or directory</screen> </informalexample> Ignore.</para> @@ -467,7 +467,7 @@ <para>When newfsing the drive, do NOT newfs the `c' partition. Instead, newfs the partition where the non-swap space lies.</para> - </step> + </step> <step> <para>Add an entry to <filename>/etc/fstab</filename> as @@ -477,7 +477,7 @@ <programlisting>/dev/ad0b none swap sw 0 0 </programlisting> </informalexample> - + <para>Change <filename>/dev/ad0b</filename> to the device of the newly added space.</para> </step> @@ -498,7 +498,7 @@ <sect2> <title>Copying the Contents of Disks</title> <!-- Should have specific tag --> - + <para>Submitted By: Renaud Waldura (<email>renaud@softway.com</email>) </para> Index: en_US.ISO8859-1/articles//freebsd-questions/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/freebsd-questions/article.sgml,v retrieving revision 1.13 diff -u -r1.13 article.sgml --- en_US.ISO8859-1/articles//freebsd-questions/article.sgml 18 May 2003 16:37:21 -0000 1.13 +++ en_US.ISO8859-1/articles//freebsd-questions/article.sgml 14 Jun 2003 12:36:15 -0000 @@ -31,10 +31,10 @@ list.</para> </abstract> </articleinfo> - + <sect1> <title id="Introduction">Introduction</title> - + <para><literal>FreeBSD-questions</literal> is a mailing list maintained by the FreeBSD project to help people who have questions about the normal use of FreeBSD. Another group, <literal>FreeBSD-hackers</literal>, @@ -51,7 +51,7 @@ url="http://www.catb.org/~esr/faqs/hacker-howto.html">How To Become A Hacker</ulink></para> </note> - + <para>This is a regular posting aimed to help both those seeking advice from FreeBSD-questions (the <quote>newcomers</quote>), and also those who answer the questions (the <quote>hackers</quote>).</para> @@ -69,7 +69,7 @@ FreeBSD-questions. In the following section, I recommend how to submit a question; after that, we will look at how to answer one.</para> </sect1> - + <sect1> <title id="subscribe">How to subscribe to FreeBSD-questions</title> @@ -77,18 +77,18 @@ a mail message to &a.majordomo; with the single line:</para> <literallayout class="monospaced">subscribe FreeBSD-questions</literallayout> - + <para><application>majordomo</application> is an automatic program which maintains the mailing list, so you do not need a subject line. If your mailer complains, however, you can put anything you like in the subject line.</para> - + <para>When you get the reply from <application>majordomo</application> telling you the details of the list, <emphasis>please save it</emphasis>. If you ever should want to leave the list, you will need the information there. See the next section for more details.</para> </sect1> - + <sect1> <title id="unsubscribe">How to unsubscribe from FreeBSD-questions</title> @@ -156,7 +156,7 @@ <literal>FreeBSD-hackers</literal>. In some cases, it is not really clear which group you should ask. The following criteria should help for 99% of all questions, however:</para> - + <orderedlist> <listitem> <para>If the question is of a general nature, ask @@ -164,13 +164,13 @@ about installing FreeBSD or the use of a particular UNIX utility.</para> </listitem> - + <listitem> <para>If you think the question relates to a bug, but you are not sure, or you do not know how to look for it, send the message to <literal>FreeBSD-questions</literal>.</para> </listitem> - + <listitem> <para>If the question relates to a bug, and you are <emphasis>sure</emphasis> that it is a bug (for example, you can @@ -197,7 +197,7 @@ <sect1> <title id="before">Before submitting a question</title> - + <para>You can (and should) do some things yourself before asking a question on one of the mailing lists:</para> @@ -241,10 +241,10 @@ </listitem> </itemizedlist> </sect1> - + <sect1> <title id="submit">How to submit a question</title> - + <para>When submitting a question to FreeBSD-questions, consider the following points:</para> @@ -261,7 +261,7 @@ you do not. In the rest of this document, we will look at how to get the most out of your question to FreeBSD-questions.</para> </listitem> - + <listitem> <para>Not everybody who answers FreeBSD questions reads every message: they look at the subject line and decide whether it interests them. @@ -278,7 +278,7 @@ speak English as their first language, and we try to make allowances for that, but it is really painful to try to read a message written full of typos or without any line breaks.</para> - + <para>Do not underestimate the effect that a poorly formatted mail message has, not just on the FreeBSD-questions mailing list. Your mail message is all people see of you, and if it is poorly @@ -328,7 +328,7 @@ use mailers which do not get on very well with <acronym>MIME</acronym>.</para> </listitem> - + <listitem> <para>Make sure your time and time zone are set correctly. This may seem a little silly, since your message still gets there, but many @@ -358,7 +358,7 @@ sources, though of course you should not be sending questions about -CURRENT to FreeBSD-questions.</para> </listitem> - + <listitem><para>With any problem which <emphasis>could</emphasis> be hardware related, tell us about your hardware. In case of doubt, assume it is possible that it is hardware. What kind of @@ -370,7 +370,7 @@ tells not just what hardware you are running, but what version of FreeBSD as well.</para> </listitem> - + <listitem> <para>If you get error messages, do not say <quote>I get error messages</quote>, say (for example) <quote>I get the error @@ -416,7 +416,7 @@ <para>This redirects the information to the file <filename>/tmp/dmesg.out</filename>.</para> </listitem> - + <listitem> <para>If you do all this, and you still do not get an answer, there could be other reasons. For example, the problem is so complicated @@ -428,7 +428,7 @@ only make you unpopular.</para> </listitem> </itemizedlist> - + <para>To summarize, let's assume you know the answer to the following question (yes, it is the same one in each case). You choose which of these two questions you would be more prepared to @@ -471,7 +471,7 @@ you are talking about. Do not forget to trim unnecessary text out, though.</para> </listitem> - + <listitem> <para>The text in the subject line stays the same (you did remember to put one in, did you not?). Many mailers will sort messages by @@ -487,7 +487,7 @@ </listitem> </orderedlist> </sect1> - + <sect1> <title id="answer">How to answer a question</title> @@ -505,7 +505,7 @@ check this is to sort your incoming mail by subject: then (hopefully) you will see the question followed by any answers, all together.</para> - + <para>If somebody has already answered it, it does not automatically mean that you should not send another answer. But it makes sense to read all the other answers first.</para> @@ -551,14 +551,14 @@ send messages with hundreds of CCs. If this is the case, be sure to trim the Cc: lines appropriately.</para> </listitem> - + <listitem> <para>Include relevant text from the original message. Trim it to the minimum, but do not overdo it. It should still be possible for somebody who did not read the original message to understand what you are talking about.</para> </listitem> - + <listitem> <para>Use some technique to identify which text came from the original message, and which text you add. I personally find that prepending @@ -580,7 +580,7 @@ text such as <quote>Re: </quote>. If your mailer does not do it automatically, you should do it manually.</para> </listitem> - + <listitem> <para>If the submitter did not abide by format conventions (lines too long, inappropriate subject line), <emphasis>please</emphasis> fix Index: en_US.ISO8859-1/articles//hubs/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/hubs/article.sgml,v retrieving revision 1.33 diff -u -r1.33 article.sgml --- en_US.ISO8859-1/articles//hubs/article.sgml 23 May 2003 13:49:52 -0000 1.33 +++ en_US.ISO8859-1/articles//hubs/article.sgml 14 Jun 2003 12:36:30 -0000 @@ -23,10 +23,10 @@ </affiliation> </author> <author> - <firstname>Valentino</firstname> + <firstname>Valentino</firstname> <surname>Vaschetto</surname> <affiliation> - <address><email>logo@FreeBSD.org</email></address> + <address><email>logo@FreeBSD.org</email></address> </affiliation> </author> <author> @@ -96,10 +96,10 @@ which is determined by the servers policy. It is also affected by the types of services you want to offer. Plain FTP or HTTP services may not require a huge - amount of resources. Watch out, if you provide + amount of resources. Watch out, if you provide CVSup, rsync or even AnonCVS. This can have a huge impact on CPU and memory requirements. Especially - rsync is considered a memory hog, and CVSup does + rsync is considered a memory hog, and CVSup does indeed consume some CPU. For AnonCVS it might be a nice idea to set up a memory resident file system (MFS) of at least 300 MB, so you need to take this into account @@ -201,14 +201,14 @@ <title>RSYNC (optional for FTP fileset)</title> <para> <application>Rsync</application> is often also offered for convenience, for the - contents of the FTP area of FreeBSD. The + contents of the FTP area of FreeBSD. The protocol is different from FTP in many ways, and overall, it can be stated, that it is much more bandwidth friendly, as only differences between files - are transferred, not whole files. + are transferred, not whole files. <application>Rsync</application> does require significant amount of memory for each instance. The size depends on the size of - the synced module in terms of number of directories and + the synced module in terms of number of directories and files. <application>Rsync</application> can use <command>rsh</command> and <command>ssh</command> (now default) as a transport, or use it's own protocol for stand-alone access @@ -269,13 +269,13 @@ offering it via <application>CVSup</application>. Still it is possible to offer the CVS repository via <application>AnonCVS</application>, FTP, <application>Rsync</application> or HTTP, but - people would benefit much more from <application>CVSup</application> access. + people would benefit much more from <application>CVSup</application> access. <application>CVSup</application> was developed by &a.jdp;. - It is a bit tricky to install on non-FreeBSD platforms, + It is a bit tricky to install on non-FreeBSD platforms, since it is written in Modula-3 and therefore requires - a Modula-3 environment. John Polstra has built a + a Modula-3 environment. John Polstra has built a stripped down version of M3, that is sufficient to - run <application>CVSup</application>, and can be installed much easier. + run <application>CVSup</application>, and can be installed much easier. See <ulink url="http://www.polstra.com/projects/freeware/ezm3/">Ezm3</ulink> for details. Related ports are: @@ -292,20 +292,20 @@ </listitem> </itemizedlist> - There are a few more like <filename role="package">net/cvsupit</filename> and + There are a few more like <filename role="package">net/cvsupit</filename> and <filename role="package">net/cvsup-without-gui</filename> you might want to have - a look at. If you prefer a static binary package, take a look + a look at. If you prefer a static binary package, take a look <ulink url="http://people.FreeBSD.org/~jdp/s1g/">here</ulink>. This page still refers to the S1G bug, that was present in <application>CVSup</application>. Maybe John will setup a generic download-site to get static binaries for various platforms. </para> - <para> + <para> It is possible to use CVSup to offer - any kind of fileset, not just CVS repositories, + any kind of fileset, not just CVS repositories, but configuration can be complex. - CVSup is known to eat some CPU on the server as on the + CVSup is known to eat some CPU on the server as on the client, since it needs to compare lots of files. </para> </sect3> @@ -343,14 +343,14 @@ </programlisting> See the manpage for details of the options. See also the cvs <emphasis>info</emphasis> page, about additional ways to make sure, access is read-only. - It is advisable, that you create an unprivileged account, + It is advisable, that you create an unprivileged account, preferably called <username>anoncvs</username>. Also you need to create a file <filename>passwd</filename> - in your <filename>/home/ncvs/CVSROOT</filename> and assign a + in your <filename>/home/ncvs/CVSROOT</filename> and assign a CVS password (empty or <literal>anoncvs</literal>) to that user. The directory <filename>/anoncvstmp</filename> is a special purpose memory based file system. It is not required but - advised, since &man.cvs.1; creates a shadow directory + advised, since &man.cvs.1; creates a shadow directory structure in your <filename>/tmp</filename> which is not used after the operation, but slows things dramatically, if real disk operations are required. @@ -378,7 +378,7 @@ <para> The FTP area is the largest amount of data, that needs to be mirrored. It includes the <emphasis>distributions - sets</emphasis>, required for network installation, the + sets</emphasis>, required for network installation, the <emphasis>branches</emphasis>, that are actually snapshots of checked-out source trees, the <emphasis>ISO Images</emphasis> to write CD-ROMs with the installation distribution, @@ -414,7 +414,7 @@ In general FTP is not really good for mirroring, since it transfers each whole file, if it has changed, and does not create a single data stream, that will benefit from - a large TCP congestion window. + a large TCP congestion window. </para> </sect3> <sect3 id="mirror-ftp-rsync"> @@ -422,18 +422,18 @@ <para> A better way, to mirror the FTP area is <application>rsync</application>. You can install the port <filename role="package">net/rsync</filename> and then use - rsync to sync with your upstream host. + rsync to sync with your upstream host. <application>rsync</application> is already mentioned in <xref linkend="mirror-serv-rsync">. - Since <application>rsync</application> access is not + Since <application>rsync</application> access is not required, your preferred upstream site may not allow it. Since it is quite common, though, chances are small, that you cannot use it. You can always consider using an upstream server, that offers it, just for the benefits - of rsync. + of rsync. <note> <para> - Since the number of <application>rsync</application> + Since the number of <application>rsync</application> clients will have a significant impact on the server machine, most admins impose limitations on their server. For a mirror, you should ask the site maintainer @@ -460,7 +460,7 @@ <title>With CVSup</title> <para> A few sites, including the one-and-only <hostid>ftp-master.FreeBSD.org</hostid> - even offer <application>CVSup</application> to mirror the contents of + even offer <application>CVSup</application> to mirror the contents of the FTP space. You need to install a <application>cvsup</application> client, preferably from the port: <filename role="package">net/cvsup</filename>. (Also reread <xref linkend="mirror-serv-cvsup">.) @@ -543,7 +543,7 @@ <title>Using other methods</title> <para> Using other methods than <application>CVSup</application> is - generally not recommended. We describe them in short here + generally not recommended. We describe them in short here anyway. Since most sites offer the CVS repository as part of the FTP fileset under the path <filename>/pub/FreeBSD/development/FreeBSD-CVS</filename>, @@ -562,7 +562,7 @@ <important> <para> - You can <emphasis>NOT</emphasis> use AnonCVS to + You can <emphasis>NOT</emphasis> use AnonCVS to mirror the CVS repository, since CVS does not allow you to access the repository itself, but only checked out versions of the modules. @@ -581,10 +581,10 @@ and a <emphasis>cronjob</emphasis>, that calls <command>cvs up -d -P</command> on a regular basis, maybe just after your repository was updated. Of course, the files need to remain in a directory, available - for public WWW access. The installation and configuration of a + for public WWW access. The installation and configuration of a webserver is not discussed here. </para> - + <note><para>For the website to be visible, users must execute the &man.make.1; command in the main <filename>www</filename> directory. This command will create the standard <filename>*.html</filename> files for web @@ -592,7 +592,7 @@ <filename role="package">textproc/docproj</filename> port must be installed.</para></note> <para> - If you don't have a local repository, you can use + If you don't have a local repository, you can use <application>CVSup</application> to maintain an <quote>up to date copy</quote> of the www pages. A sample supfile can be found in <filename>/usr/share/examples/cvsup/www-supfile</filename> and @@ -621,8 +621,8 @@ <sect3 id="mirror-www-doc"> <title>Mirroring the FreeBSD documentation</title> <para> - As the documentation is referenced a lot from the - webpages, it is recommended, that you mirror the + As the documentation is referenced a lot from the + webpages, it is recommended, that you mirror the FreeBSD documentation as well. However, this is not so trivial as the www-pages alone. </para> @@ -652,7 +652,7 @@ Then you need to install a couple of ports. You are lucky, that there is a meta-port: <filename role="package">textproc/docproj</filename> to do the work - for you. You need to setup some + for you. You need to setup some environment variables, like <literal>SGML_CATALOG_FILES</literal>, also have a look at your <filename>/etc/make.conf</filename> @@ -686,7 +686,7 @@ <para> Every mirror should be updated on a regular basis. You will certainly need some script - framework for it, that will be called by + framework for it, that will be called by &man.cron.8;. Since nearly every admin does this his own way, we cannot give specific instructions. It could work @@ -739,7 +739,7 @@ <para> Mirrors are organized by country. All official mirrors have a DNS entry of the form - <hostid>ftpN.CC.FreeBSD.org</hostid>. With + <hostid>ftpN.CC.FreeBSD.org</hostid>. With <emphasis>CC</emphasis> (i.e. country code) being the <emphasis>top level domain</emphasis> of the country, where this mirror is located; @@ -756,14 +756,14 @@ </para> <para> Additionally there exists a hierarchy of mirrors, which - is described terms of <emphasis>tiers</emphasis>. + is described terms of <emphasis>tiers</emphasis>. The master sites are not referred to, but can be described as <emphasis>Tier-0</emphasis>. Mirrors that mirror from these sites can be considered <emphasis>Tier-1</emphasis>, mirrors of <emphasis>Tier-1</emphasis>-mirrors, - are <emphasis>Tier-2</emphasis>, etc. + are <emphasis>Tier-2</emphasis>, etc. Official sites are encouraged to be of a low <emphasis>tier</emphasis>, - but the lower the tier, the higher the requirements in + but the lower the tier, the higher the requirements in terms as described in <xref linkend="mirror-requirements">. Also access to low-tier-mirrors may be restricted, and access to master sites is definitely restricted. @@ -779,7 +779,7 @@ <para> The short answer is: from the site, that is closest to you in Internet terms, or gives you - the fastest access. + the fastest access. </para> <sect3 id="mirror-where-simple"> <title>I just want to mirror from somewhere!</title> @@ -834,8 +834,8 @@ <title>I want to access the master sites!</title> <para> If you have good reasons, and good prerequisites, - you may want and get access to one of the - master sites. Access to these sites is + you may want and get access to one of the + master sites. Access to these sites is generally restricted, and there are special policies for access. If you are already an <emphasis>official</emphasis> mirror, this certainly helps you getting access. @@ -850,7 +850,7 @@ <sect4 id="mirror-where-master-ftp"> <title>ftp-master.FreeBSD.org</title> <para> - This is the master site for the FTP fileset. + This is the master site for the FTP fileset. </para> <para> <hostid>ftp-master.FreeBSD.org</hostid> provides @@ -935,8 +935,8 @@ <note> <para> The following applies mainly to the FTP fileset, - since a CVS repository should always be mirrored - completely, and the webpages are a case of + since a CVS repository should always be mirrored + completely, and the webpages are a case of its own. </para> </note> @@ -946,7 +946,7 @@ <itemizedlist> <listitem><para>carry the complete fileset</para></listitem> <listitem><para>allow access to other mirror sites</para></listitem> - <listitem><para>provide <application>FTP</application> and + <listitem><para>provide <application>FTP</application> and <application>RSYNC</application> access</para></listitem> </itemizedlist> @@ -1001,7 +1001,7 @@ If everything works so far, contact the DNS admin, responsible for your region/country, and ask for a DNS entry for your site. The admin should able to be contacted via - <email>hostmaster@cc.FreeBSD.org</email>, which + <email>hostmaster@cc.FreeBSD.org</email>, which <emphasis>cc</emphasis> being your country code/TLD again. Your DNS entry will look like described in <xref linkend="mirror-where-organization">. @@ -1015,13 +1015,13 @@ </step> <step> <para> - Then you can ask the &a.doc; or the &a.hubs; + Then you can ask the &a.doc; or the &a.hubs; to add your mirror site to the mirror list in the <ulink url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook">FreeBSD Handbook</ulink>. Make sure you tell them the email address, to list as the maintainer of the site. </para> - </step> + </step> </procedure> <para>This is it.</para> </sect2> @@ -1041,7 +1041,7 @@ </para> </listitem> <listitem> - <para>ftp.is.FreeBSD.org - <email>hostmaster@is.FreeBSD.org</email> - + <para>ftp.is.FreeBSD.org - <email>hostmaster@is.FreeBSD.org</email> - <ulink url="http://www.rhnet.is/status/draupnir/draupnir.html"> (Bandwidth)</ulink> <ulink url="http://www.rhnet.is/status/ftp/ftp-notendur.html">(FTP processes)</ulink> <ulink url="http://www.rhnet.is/status/ftp/http-notendur.html">(HTTP processes) Index: en_US.ISO8859-1/articles//java-tomcat/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/java-tomcat/article.sgml,v retrieving revision 1.14 diff -u -r1.14 article.sgml --- en_US.ISO8859-1/articles//java-tomcat/article.sgml 8 Oct 2002 21:11:21 -0000 1.14 +++ en_US.ISO8859-1/articles//java-tomcat/article.sgml 14 Jun 2003 12:36:39 -0000 @@ -15,21 +15,21 @@ following disclaimer in the documentation and/or other materials provided with the distribution. - THIS DOCUMENTATION IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS AND CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED + THIS DOCUMENTATION IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS AND CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --> <!-- - Written by Victoria Chan <vkchan@kendryl.net>. The original document can + Written by Victoria Chan <vkchan@kendryl.net>. The original document can be found at: http://www.kendryl.net/jdk13-1.html. --> @@ -56,7 +56,7 @@ <articleinfo> <title>Java and Jakarta Tomcat on FreeBSD</title> - <authorgroup> + <authorgroup> <author> <firstname>Victoria</firstname> <surname>Chan</surname> @@ -79,8 +79,8 @@ <holder role="mailto:vkchan@kendryl.net">Victoria Chan</holder> <holder role="mailto:hiten@uk.FreeBSD.org">Hiten Pandya</holder> </copyright> - - <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/java-tomcat/article.sgml,v 1.14 2002/10/08 21:11:21 blackend Exp $</pubdate> + + <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/java-tomcat/article.sgml,v 1.14 2002/10/08 21:11:21 blackend Exp $</pubdate> <abstract> <para>This document is presented in hopes of making it easier for @@ -93,7 +93,7 @@ </abstract> </articleinfo> <!-- END of Article Metadata--> - + <sect1> <title>Introduction</title> @@ -129,7 +129,7 @@ <para>In this article, you will find how to install the Java Development Kit for FreeBSD, and how to get up and running with Tomcat. A <xref linkend="ref"> section is also provided for - further reading.</para> + further reading.</para> </sect1> <sect1> @@ -234,7 +234,7 @@ nearest to you. Click on <quote>Java 2 SDK, Standard Edition, version 1.3.1</quote>. Save the <filename>j2sdk-1_3_1-src.tar.gz</filename> to the - <filename>/usr/ports/distfiles/</filename> directory.</para> + <filename>/usr/ports/distfiles/</filename> directory.</para> </step> </procedure> @@ -244,7 +244,7 @@ several restrictions in place on the use of Java, which you must address. The FreeBSD Project does not take any responsibilities for your actions.</para> - + <para>Do not discard any of the downloaded files, as they will be needed for building some of the native ports for FreeBSD, which are discussed later on.</para> @@ -416,7 +416,7 @@ after setting up the necessary Java environment, which we have previously completed.</para> - <para>In-order to setup Tomcat on FreeBSD, follow the below + <para>In-order to setup Tomcat on FreeBSD, follow the below procedure:</para> <procedure> @@ -451,7 +451,7 @@ from the Jakarta website, which is located at <literal><ulink url="&tomcat403"></ulink></literal>. The file to download is called - <filename>jakarta-tomcat-4.0.3.tar.gz</filename>.</para> + <filename>jakarta-tomcat-4.0.3.tar.gz</filename>.</para> </step> <step> Index: en_US.ISO8859-1/articles//mh/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/mh/article.sgml,v retrieving revision 1.19 diff -u -r1.19 article.sgml --- en_US.ISO8859-1/articles//mh/article.sgml 21 May 2003 20:54:14 -0000 1.19 +++ en_US.ISO8859-1/articles//mh/article.sgml 14 Jun 2003 12:36:53 -0000 @@ -464,7 +464,7 @@ </listitem> </varlistentry> </variablelist> - + <para>This allows you to do things like <informalexample> @@ -571,7 +571,7 @@ TOTAL= 199 messages in 13 folders.</screen> </informalexample> - + <para>The <command>refile</command> command is what you use to move messages between folders. When you do something like <command>refile 23 +netfuture</command> message number 23 is moved @@ -751,7 +751,7 @@ <emphasis remap=bf>else</emphasis> {return-path} <emphasis remap=bf>take the return-path from the original message</emphasis>, %> <emphasis remap=bf>endif</emphasis>.</screen> </informalexample> - + <para>As you can tell MH formatting can get rather involved. You can probably decipher what most of the other functions and variables mean. All of the information on writing these format Index: en_US.ISO8859-1/articles//pxe/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/pxe/article.sgml,v retrieving revision 1.14 diff -u -r1.14 article.sgml --- en_US.ISO8859-1/articles//pxe/article.sgml 24 Jul 2002 01:08:56 -0000 1.14 +++ en_US.ISO8859-1/articles//pxe/article.sgml 14 Jun 2003 12:36:58 -0000 @@ -10,27 +10,27 @@ <article> <articleinfo> <title>FreeBSD Jumpstart Guide</title> - + <authorgroup> <author> <firstname>Alfred</firstname> <surname>Perlstein</surname> - + <affiliation> <address><email>alfred@FreeBSD.org</email></address> </affiliation> </author> </authorgroup> - + <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/pxe/article.sgml,v 1.14 2002/07/24 01:08:56 keramida Exp $</pubdate> - + <abstract> <para>This article details the method used to allow machines to install FreeBSD using the Intel PXE method of booting a machine over a network. </para> </abstract> </articleinfo> - + <sect1 id="introduction"> <title>Introduction</title> @@ -41,16 +41,16 @@ </warning> <para>Terminology:</para> - + <informaltable frame="none"> <tgroup cols="2"> - + <tbody> <row> <entry>Server</entry> <entry>The machine offering netboot and install options.</entry> </row> - + <row> <entry>Client</entry> <entry>The machine that will have FreeBSD installed on it.</entry> @@ -62,8 +62,8 @@ <para>Requires: Clients supporting the Intel PXE netboot option, an Ethernet connection. </para> - - <para>Please let me know if you come across anything you have problems with + + <para>Please let me know if you come across anything you have problems with or suggestions for additional documentation.</para> <para>If you would like someone to train/implement a specific netinstall system @@ -79,39 +79,39 @@ <procedure> <step> - <para>Install DHCP: Install <filename role="package">net/isc-dhcp3</filename> you can use this config file + <para>Install DHCP: Install <filename role="package">net/isc-dhcp3</filename> you can use this config file <ulink url="http://people.FreeBSD.org/~alfred/pxe/dhcpd.conf"> dhcpd.conf</ulink>, stick it in /usr/local/etc/</para> </step> - + <step> <para>Enable tftp:</para> - + <procedure> <step> <para>Make a directory <filename>/usr/tftpboot</filename></para> </step> - + <step> - <para>Add this line to your + <para>Add this line to your <filename>/etc/inetd.conf</filename>:</para> - + <programlisting>tftp dgram udp wait nobody /usr/libexec/tftpd tftpd /usr/tftpboot</programlisting> </step> </procedure> - + </step> - + <step> <para>Enable NFS:</para> - + <procedure> <step> <para>Add this to <filename>/etc/rc.conf</filename>:</para> <programlisting>nfs_server_enable="YES"</programlisting> </step> - + <step> <para>Add this to <filename>/etc/exports</filename>:</para> @@ -119,44 +119,44 @@ </step> </procedure> </step> - + <step> - <para>Reboot to enable the new services or start them + <para>Reboot to enable the new services or start them manually.</para> </step> </procedure> </sect1> - + <sect1 id="bootstrap-config"> <title>Bootstrap Setup</title> <procedure> <step> - <para>Download bootfiles: Download the + <para>Download bootfiles: Download the <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/snapshots/i386/kern.flp"> - kern.flp</ulink> and - <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/snapshots/i386/mfsroot.flp"> + kern.flp</ulink> and + <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/snapshots/i386/mfsroot.flp"> mfsroot.flp</ulink> floppy images.</para> </step> - + <step> <para>Setup tftp/pxe-boot directory:</para> - + <procedure> <step> <para>Put pxeboot in the boot directory:</para> - + <screen>&prompt.root; <userinput>rm -rf /usr/obj/*</userinput> &prompt.root; <userinput>cd /usr/src/sys/boot</userinput> &prompt.root; <userinput>make</userinput> &prompt.root; <userinput>cp /usr/src/sys/boot/i386/pxeldr/pxeboot /usr/tftpboot</userinput></screen> </step> - + <step> <para>Using the vndevice mount the <filename>kern.flp</filename> file and copy its contents to <filename>/usr/tftpboot</filename>:</para> - + <screen>&prompt.root; <userinput>vnconfig vn0 kern.flp</userinput> # associate a vndevice with the file &prompt.root; <userinput>mount /dev/vn0 /mnt</userinput> # mount it &prompt.root; <userinput>cp -R /mnt /usr/tftpboot</userinput> # copy the contents to /usr/tftpboot @@ -165,21 +165,21 @@ </step> </procedure> </step> - + <step> - <para>Compile a custom kernel for the clients (particularly to avoid - the device config screen at boot) and stick it in + <para>Compile a custom kernel for the clients (particularly to avoid + the device config screen at boot) and stick it in <filename>/usr/tftpboot</filename>.</para> </step> - + <step> - <para>Make a special <filename>loader.rc</filename> to and install it - in <filename>/usr/tftpboot/boot/loader.rc</filename> so that it - does not prompt for the second disk, here is + <para>Make a special <filename>loader.rc</filename> to and install it + in <filename>/usr/tftpboot/boot/loader.rc</filename> so that it + does not prompt for the second disk, here is <ulink url="http://people.FreeBSD.org/~alfred/pxe/loader.rc"> mine</ulink>.</para> </step> - + <step> <para>Extract the installer and helper utilities from the mfsroot disk and uncompress them, put them in <filename>/usr/tftpboot</filename> @@ -193,18 +193,18 @@ &prompt.root; <userinput>cd /usr/tftpboot</userinput> # get into the pxeboot directory &prompt.root; <userinput>gunzip mfsroot.gz</userinput> # uncompress the mfsroot</screen> </step> - + <step> <para>Make your sysinstall script <filename>install.cfg</filename>, you - can use + can use <ulink url="http://people.FreeBSD.org/~alfred/pxe/install.cfg"> mine</ulink> as a template, but you must edit it.</para> </step> - - <step> - <para>Copy the sysinstall script into the extracted and uncompressed + + <step> + <para>Copy the sysinstall script into the extracted and uncompressed mfsroot image:</para> - + <screen>&prompt.root; <userinput>cd /usr/tftpboot</userinput> &prompt.root; <userinput>vnconfig vn0 mfsroot</userinput> &prompt.root; <userinput>mount /dev/vn0 /mnt</userinput> @@ -214,10 +214,10 @@ </step> </procedure> </sect1> - + <sect1 id="install-setup"> <title>Install Setup</title> - + <procedure> <step> <para>Put the install files in an NFS accessible location on the @@ -234,46 +234,46 @@ README.TXT cdrom.inf dict mfsroot.flp RELNOTES.TXT compat1x doc packages</screen> </step> - + <step> - <para>Copy the compressed packages into the packages/All directory + <para>Copy the compressed packages into the packages/All directory under <filename>nfs</filename>.</para> </step> - + <step> <para>Make sure you have an <filename>INDEX</filename> file prepared in the packages directory. You can make your own <filename>INDEX</filename> entries like so:</para> <programlisting>alfred-1.0||/|Alfred install bootstrap||alfred@FreeBSD.org||||</programlisting> - + <para>Then you can install custom packages, particularly your own custom post-install package.</para> </step> </procedure> </sect1> - + <sect1 id="custom-postinst-package"> <title>Custom Post-Install Package</title> - <para>You can use the script <filename>pkgmaker.sh</filename> to create a - custom package for post install, the idea is to have it install and - configure any special things you may need done. - <filename>pkgmaker</filename> is run in the directory above the package - you wish to create with the single argument of the package (ie mypkg) - which will then create a mypkg.tgz for you to include in your sysinstall + <para>You can use the script <filename>pkgmaker.sh</filename> to create a + custom package for post install, the idea is to have it install and + configure any special things you may need done. + <filename>pkgmaker</filename> is run in the directory above the package + you wish to create with the single argument of the package (ie mypkg) + which will then create a mypkg.tgz for you to include in your sysinstall package.</para> - <para>Inside your custom package dir you will want a file called - <filename>PLIST</filename> which contains all the files that you wish to + <para>Inside your custom package dir you will want a file called + <filename>PLIST</filename> which contains all the files that you wish to install and be incorporated into your package.</para> - - <para>You will also want files called <filename>pre</filename> and - <filename>post</filename> in the directory, these are shell scripts - that you want to execute before and after your package is + + <para>You will also want files called <filename>pre</filename> and + <filename>post</filename> in the directory, these are shell scripts + that you want to execute before and after your package is installed.</para> - - <para>Since this package is in your <filename>install.cfg</filename> file + + <para>Since this package is in your <filename>install.cfg</filename> file it should be run and do the final configuration for you.</para> </sect1> </article> Index: en_US.ISO8859-1/articles//releng/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/releng/article.sgml,v retrieving revision 1.48 diff -u -r1.48 article.sgml --- en_US.ISO8859-1/articles//releng/article.sgml 4 May 2003 22:43:19 -0000 1.48 +++ en_US.ISO8859-1/articles//releng/article.sgml 14 Jun 2003 12:37:07 -0000 @@ -58,7 +58,7 @@ </abstract> </articleinfo> - + <!-- Introduction --> <sect1 id="introduction"> <title>Introduction</title> @@ -79,7 +79,7 @@ FreeBSD development. An elected <emphasis>core-team[7]</emphasis> of very senior developers provides some level of direction over the project.</para> - + <para>The rapid pace of <systemitem class="osname">FreeBSD</systemitem> development leaves little time for polishing the development system into a production quality @@ -88,7 +88,7 @@ <emphasis>HEAD</emphasis> or <emphasis>trunk</emphasis> of our CVS tree, known as <quote>FreeBSD-CURRENT</quote> or <quote>-CURRENT</quote> for short.</para> - + <para>A more stable branch is maintained, known as <quote>FreeBSD-STABLE</quote> or <quote>-STABLE</quote> for short. Both branches live in a master CVS repository in California and @@ -101,7 +101,7 @@ with general assumption that they have first gone into FreeBSD-CURRENT and have been thoroughly tested by our user community.</para> - + <para>In the interim period between releases, nightly snapshots are built automatically by the FreeBSD Project build machines and made available for download from <systemitem @@ -113,7 +113,7 @@ FreeBSD-STABLE in a very reliable condition even before the quality assurance activities ramp up pending a major release.</para> - + <para>Bug reports and feature requests are continuously submitted by users throughout the release cycle. Problems reports are entered into our <application class="software">GNATS</application>[9] database @@ -123,7 +123,7 @@ In addition to the multitude of different technical mailing lists about FreeBSD, the &a.qa; provides a forum for discussing the finer points of <quote>release-polishing</quote>.</para> - + <para>To service our most conservative users, individual release branches were introduced with FreeBSD 4.3. These release branches are created shortly before a final release @@ -133,7 +133,7 @@ available to keep systems on the <emphasis>RELENG_<replaceable>X</replaceable>_<replaceable>Y</replaceable></emphasis> branches updated.</para> - + <para><xref linkend="release-proc"> discusses the different phases of the release engineering process leading up to the actual system build and <xref linkend="release-build"> @@ -161,7 +161,7 @@ From CURRENT</quote> and it describes the process of merging a tested change from our -CURRENT development branch to our -STABLE branch.</para> - + <sect2> <title>Code Review</title> @@ -170,31 +170,31 @@ time, all commits to the -STABLE branch must be approved by the &a.re;. The kinds of changes that are allowed during this 15 day period include:</para> - + <itemizedlist> <listitem> <para>Bug fixes.</para> </listitem> - + <listitem> <para>Documentation updates.</para> </listitem> - + <listitem> <para>Security-related fixes of any kind.</para> </listitem> - + <listitem> <para>Minor changes to device drivers, such as adding new Device IDs.</para> </listitem> - + <listitem> <para>Any additional change that the release engineering team feels is justified, given the potential risk.</para> </listitem> </itemizedlist> - + <para>After the first 15 days of the code slush, a <emphasis>release candidate</emphasis> is released for widespread testing and the code enters a <quote>code @@ -209,56 +209,56 @@ different components required for a successful release are available.</para> </sect2> - + <sect2> <title>Final Release Checklist</title> <para>When several release candidates have been made available for widespread testing and all major issues have been resolved, the final release <quote>polishing</quote> can begin.</para> - + <sect3> <title>Creating the Release Branch</title> <para>As described in the introduction, the <literal>RELENG_<replaceable>X</replaceable>_<replaceable>Y</replaceable></literal> release branch is a relatively new addition to our release - engineering + engineering methodology. The first step in creating this branch is to ensure that you are working with the newest version of the <literal>RELENG_<replaceable>X</replaceable></literal> sources that you want to branch <emphasis>from</emphasis>.</para> - + <screen>/usr/src&prompt.root; <userinput>cvs update -rRELENG_4 -P -d</userinput></screen> - + <para>The next step is to create a branch point <emphasis>tag</emphasis>, so that diffs against the start of the branch are easier with CVS:</para> - + <screen>/usr/src&prompt.root; <userinput>cvs rtag -rRELENG_4 RELENG_4_8_BP src</userinput></screen> - + <para>And then a new branch tag is created with:</para> - + <screen>/usr/src&prompt.root; <userinput>cvs rtag -b -rRELENG_4_8_BP RELENG_4_8 src</userinput></screen> - + <note> <para><emphasis>The <literal>RELENG_<replaceable>*</replaceable></literal> tags are restricted for use by the CVS-meisters and release engineers.</emphasis></para> </note> - + <sidebar> <para>A <quote><emphasis>tag</emphasis></quote> is CVS vernacular for a label that identifies the source at a specific point in time. By tagging the tree, we ensure that future release builders - will always be able to use the same source we used to create the + will always be able to use the same source we used to create the official FreeBSD Project releases.</para> </sidebar> - + <mediaobject> <imageobject> - <imagedata fileref="branches" align="center"> + <imagedata fileref="branches" align="center"> </imageobject> <textobject> @@ -266,14 +266,14 @@ &branches.ascii; </literallayout> </textobject> - + <textobject> - <phrase>FreeBSD Development Branches</phrase> + <phrase>FreeBSD Development Branches</phrase> </textobject> </mediaobject> </sect3> - + <sect3 id="versionbump"> <title>Bumping up the Version Number</title> @@ -311,19 +311,19 @@ <listitem> <para><filename>src/release/Makefile</filename></para> </listitem> - + <listitem> <para><filename>src/release/doc/en_US.ISO8859-1/share/sgml/release.dsl</filename></para> </listitem> - + <listitem> <para><filename>src/release/doc/share/examples/Makefile.relnotesng</filename></para> </listitem> - + <listitem> <para><filename>src/release/doc/share/sgml/release.ent</filename></para> </listitem> - + <listitem> <para><filename>src/share/examples/cvsup/standard-supfile</filename></para> </listitem> @@ -331,15 +331,15 @@ <listitem> <para><filename>src/sys/conf/newvers.sh</filename></para> </listitem> - + <listitem> <para><filename>src/sys/sys/param.h</filename></para> </listitem> - + <listitem> <para><filename>src/usr.sbin/pkg_install/add/main.c</filename></para> </listitem> - + <listitem> <para><filename>www/en/docs.sgml</filename></para> </listitem> @@ -353,26 +353,26 @@ </listitem> </itemizedlist> - + <para>The release notes and errata files also need to be adjusted for the - new release (on the release branch) and truncated appropriately + new release (on the release branch) and truncated appropriately (on the stable/current branch):</para> - + <itemizedlist> <listitem> <para><filename>src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml </filename></para> </listitem> - + <listitem> <para><filename>src/release/doc/en_US.ISO8859-1/errata/article.sgml </filename></para> </listitem> </itemizedlist> - <para><application>Sysinstall</application> should be updated to note + <para><application>Sysinstall</application> should be updated to note the number of available ports and the amount of disk space required - for the Ports Collection. This information is currently kept in + for the Ports Collection. This information is currently kept in <filename>src/release/sysinstall/dist.c</filename>.</para> <para>After the release has been built, a number of file should @@ -402,22 +402,22 @@ </itemizedlist> </sect3> - + <sect3> <title>Creating Release Tags</title> <para>When the final release is ready, the following command will create the <literal>RELENG_4_8_0_RELEASE</literal> tag.</para> - + <screen> /usr/src&prompt.root; <userinput>cvs rtag -rRELENG_4_8 RELENG_4_8_0_RELEASE src</userinput> </screen> - + <para>The Documentation and Ports managers are responsible for tagging the respective trees with the <literal>RELEASE_4_8_0</literal> tag.</para> - + <para>Occasionally, a last minute fix may be required <emphasis>after</emphasis> the final tags have been created. In practice this isn't a problem, since <acronym>CVS</acronym> @@ -453,7 +453,7 @@ CDROM, installation floppies, and an FTP install directory. This command is aptly named <command>make release</command>.</para> - + <sect2> <title><command>make release</command></title> @@ -464,29 +464,29 @@ buildworld</command>. The release target requires several variables be set properly to build a release:</para> - + <itemizedlist> <listitem> <para><makevar>CHROOTDIR</makevar> - The directory to be used as the chroot environment for the entire release build.</para> </listitem> - + <listitem> <para><makevar>BUILDNAME</makevar> - The name of the release to be built.</para> </listitem> - + <listitem> <para><makevar>CVSROOT</makevar> - The location of a CVS Repository. </para> </listitem> - + <listitem> <para><makevar>RELEASETAG</makevar> - The CVS tag corresponding to the release you would like to build.</para> - </listitem> + </listitem> </itemizedlist> - + <para>If you do not already have access to a local CVS repository, then you may mirror one with <ulink url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/synching.html#CVSUP">CVSup</ulink>. @@ -505,7 +505,7 @@ top of <filename>src/release/Makefile</filename>. The exact command used to build the official FreeBSD 4.7 (x86) release was:</para> - + <screen><command>make <literal>release CHROOTDIR=/local3/release \ BUILDNAME=4.7-RELEASE \ CVSROOT=/host/cvs/usr/home/ncvs \ @@ -515,81 +515,81 @@ <para>The release <filename>Makefile</filename> can be broken down into several distinct steps.</para> - + <itemizedlist> <listitem> - <para>Creation of a sanitized system environment in a separate - directory hierarchy with <quote><command>make + <para>Creation of a sanitized system environment in a separate + directory hierarchy with <quote><command>make <literal>installworld</literal></command></quote>. </para> </listitem> - + <listitem> - <para>Checkout from CVS of a clean version of the system source, + <para>Checkout from CVS of a clean version of the system source, documentation, and ports into the release build hierarchy.</para> </listitem> - + <listitem> - <para>Population of <filename>/etc</filename> and + <para>Population of <filename>/etc</filename> and <filename>/dev</filename> in the chrooted environment.</para> </listitem> - + <listitem> - <para>chroot into the release build hierarchy, to make it harder for + <para>chroot into the release build hierarchy, to make it harder for the outside environment to taint this build.</para> </listitem> - + <listitem> <para><command>make world</command> in the chrooted environment.</para> </listitem> - + <listitem> <para>Build of Kerberos-related binaries.</para> </listitem> - + <listitem> <para>Build <filename>GENERIC</filename> kernel.</para> </listitem> - + <listitem> - <para>Creation of a staging directory tree where the binary + <para>Creation of a staging directory tree where the binary distributions will be built and packaged.</para> </listitem> - + <listitem> - <para>Build and installation of the documentation toolchain needed to - convert the documentation source (SGML) into HTML and text documents + <para>Build and installation of the documentation toolchain needed to + convert the documentation source (SGML) into HTML and text documents that will accompany the release.</para> </listitem> - + <listitem> - <para>Build and installation of the actual documentation - (user manuals, tutorials, release notes, hardware compatibility lists, + <para>Build and installation of the actual documentation + (user manuals, tutorials, release notes, hardware compatibility lists, and so on.)</para> </listitem> - + <listitem> - <para>Build of the <quote>crunched</quote> binaries used for + <para>Build of the <quote>crunched</quote> binaries used for installation floppies.</para> </listitem> - + <listitem> <para>Package up distribution tarballs of the binaries and sources. </para> </listitem> - + <listitem> <para>Create the boot media and a <quote>fixit</quote> floppy.</para> </listitem> - + <listitem> <para>Create FTP installation hierarchy.</para> </listitem> - + <listitem> - <para><emphasis>(optionally)</emphasis> Create ISO images for + <para><emphasis>(optionally)</emphasis> Create ISO images for CDROM/DVD media.</para> </listitem> </itemizedlist> @@ -598,7 +598,7 @@ please see &man.release.7;.</para> </sect2> - + <sect2> <title>Building <application>XFree86</application></title> @@ -625,7 +625,7 @@ be unwise to distribute binaries that were built on a system with <varname>CPUTYPE</varname> set to a specific processor.</para></note> - + </sect2> <sect2> @@ -644,7 +644,7 @@ in depth.</para> </sect2> - + <sect2> <title>Release ISOs</title> @@ -660,11 +660,11 @@ provides a manifest for the disc. This <emphasis>manifest</emphasis> can be created with a simple command:</para> - + <screen>/stage/cdrom&prompt.root; <userinput>find . -type f | sed -e 's/^\.\///' | sort > filename.txt</userinput></screen> - + <para>The specific requirements of each CD are outlined below.</para> - + <sect3> <title>Disc 1</title> @@ -679,7 +679,7 @@ installation floppies from other operating systems. This disc should be made bootable so that users of modern PCs do not need to create installation floppy disks.</para> - + <para>If an alternate version of XFree86 is to be provided, then &man.sysinstall.8; must be updated to reflect the new location and installation instructions. The relevant code is contained @@ -689,7 +689,7 @@ <filename>menus.c</filename>, and <filename>config.c</filename> will need to be updated.</para> </sect3> - + <sect3> <title>Disc 2</title> @@ -702,7 +702,7 @@ commercial software demos in the <filename>commerce</filename> directory.</para> </sect3> - + <sect3> <title>Discs 3 and 4</title> @@ -807,7 +807,7 @@ certainly encourage innovation in the form of advanced installation and administration tools, for example, but we can't be expected to answer questions about it.</para> - + <sect2> <title>Creating Customized Boot floppies</title> @@ -816,46 +816,46 @@ installation floppies. The <quote>quick and dirty</quote> way to accomplish this would be to modify the staging directory of an existing <command>make release</command> build hierarchy:</para> - + <itemizedlist> <listitem> <para>Apply patches or add additional files inside the chroot release build directory.</para> </listitem> - + <listitem> - <para><command>rm + <para><command>rm ${CHROOTDIR}/usr/obj/usr/src/release/release.[59]</command></para> </listitem> - + <listitem> <para>rebuild &man.sysinstall.8;, the kernel, or whatever parts of the system your change affected.</para> </listitem> - + <listitem> <para><command>chroot ${CHROOTDIR} ./mk floppies </command></para> </listitem> - + </itemizedlist> - + <para>New release floppies will be located in <filename>${CHROOTDIR}/R/stage/floppies</filename>.</para> - + <para>Alternatively, the <filename>boot.flp</filename> make target can be called, or the filesystem creating script, <filename>src/release/scripts/doFS.sh</filename>, may be invoked directly.</para> - + <para>Local patches may also be supplied to the release build by defining the <makevar>LOCAL_PATCH</makevar> variable in <command>make release</command>. </para> </sect2> - + <sect2> <title>Scripting <command>sysinstall</command></title> @@ -884,7 +884,7 @@ found in the earlier release candidates. A total of over <emphasis>500</emphasis> emails were sent to the &a.re; in little over a month.</para> - + <para>Our user community has made it very clear that the security and stability of a FreeBSD release should not be sacrificed for any self-imposed deadlines or target release dates. The FreeBSD @@ -902,7 +902,7 @@ scale with our growing userbase. Along these lines we are working very hard to document the procedures involved in producing FreeBSD releases.</para> - + <itemizedlist> <listitem> <para><emphasis>Parallelism</emphasis> - Certain portions of the @@ -918,19 +918,19 @@ <acronym>RAID</acronym> solution (hardware or software) can significantly decrease the overall build time.</para> </listitem> - + <listitem> <para><emphasis>Cross-building releases</emphasis> - Building IA-64 or Alpha release on x86 hardware? <command>make TARGET=ia64 release</command>. </para> </listitem> - + <listitem> <para><emphasis>Regression Testing</emphasis> - We need better automated correctness testing for FreeBSD.</para> </listitem> - + <listitem> <para><emphasis>Installation Tools</emphasis> - Our installation program has long since outlived its intended life span. @@ -940,7 +940,7 @@ package framework and GUI installation program.</para> </listitem> </itemizedlist> - + </sect1> <!-- Acknowledgements --> @@ -964,53 +964,53 @@ <!-- Reference / Biblio Section --> <sect1 id="biblio"> <title>References</title> - <para>[1] CVS - Concurrent Versions System + <para>[1] CVS - Concurrent Versions System <ulink url="http://www.cvshome.org"></ulink></para> - + <para>[2] CVSup - The CVS-Optimized General Purpose Network File Distribution System <ulink url="http://www.polstra.com/projects/freeware/CVSup"></ulink> </para> - + <para>[3] <ulink url="http://bento.FreeBSD.org"></ulink></para> - - <para>[4] FreeBSD Ports Collection + + <para>[4] FreeBSD Ports Collection <ulink url="http://www.FreeBSD.org/ports"></ulink></para> - - <para>[5] The libh Project + + <para>[5] The libh Project <ulink url="http://www.FreeBSD.org/projects/libh.html"></ulink></para> - - <para>[6] FreeBSD Committers <ulink + + <para>[6] FreeBSD Committers <ulink url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/contributors/staff-committers.html"></ulink> </para> - - <para>[7] FreeBSD Core-Team + + <para>[7] FreeBSD Core-Team <ulink url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/contributors/staff-core.html"></ulink></para> - - <para>[8] FreeBSD Handbook + + <para>[8] FreeBSD Handbook <ulink url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook"></ulink> </para> - + <para>[9] GNATS: The GNU Bug Tracking System <ulink url="http://www.gnu.org/software/gnats"></ulink> </para> - + <para>[10] FreeBSD PR Statistics <ulink url="http://www.FreeBSD.org/prstats/index.html"></ulink></para> - - <para>[11] NetBSD Developer Documentation: Release Engineering + + <para>[11] NetBSD Developer Documentation: Release Engineering <ulink url="http://www.NetBSD.org/developers/releng/index.html"></ulink> </para> - - <para>[12] John Baldwin's FreeBSD Release Engineering Proposal + + <para>[12] John Baldwin's FreeBSD Release Engineering Proposal <ulink url="http://people.FreeBSD.org/~jhb/docs/releng.txt"></ulink> </para> - - <para>[13] PXE Jumpstart Guide - <ulink + + <para>[13] PXE Jumpstart Guide + <ulink url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/pxe/index.html"></ulink> </para> - - <para>[14] Marshall Kirk McKusick, Michael J. Karels, and Keith Bostic: + + <para>[14] Marshall Kirk McKusick, Michael J. Karels, and Keith Bostic: <ulink url="http://docs.FreeBSD.org/44doc/papers/releng.html"> <emphasis>The Release Engineering of 4.3BSD</emphasis></ulink> </para> Index: en_US.ISO8859-1/articles//serial-uart/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/serial-uart/article.sgml,v retrieving revision 1.7 diff -u -r1.7 article.sgml --- en_US.ISO8859-1/articles//serial-uart/article.sgml 2 Dec 2002 21:11:54 -0000 1.7 +++ en_US.ISO8859-1/articles//serial-uart/article.sgml 14 Jun 2003 12:37:31 -0000 @@ -8,25 +8,25 @@ <article> <articleinfo> <title>Serial and UART Tutorial</title> - + <authorgroup> <author> <firstname>Frank</firstname> <surname>Durda</surname> - + <affiliation> <address><email>uhclem@FreeBSD.org</email></address> </affiliation> </author> </authorgroup> - + <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/serial-uart/article.sgml,v 1.7 2002/12/02 21:11:54 blackend Exp $</pubdate> - + <abstract> <para>This article talks about using serial hardware with FreeBSD.</para> </abstract> </articleinfo> - + <sect1 id="uart"> <title>The UART: What it is and how it works</title> @@ -39,11 +39,11 @@ transmits the individual bits in a sequential fashion. At the destination, a second UART re-assembles the bits into complete bytes.</para> - + <para>Serial transmission is commonly used with modems and for non-networked communication between computers, terminals and other devices.</para> - + <para>There are two primary forms of serial transmission: Synchronous and Asynchronous. Depending on the modes that are supported by the hardware, the name of the communication @@ -51,13 +51,13 @@ supports Asynchronous communications, and a <literal>S</literal> if it supports Synchronous communications. Both forms are described below.</para> - + <para>Some common acronyms are:</para> - + <blockquote> <para>UART Universal Asynchronous Receiver/Transmitter</para> </blockquote> - + <blockquote> <para>USART Universal Synchronous-Asynchronous Receiver/Transmitter</para> @@ -65,7 +65,7 @@ <sect2> <title>Synchronous Serial Transmission</title> - + <para>Synchronous serial transmission requires that the sender and receiver share a clock with one another, or that the sender provide a strobe or other timing signal so that the @@ -79,7 +79,7 @@ synchronous communication can be more costly if extra wiring and circuits are required to share a clock signal between the sender and receiver.</para> - + <para>A form of Synchronous transmission is used with printers and fixed disk devices in that the data is sent on one set of wires while a clock or strobe is sent on a different @@ -88,7 +88,7 @@ send an entire word of data for each clock or strobe signal by using a separate wire for each bit of the word. In the PC industry, these are known as Parallel devices.</para> - + <para>The standard serial communications hardware in the PC does not support Synchronous operations. This mode is described here for comparison purposes only.</para> @@ -96,14 +96,14 @@ <sect2> <title>Asynchronous Serial Transmission</title> - + <para>Asynchronous transmission allows data to be transmitted without the sender having to send a clock signal to the receiver. Instead, the sender and receiver must agree on timing parameters in advance and special bits are added to each word which are used to synchronize the sending and receiving units.</para> - + <para>When a word is given to the UART for Asynchronous transmissions, a bit called the "Start Bit" is added to the beginning of each word that is to be transmitted. The Start @@ -115,7 +115,7 @@ the remaining bits in the word. (This requirement was set in the days of mechanical teleprinters and is easily met by modern electronic equipment.)</para> - + <para>After the Start Bit, the individual bits of the word of data are sent, with the Least Significant Bit (LSB) being sent first. Each bit in the transmission is transmitted for @@ -129,18 +129,18 @@ <literal>0</literal> after one second has passed, then it will wait two seconds and then examine the value of the next bit, and so on.</para> - + <para>The sender does not know when the receiver has <quote>looked</quote> at the value of the bit. The sender only knows when the clock says to begin transmitting the next bit of the word.</para> - + <para>When the entire data word has been sent, the transmitter may add a Parity Bit that the transmitter generates. The Parity Bit may be used by the receiver to perform simple error checking. Then at least one Stop Bit is sent by the transmitter.</para> - + <para>When the receiver has received all of the bits in the data word, it may check for the Parity Bits (both sender and receiver must agree on whether a Parity Bit is to be used), @@ -151,16 +151,16 @@ usual cause of a Framing Error is that the sender and receiver clocks were not running at the same speed, or that the signal was interrupted.</para> - + <para>Regardless of whether the data was received correctly or not, the UART automatically discards the Start, Parity and Stop bits. If the sender and receiver are configured identically, these bits are not passed to the host.</para> - + <para>If another word is ready for transmission, the Start Bit for the new word can be sent as soon as the Stop Bit for the previous word has been sent.</para> - + <para>Because asynchronous data is <quote>self synchronizing</quote>, if there is no data to transmit, the transmission line can be idle.</para> @@ -168,7 +168,7 @@ <sect2> <title>Other UART Functions</title> - + <para>In addition to the basic job of converting data from parallel to serial for transmission and from serial to parallel on reception, a UART will usually provide @@ -186,23 +186,23 @@ <sect2> <title>The RS232-C and V.24 Standards</title> - + <para>In most computer systems, the UART is connected to circuitry that generates signals that comply with the EIA RS232-C specification. There is also a CCITT standard named V.24 that mirrors the specifications included in RS232-C.</para> - + <sect3> <title>RS232-C Bit Assignments (Marks and Spaces)</title> - + <para>In RS232-C, a value of <literal>1</literal> is called a <literal>Mark</literal> and a value of <literal>0</literal> is called a <literal>Space</literal>. When a communication line is idle, the line is said to be <quote>Marking</quote>, or transmitting continuous <literal>1</literal> values.</para> - + <para>The Start bit always has a value of <literal>0</literal> (a Space). The Stop Bit always has a value of <literal>1</literal> (a Mark). This means that @@ -212,12 +212,12 @@ sender and receiver can resynchronize their clocks regardless of the content of the data bits that are being transmitted.</para> - + <para>The idle time between Stop and Start bits does not have to be an exact multiple (including zero) of the bit rate of the communication link, but most UARTs are designed this way for simplicity.</para> - + <para>In RS232-C, the "Marking" signal (a <literal>1</literal>) is represented by a voltage between -2 VDC and -12 VDC, and a "Spacing" signal (a @@ -230,24 +230,24 @@ acceptable to a RS232-C receiver, provided that the cable lengths are short.</para> </sect3> - + <sect3> <title>RS232-C Break Signal</title> - + <para>RS232-C also specifies a signal called a <literal>Break</literal>, which is caused by sending continuous Spacing values (no Start or Stop bits). When there is no electricity present on the data circuit, the line is considered to be sending <literal>Break</literal>.</para> - + <para>The <literal>Break</literal> signal must be of a duration longer than the time it takes to send a complete byte plus Start, Stop and Parity bits. Most UARTs can distinguish between a Framing Error and a Break, but if the UART cannot do this, the Framing Error detection can be used to identify Breaks.</para> - + <para>In the days of teleprinters, when numerous printers around the country were wired in series (such as news services), any unit could cause a <literal>Break</literal> @@ -255,7 +255,7 @@ current flowed. This was used to allow a location with urgent news to interrupt some other location that was currently sending information.</para> - + <para>In modern systems there are two types of Break signals. If the Break is longer than 1.6 seconds, it is considered a "Modem Break", and some modems can be @@ -267,7 +267,7 @@ is used as an Attention or Interrupt signal and sometimes is accepted as a substitute for the ASCII CONTROL-C character.</para> - + <para>Marks and Spaces are also equivalent to <quote>Holes</quote> and <quote>No Holes</quote> in paper tape systems.</para> @@ -280,10 +280,10 @@ a special command from the host processor.</para> </note> </sect3> - + <sect3> <title>RS232-C DTE and DCE Devices</title> - + <para>The RS232-C specification defines two types of equipment: the Data Terminal Equipment (DTE) and the Data Carrier Equipment (DCE). Usually, the DTE device is the @@ -293,7 +293,7 @@ is connected to that modem is a DTE device. The DCE device receives signals on the pins that the DTE device transmits on, and vice versa.</para> - + <para>When two devices that are both DTE or both DCE must be connected together without a modem or a similar media translater between them, a NULL modem must be used. The @@ -303,34 +303,34 @@ are performed on all of the control signals so that each device will see what it thinks are DCE (or DTE) signals from the other device.</para> - + <para>The number of signals generated by the DTE and DCE devices are not symmetrical. The DTE device generates fewer signals for the DCE device than the DTE device receives from the DCE.</para> </sect3> - + <sect3> <title>RS232-C Pin Assignments</title> - + <para>The EIA RS232-C specification (and the ITU equivalent, V.24) calls for a twenty-five pin connector (usually a DB25) and defines the purpose of most of the pins in that connector.</para> - + <para>In the IBM Personal Computer and similar systems, a subset of RS232-C signals are provided via nine pin connectors (DB9). The signals that are not included on the PC connector deal mainly with synchronous operation, and this transmission mode is not supported by the UART that IBM selected for use in the IBM PC.</para> - + <para>Depending on the computer manufacturer, a DB25, a DB9, or both types of connector may be used for RS232-C communications. (The IBM PC also uses a DB25 connector for the parallel printer interface which causes some confusion.)</para> - + <para>Below is a table of the RS232-C signal assignments in the DB25 and DB9 connectors.</para> @@ -345,7 +345,7 @@ <entry>Description</entry> </row> </thead> - + <tbody> <row> <entry>1</entry> @@ -356,7 +356,7 @@ <entry>-</entry> <entry>Frame/Protective Ground</entry> </row> - + <row> <entry>2</entry> <entry>3</entry> @@ -366,7 +366,7 @@ <entry>DTE</entry> <entry>Transmit Data</entry> </row> - + <row> <entry>3</entry> <entry>2</entry> @@ -376,7 +376,7 @@ <entry>DCE</entry> <entry>Receive Data</entry> </row> - + <row> <entry>4</entry> <entry>7</entry> @@ -386,7 +386,7 @@ <entry>DTE</entry> <entry>Request to Send</entry> </row> - + <row> <entry>5</entry> <entry>8</entry> @@ -396,7 +396,7 @@ <entry>DCE</entry> <entry>Clear to Send</entry> </row> - + <row> <entry>6</entry> <entry>6</entry> @@ -406,7 +406,7 @@ <entry>DCE</entry> <entry>Data Set Ready</entry> </row> - + <row> <entry>7</entry> <entry>5</entry> @@ -416,7 +416,7 @@ <entry>-</entry> <entry>Signal Ground</entry> </row> - + <row> <entry>8</entry> <entry>1</entry> @@ -426,7 +426,7 @@ <entry>DCE</entry> <entry>Data Carrier Detect</entry> </row> - + <row> <entry>9</entry> <entry>-</entry> @@ -436,7 +436,7 @@ <entry>-</entry> <entry>Reserved for Test</entry> </row> - + <row> <entry>10</entry> <entry>-</entry> @@ -446,7 +446,7 @@ <entry>-</entry> <entry>Reserved for Test</entry> </row> - + <row> <entry>11</entry> <entry>-</entry> @@ -456,17 +456,8 @@ <entry>-</entry> <entry>Reserved for Test</entry> </row> - - <row> - <entry>12</entry> - <entry>-</entry> - <entry>CI</entry> - <entry>122</entry> - <entry>SRLSD</entry> - <entry>DCE</entry> - <entry>Sec. Recv. Line Signal Detector</entry> - </row> - +<row> <entry>12</entry> <entry>-</entry> <entry>CI</entry> <entry>122</entry> <entry>SRLSD</entry> <entry>DCE</entry> <entry>Sec. Recv. Line Signal Detector</entry> </row> + <row> <entry>13</entry> <entry>-</entry> @@ -476,7 +467,7 @@ <entry>DCE</entry> <entry>Secondary Clear to Send</entry> </row> - + <row> <entry>14</entry> <entry>-</entry> @@ -486,7 +477,7 @@ <entry>DTE</entry> <entry>Secondary Transmit Data</entry> </row> - + <row> <entry>15</entry> <entry>-</entry> @@ -496,7 +487,7 @@ <entry>DCE</entry> <entry>Trans. Sig. Element Timing</entry> </row> - + <row> <entry>16</entry> <entry>-</entry> @@ -506,7 +497,7 @@ <entry>DCE</entry> <entry>Secondary Received Data</entry> </row> - + <row> <entry>17</entry> <entry>-</entry> @@ -516,7 +507,7 @@ <entry>DCE</entry> <entry>Receiver Signal Element Timing</entry> </row> - + <row> <entry>18</entry> <entry>-</entry> @@ -526,7 +517,7 @@ <entry>DTE</entry> <entry>Local Loopback</entry> </row> - + <row> <entry>19</entry> <entry>-</entry> @@ -536,7 +527,7 @@ <entry>DTE</entry> <entry>Secondary Request to Send</entry> </row> - + <row> <entry>20</entry> <entry>4</entry> @@ -546,7 +537,7 @@ <entry>DTE</entry> <entry>Data Terminal Ready</entry> </row> - + <row> <entry>21</entry> <entry>-</entry> @@ -556,7 +547,7 @@ <entry>DTE</entry> <entry>Remote Digital Loopback</entry> </row> - + <row> <entry>22</entry> <entry>9</entry> @@ -566,7 +557,7 @@ <entry>DCE</entry> <entry>Ring Indicator</entry> </row> - + <row> <entry>23</entry> <entry>-</entry> @@ -576,7 +567,7 @@ <entry>DTE</entry> <entry>Data Signal Rate Selector</entry> </row> - + <row> <entry>24</entry> <entry>-</entry> @@ -586,7 +577,7 @@ <entry>DTE</entry> <entry>Trans. Sig. Element Timing</entry> </row> - + <row> <entry>25</entry> <entry>-</entry> @@ -604,12 +595,12 @@ <sect2> <title>Bits, Baud and Symbols</title> - + <para>Baud is a measurement of transmission speed in asynchronous communication. Because of advances in modem communication technology, this term is frequently misused when describing the data rates in newer devices.</para> - + <para>Traditionally, a Baud Rate represents the number of bits that are actually being sent over the media, not the amount of data that is actually moved from one DTE device to the @@ -621,12 +612,12 @@ per second from one place to another can normally only move 30 7-bit words if Parity is used and one Start and Stop bit are present.</para> - + <para>If 8-bit data words are used and Parity bits are also used, the data rate falls to 27.27 words per second, because it now takes 11 bits to send the eight-bit words, and the modem still only sends 300 bits per second.</para> - + <para>The formula for converting bytes per second into a baud rate and vice versa was simple until error-correcting modems came along. These modems receive the serial stream of bits @@ -642,7 +633,7 @@ bits to the words, converts them to a serial format and then sends them to the receiving UART in the remote computer, who then strips the Start, Stop and Parity bits.</para> - + <para>The reason all these extra conversions are done is so that the two modems can perform error correction, which means that the receiving modem is able to ask the sending @@ -650,7 +641,7 @@ the correct checksum. This checking is handled by the modems, and the DTE devices are usually unaware that the process is occurring.</para> - + <para>By striping the Start, Stop and Parity bits, the additional bits of data that the two modems must share between themselves to perform error-correction are mostly @@ -661,14 +652,14 @@ will be able to add 30 bits of its own information that the receiving modem can use to do error-correction without impacting the transmission speed of the real data.</para> - + <para>The use of the term Baud is further confused by modems that perform compression. A single 8-bit word passed over the telephone line might represent a dozen words that were transmitted to the sending modem. The receiving modem will expand the data back to its original content and pass that data to the receiving DTE.</para> - + <para>Modern modems also include buffers that allow the rate that bits move across the phone line (DCE to DCE) to be a different speed than the speed that the bits move between @@ -676,7 +667,7 @@ the speed between the DTE and DCE is higher than the DCE to DCE speed because of the use of compression by the modems.</para> - + <para>Because the number of bits needed to describe a byte varied during the trip between the two machines plus the differing bits-per-seconds speeds that are used present on @@ -689,7 +680,7 @@ connection is made between two systems with a wired connection, or if a modem is in use that is not performing error-correction or compression.</para> - + <para>Modern high speed modems (2400, 9600, 14,400, and 19,200bps) in reality still operate at or below 2400 baud, or more accurately, 2400 Symbols per second. High speed @@ -704,17 +695,17 @@ <sect2> <title>The IBM Personal Computer UART</title> - + <para>Starting with the original IBM Personal Computer, IBM selected the National Semiconductor INS8250 UART for use in the IBM PC Parallel/Serial Adapter. Subsequent generations of compatible computers from IBM and other vendors continued to use the INS8250 or improved versions of the National Semiconductor UART family.</para> - + <sect3> <title>National Semiconductor UART Family Tree</title> - + <para>There have been several versions and subsequent generations of the INS8250 UART. Each major version is described below.</para> @@ -730,7 +721,7 @@ \ \ \-> NS16550 -> NS16550A -> PC16550D</programlisting> - + <variablelist> <varlistentry> <term>INS8250</term> @@ -740,7 +731,7 @@ IBM PC/XT. The original name for this part was the INS8250 ACE (Asynchronous Communications Element) and it is made from NMOS technology.</para> - + <para>The 8250 uses eight I/O ports and has a one-byte send and a one-byte receive buffer. This original UART has several race conditions and other @@ -751,20 +742,20 @@ original IBM PC or IBM PC/XT.</para> </listitem> </varlistentry> - + <varlistentry> <term>INS8250-B</term> - + <listitem> <para>This is the slower speed of the INS8250 made from NMOS technology. It contains the same problems as the original INS8250.</para> </listitem> </varlistentry> - + <varlistentry> <term>INS8250A</term> - + <listitem> <para>An improved version of the INS8250 using XMOS technology with various functional flaws @@ -776,20 +767,20 @@ INS8250B.</para> </listitem> </varlistentry> - + <varlistentry> <term>INS82C50A</term> - + <listitem> <para>This is a CMOS version (low power consumption) of the INS8250A and has similar functional characteristics.</para> </listitem> </varlistentry> - + <varlistentry> <term>NS16450</term> - + <listitem> <para>Same as NS8250A with improvements so it can be used with faster CPU bus designs. IBM used this @@ -797,29 +788,29 @@ longer rely on the bugs in the INS8250.</para> </listitem> </varlistentry> - + <varlistentry> <term>NS16C450</term> - + <listitem> <para>This is a CMOS version (low power consumption) of the NS16450.</para> </listitem> </varlistentry> - + <varlistentry> <term>NS16550</term> - + <listitem> <para>Same as NS16450 with a 16-byte send and receive buffer but the buffer design was flawed and could not be reliably be used.</para> </listitem> </varlistentry> - + <varlistentry> <term>NS16550A</term> - + <listitem> <para>Same as NS16550 with the buffer flaws corrected. The 16550A and its successors have become @@ -829,19 +820,19 @@ interrupt response times.</para> </listitem> </varlistentry> - + <varlistentry> <term>NS16C552</term> - + <listitem> <para>This component consists of two NS16C550A CMOS UARTs in a single package.</para> </listitem> </varlistentry> - + <varlistentry> <term>PC16550D</term> - + <listitem> <para>Same as NS16550A with subtle flaws corrected. This is revision D of the 16550 family @@ -851,10 +842,10 @@ </varlistentry> </variablelist> </sect3> - + <sect3> <title>The NS16550AF and the PC16550D are the same thing</title> - + <para>National reorganized their part numbering system a few years ago, and the NS16550AFN no longer exists by that name. (If you have a NS16550AFN, look at the date code on @@ -863,12 +854,12 @@ year, and the last two digits are the week in that year when the part was packaged. If you have a NS16550AFN, it is probably a few years old.)</para> - + <para>The new numbers are like PC16550DV, with minor differences in the suffix letters depending on the package material and its shape. (A description of the numbering system can be found below.)</para> - + <para>It is important to understand that in some stores, you may pay $15(US) for a NS16550AFN made in 1990 and in the next bin are the new PC16550DN parts with minor fixes @@ -877,27 +868,27 @@ six months and it costs half (as low as $5(US) in volume) as much as the NS16550AFN because they are readily available.</para> - + <para>As the supply of NS16550AFN chips continues to shrink, the price will probably continue to increase until more people discover and accept that the PC16550DN really has the same function as the old part number.</para> </sect3> - + <sect3> <title>National Semiconductor Part Numbering System</title> - + <para>The older NS<replaceable>nnnnnrqp</replaceable> part numbers are now of the format PC<replaceable>nnnnnrgp</replaceable>.</para> - + <para>The <replaceable>r</replaceable> is the revision field. The current revision of the 16550 from National Semiconductor is <literal>D</literal>.</para> - + <para>The <replaceable>p</replaceable> is the package-type field. The types are:</para> - + <informaltable frame="none"> <tgroup cols="3"> <tbody> @@ -906,7 +897,7 @@ <entry>QFP</entry> <entry>(quad flat pack) L lead type</entry> </row> - + <row> <entry>"N"</entry> <entry>DIP</entry> @@ -922,7 +913,7 @@ </tbody> </tgroup> </informaltable> - + <para>The <replaceable>g</replaceable> is the product grade field. If an <literal>I</literal> precedes the package-type letter, it indicates an @@ -930,7 +921,7 @@ specs than a standard part but not as high as Military Specification (Milspec) component. This is an optional field.</para> - + <para>So what we used to call a NS16550AFN (DIP Package) is now called a PC16550DN or PC16550DIN.</para> </sect3> @@ -938,7 +929,7 @@ <sect2> <title>Other Vendors and Similar UARTs</title> - + <para>Over the years, the 8250, 8250A, 16450 and 16550 have been licensed or copied by other chip vendors. In the case of the 8250, 8250A and 16450, the exact circuit (the @@ -946,7 +937,7 @@ including Western Digital and Intel. Other vendors reverse-engineered the part or produced emulations that had similar behavior.</para> - + <para>In internal modems, the modem designer will frequently emulate the 8250A/16450 with the modem microprocessor, and the emulated UART will frequently have a hidden buffer @@ -957,18 +948,18 @@ 8250A or 16450, and may not make effective use of the extra buffering present in the emulated UART unless special drivers are used.</para> - + <para>Some modem makers are driven by market forces to abandon a design that has hundreds of bytes of buffer and instead use a 16550A UART so that the product will compare favorably in market comparisons even though the effective performance may be lowered by this action.</para> - + <para>A common misconception is that all parts with <quote>16550A</quote> written on them are identical in performance. There are differences, and in some cases, outright flaws in most of these 16550A clones.</para> - + <para>When the NS16550 was developed, the National Semiconductor obtained several patents on the design and they also limited licensing, making it harder for other @@ -980,7 +971,7 @@ computer and modem makers want to buy but are sometimes unwilling to pay the price required to get the genuine part.</para> - + <para>Some of the differences in the clone 16550A parts are unimportant, while others can prevent the device from being used at all with a given operating system or driver. These @@ -994,7 +985,7 @@ different operating system is used, problems could appear due to subtle differences between the clones and genuine components.</para> - + <para>National Semiconductor has made available a program named <application>COMTEST</application> that performs compatibility tests independent of any OS drivers. It @@ -1003,7 +994,7 @@ competition, so the program will report major as well as extremely subtle differences in behavior in the part being tested.</para> - + <para>In a series of tests performed by the author of this document in 1994, components made by National Semiconductor, TI, StarTech, and CMD as well as megacells and emulations @@ -1012,7 +1003,7 @@ below. Because these tests were performed in 1994, they may not reflect the current performance of the given product from a vendor.</para> - + <para>It should be noted that COMTEST normally aborts when an excessive number or certain types of problems have been detected. As part of this testing, COMTEST was modified so @@ -1028,51 +1019,51 @@ <entry>Errors (aka "differences" reported)</entry> </row> </thead> - + <tbody> <row> <entry>National</entry> <entry>(PC16550DV)</entry> <entry>0</entry> </row> - + <row> <entry>National</entry> <entry>(NS16550AFN)</entry> <entry>0</entry> </row> - + <row> <entry>National</entry> <entry>(NS16C552V)</entry> <entry>0</entry> </row> - + <row> <entry>TI</entry> <entry>(TL16550AFN)</entry> <entry>3</entry> </row> - + <row> <entry>CMD</entry> <entry>(16C550PE)</entry> <entry>19</entry> </row> - + <row> <entry>StarTech</entry> <entry>(ST16C550J)</entry> <entry>23</entry> </row> - + <row> <entry>Rockwell</entry> <entry>Reference modem with internal 16550 or an emulation (RC144DPi/C3000-25)</entry> <entry>117</entry> </row> - + <row> <entry>Sierra</entry> <entry>Modem with an internal 16550 @@ -1082,7 +1073,7 @@ </tbody> </tgroup> </informaltable> - + <note> <para>To date, the author of this document has not found any non-National parts that report zero differences using the @@ -1097,7 +1088,7 @@ bugs in the A, B and C revisions of the parts, so this bias in COMTEST must be taken into account.</para> </note> - + <para>It is important to understand that a simple count of differences from COMTEST does not reveal a lot about what differences are important and which are not. For example, @@ -1111,7 +1102,7 @@ particularly those with error-correction and compression capabilities. This means that the differences related to five- and six-bit character modes can be discounted.</para> - + <para>Many of the differences COMTEST reports have to do with timing. In many of the clone designs, when the host reads from one port, the status bits in some other port may not @@ -1124,12 +1115,12 @@ faster or slower than the reference part (that would probably never affect the operation of a properly written driver) could have dozens of differences reported.</para> - + <para>COMTEST can be used as a screening tool to alert the administrator to the presence of potentially incompatible components that might cause problems or have to be handled as a special case.</para> - + <para>If you run COMTEST on a 16550 that is in a modem or a modem is attached to the serial port, you need to first issue a ATE0&W command to the modem so that the modem @@ -1142,7 +1133,7 @@ <sect2> <title>8250/16450/16550 Registers</title> - + <para>The 8250/16450/16550 UART occupies eight contiguous I/O port addresses. In the IBM PC, there are two defined locations for these eight ports and they are known @@ -1151,13 +1142,13 @@ and COM4, but these extra COM ports conflict with other hardware on some systems. The most common conflict is with video adapters that provide IBM 8514 emulation.</para> - + <para>COM1 is located from 0x3f8 to 0x3ff and normally uses IRQ 4 COM2 is located from 0x2f8 to 0x2ff and normally uses IRQ 3 COM3 is located from 0x3e8 to 0x3ef and has no standardized IRQ COM4 is located from 0x2e8 to 0x2ef and has no standardized IRQ.</para> - + <para>A description of the I/O ports of the 8250/16450/16550 UART is provided below.</para> @@ -1170,7 +1161,7 @@ <entry>Description</entry> </row> </thead> - + <tbody> <row> <entry>+0x00</entry> @@ -1180,7 +1171,7 @@ treated as data words and will be transmitted by the UART.</para></entry> </row> - + <row> <entry>+0x00</entry> <entry>read (DLAB==0)</entry> @@ -1189,7 +1180,7 @@ accessed by the host by reading this port.</para></entry> </row> - + <row> <entry>+0x00</entry> <entry>write/read (DLAB==1)</entry> @@ -1200,7 +1191,7 @@ register holds bits 0 thru 7 of the divisor.</para></entry> </row> - + <row> <entry>+0x01</entry> <entry>write/read (DLAB==1)</entry> @@ -1211,7 +1202,7 @@ register holds bits 8 thru 15 of the divisor.</para></entry> </row> - + <row> <entry>+0x01</entry> <entry>write/read (DLAB==0)</entry> @@ -1236,27 +1227,27 @@ to determine the true cause(s) of the interrupt.</para></entry> </row> - + <row> <entry>Bit 7</entry> <entry>Reserved, always 0.</entry> </row> - + <row> <entry>Bit 6</entry> <entry>Reserved, always 0.</entry> </row> - + <row> <entry>Bit 5</entry> <entry>Reserved, always 0.</entry> </row> - + <row> <entry>Bit 4</entry> <entry>Reserved, always 0.</entry> </row> - + <row> <entry>Bit 3</entry> <entry>Enable Modem Status Interrupt (EDSSI). Setting @@ -1264,7 +1255,7 @@ interrupt when a change occurs on one or more of the status lines.</entry> </row> - + <row> <entry>Bit 2</entry> <entry>Enable Receiver Line Status Interrupt (ELSI) @@ -1272,7 +1263,7 @@ an interrupt when the an error (or a BREAK signal) has been detected in the incoming data.</entry> </row> - + <row> <entry>Bit 1</entry> <entry>Enable Transmitter Holding Register Empty @@ -1281,7 +1272,7 @@ for one or more additional characters that are to be transmitted.</entry> </row> - + <row> <entry>Bit 0</entry> <entry>Enable Received Data Available Interrupt @@ -1295,7 +1286,7 @@ </tbody> </entrytbl> </row> - + <row> <entry>+0x02</entry> <entry>write</entry> @@ -1306,7 +1297,7 @@ <colspec colnum="4" colname="col4"> <spanspec namest="col1" nameend="col4" spanname="1to4"> <spanspec namest="col2" nameend="col4" spanname="2to4"> - + <tbody> <row> <entry spanname="1to4">FIFO Control Register (FCR) @@ -1318,7 +1309,7 @@ <entry>Bit 7</entry> <entry spanname="2to4">Receiver Trigger Bit #1</entry> </row> - + <row> <entry>Bit 6</entry> <entry spanname="2to4"><para>Receiver Trigger Bit @@ -1326,48 +1317,48 @@ point the receiver is to generate an interrupt when the FIFO is active.</para></entry> </row> - + <row> <entry colname="col2">7</entry> <entry colname="col3">6</entry> <entry colname="col4">How many words are received before an interrupt is generated</entry> </row> - + <row> <entry colname="col2">0</entry> <entry colname="col3">0</entry> <entry colname="col4">1</entry> </row> - + <row> <entry colname="col2">0</entry> <entry colname="col3">1</entry> <entry colname="col4">4</entry> </row> - + <row> <entry colname="col2">1</entry> <entry colname="col3">0</entry> <entry colname="col4">8</entry> </row> - + <row> <entry colname="col2">1</entry> <entry colname="col3">1</entry> <entry colname="col4">14</entry> </row> - + <row> <entry>Bit 5</entry> <entry spanname="2to4">Reserved, always 0.</entry> </row> - + <row> <entry>Bit 4</entry> <entry spanname="2to4">Reserved, always 0.</entry> </row> - + <row> <entry>Bit 3</entry> <entry spanname="2to4">DMA Mode Select. If Bit 0 is @@ -1375,7 +1366,7 @@ the operation of the -RXRDY and -TXRDY signals from Mode 0 to Mode 1.</entry> </row> - + <row> <entry>Bit 2</entry> <entry spanname="2to4">Transmit FIFO Reset. When a @@ -1384,7 +1375,7 @@ will be sent intact. This function is useful in aborting transfers.</entry> </row> - + <row> <entry>Bit 1</entry> <entry spanname="2to4">Receiver FIFO Reset. When a @@ -1405,7 +1396,7 @@ </tbody> </entrytbl> </row> - + <row> <entry>+0x02</entry> <entry>read</entry> @@ -1430,34 +1421,34 @@ <entry spanname="2to6">FIFOs enabled. On the 8250/16450 UART, this bit is zero.</entry> </row> - + <row> <entry>Bit 6</entry> <entry spanname="2to6">FIFOs enabled. On the 8250/16450 UART, this bit is zero.</entry> </row> - + <row> <entry>Bit 5</entry> <entry spanname="2to6">Reserved, always 0.</entry> </row> - + <row> <entry>Bit 4</entry> <entry spanname="2to6">Reserved, always 0.</entry> </row> - + <row> <entry>Bit 3</entry> <entry spanname="2to6">Interrupt ID Bit #2. On the 8250/16450 UART, this bit is zero.</entry> </row> - + <row> <entry>Bit 2</entry> <entry spanname="2to6">Interrupt ID Bit #1</entry> </row> - + <row> <entry>Bit 1</entry> <entry spanname="2to6">Interrupt ID Bit #0.These @@ -1473,7 +1464,7 @@ interrupts will be generated. (This is a limitation of the PC architecture.)</entry> </row> - + <row> <entry colname="col2">2</entry> <entry colname="col3">1</entry> @@ -1481,7 +1472,7 @@ <entry colname="col5">Priority</entry> <entry colname="col6">Description</entry> </row> - + <row> <entry colname="col2">0</entry> <entry colname="col3">1</entry> @@ -1490,7 +1481,7 @@ <entry colname="col6">Received Error (OE, PE, BI, or FE)</entry> </row> - + <row> <entry colname="col2">0</entry> <entry colname="col3">1</entry> @@ -1498,7 +1489,7 @@ <entry colname="col5">Second</entry> <entry colname="col6">Received Data Available</entry> </row> - + <row> <entry colname="col2">1</entry> <entry colname="col3">1</entry> @@ -1507,7 +1498,7 @@ <entry colname="col6">Trigger level identification (Stale data in receive buffer)</entry> </row> - + <row> <entry colname="col2">0</entry> <entry colname="col3">0</entry> @@ -1516,7 +1507,7 @@ <entry colname="col6">Transmitter has room for more words (THRE)</entry> </row> - + <row> <entry colname="col2">0</entry> <entry colname="col3">0</entry> @@ -1525,7 +1516,7 @@ <entry colname="col6">Modem Status Change (-CTS, -DSR, -RI, or -DCD)</entry> </row> - + <row> <entry>Bit 0</entry> <entry spanname="2to6">Interrupt Pending Bit. If this @@ -1535,7 +1526,7 @@ </tbody> </entrytbl> </row> - + <row> <entry>+0x03</entry> <entry>write/read</entry> @@ -1554,7 +1545,7 @@ <entry spanname="1to5">Line Control Register (LCR)</entry> </row> - + <row> <entry>Bit 7</entry> <entry spanname="2to5">Divisor Latch Access Bit @@ -1566,7 +1557,7 @@ the Divisor Registers, and clearing DLAB should be done with interrupts disabled.</entry> </row> - + <row> <entry>Bit 6</entry> <entry spanname="2to5">Set Break. When set to "1", @@ -1575,14 +1566,14 @@ overrides any bits of characters that are being transmitted.</entry> </row> - + <row> <entry>Bit 5</entry> <entry spanname="2to5">Stick Parity. When parity is enabled, setting this bit causes parity to always be "1" or "0", based on the value of Bit 4.</entry> </row> - + <row> <entry>Bit 4</entry> <entry spanname="2to5">Even Parity Select (EPS). When @@ -1590,7 +1581,7 @@ causes even parity to be transmitted and expected. Otherwise, odd parity is used.</entry> </row> - + <row> <entry>Bit 3</entry> <entry spanname="2to5">Parity Enable (PEN). When set @@ -1599,7 +1590,7 @@ also expect parity to be present in the received data.</entry> </row> - + <row> <entry>Bit 2</entry> <entry spanname="2to5">Number of Stop Bits (STB). If @@ -1609,53 +1600,53 @@ transmitted and expected. When this bit is set to "0", one Stop Bit is used on each data word.</entry> </row> - + <row> <entry>Bit 1</entry> <entry spanname="2to5">Word Length Select Bit #1 (WLSB1)</entry> </row> - + <row> <entry>Bit 0</entry> <entry spanname="2to5">Word Length Select Bit #0 (WLSB0)</entry> </row> - + <row> <entry colname="col2" spanname="2to5">Together these bits specify the number of bits in each data word.</entry> </row> - + <row> <entry colname="col2">1</entry> <entry colname="col3">0</entry> <entry colname="col4" spanname="4to5">Word Length</entry> </row> - + <row> <entry colname="col2">0</entry> <entry colname="col3">0</entry> <entry colname="col4" spanname="4to5">5 Data Bits</entry> </row> - + <row> <entry colname="col2">0</entry> <entry colname="col3">1</entry> <entry colname="col4" spanname="4to5">6 Data Bits</entry> </row> - + <row> <entry colname="col2">1</entry> <entry colname="col3">0</entry> <entry colname="col4" spanname="4to5">7 Data Bits</entry> </row> - + <row> <entry colname="col2">1</entry> <entry colname="col3">1</entry> @@ -1665,7 +1656,7 @@ </tbody> </entrytbl> </row> - + <row> <entry>+0x04</entry> <entry>write/read</entry> @@ -1679,22 +1670,22 @@ <entry spanname="1to2">Modem Control Register (MCR)</entry> </row> - + <row> <entry>Bit 7</entry> <entry>Reserved, always 0.</entry> </row> - + <row> <entry>Bit 6</entry> <entry>Reserved, always 0.</entry> </row> - + <row> <entry>Bit 5</entry> <entry>Reserved, always 0.</entry> </row> - + <row> <entry>Bit 4</entry> <entry>Loop-Back Enable. When set to "1", the UART @@ -1706,7 +1697,7 @@ connected to RI, and OUT 2 is connected to DCD.</entry> </row> - + <row> <entry>Bit 3</entry> <entry>OUT 2. An auxiliary output that the host @@ -1715,21 +1706,21 @@ tri-state (disable) the interrupt signal from the 8250/16450/16550 UART.</entry> </row> - + <row> <entry>Bit 2</entry> <entry>OUT 1. An auxiliary output that the host processor may set high or low. This output is not used on the IBM PC serial adapter.</entry> </row> - + <row> <entry>Bit 1</entry> <entry>Request to Send (RTS). When set to "1", the output of the UART -RTS line is Low (Active).</entry> </row> - + <row> <entry>Bit 0</entry> <entry>Data Terminal Ready (DTR). When set to "1", @@ -1739,7 +1730,7 @@ </tbody> </entrytbl> </row> - + <row> <entry>+0x05</entry> <entry>write/read</entry> @@ -1753,7 +1744,7 @@ <entry spanname="1to2">Line Status Register (LSR)</entry> </row> - + <row> <entry>Bit 7</entry> <entry>Error in Receiver FIFO. On the 8250/16450 @@ -1761,7 +1752,7 @@ any of the bytes in the FIFO have one or more of the following error conditions: PE, FE, or BI.</entry> </row> - + <row> <entry>Bit 6</entry> <entry>Transmitter Empty (TEMT). When set to "1", @@ -1769,7 +1760,7 @@ or the transmit shift register. The transmitter is completely idle.</entry> </row> - + <row> <entry>Bit 5</entry> <entry>Transmitter Holding Register Empty (THRE). @@ -1778,13 +1769,13 @@ transmit. The transmitter may still be transmitting when this bit is set to "1".</entry> </row> - + <row> <entry>Bit 4</entry> <entry>Break Interrupt (BI). The receiver has detected a Break signal.</entry> </row> - + <row> <entry>Bit 3</entry> <entry>Framing Error (FE). A Start Bit was detected @@ -1792,13 +1783,13 @@ time. The received word is probably garbled.</entry> </row> - + <row> <entry>Bit 2</entry> <entry>Parity Error (PE). The parity bit was incorrect for the word received.</entry> </row> - + <row> <entry>Bit 1</entry> <entry>Overrun Error (OE). A new word was received @@ -1808,7 +1799,7 @@ holding register is discarded and the newly- arrived word is put in the holding register.</entry> </row> - + <row> <entry>Bit 0</entry> <entry>Data Ready (DR) One or more words are in the @@ -1820,7 +1811,7 @@ </tbody> </entrytbl> </row> - + <row> <entry>+0x06</entry> <entry>write/read</entry> @@ -1834,31 +1825,31 @@ <entry spanname="1to2">Modem Status Register (MSR)</entry> </row> - + <row> <entry>Bit 7</entry> <entry>Data Carrier Detect (DCD). Reflects the state of the DCD line on the UART.</entry> </row> - + <row> <entry>Bit 6</entry> <entry>Ring Indicator (RI). Reflects the state of the RI line on the UART.</entry> </row> - + <row> <entry>Bit 5</entry> <entry>Data Set Ready (DSR). Reflects the state of the DSR line on the UART.</entry> </row> - + <row> <entry>Bit 4</entry> <entry>Clear To Send (CTS). Reflects the state of the CTS line on the UART.</entry> </row> - + <row> <entry>Bit 3</entry> <entry>Delta Data Carrier Detect (DDCD). Set to "1" @@ -1866,7 +1857,7 @@ time since the last time the MSR was read by the host.</entry> </row> - + <row> <entry>Bit 2</entry> <entry>Trailing Edge Ring Indicator (TERI). Set to @@ -1874,7 +1865,7 @@ since the last time the MSR was read by the host.</entry> </row> - + <row> <entry>Bit 1</entry> <entry>Delta Data Set Ready (DDSR). Set to "1" if the @@ -1882,7 +1873,7 @@ since the last time the MSR was read by the host.</entry> </row> - + <row> <entry>Bit 0</entry> <entry>Delta Clear To Send (DCTS). Set to "1" if the @@ -1893,7 +1884,7 @@ </tbody> </entrytbl> </row> - + <row> <entry>+0x07</entry> <entry>write/read</entry> @@ -1909,7 +1900,7 @@ <sect2> <title>Beyond the 16550A UART</title> - + <para>Although National Semiconductor has not offered any components compatible with the 16550 that provide additional features, various other vendors have. Some of these @@ -1918,7 +1909,7 @@ have to be provided by the chip vendor since most of the popular operating systems do not support features beyond those provided by the 16550.</para> - + <variablelist> <varlistentry> <term>ST16650</term> @@ -1929,20 +1920,20 @@ enabled. Made by StarTech.</para> </listitem> </varlistentry> - + <varlistentry> <term>TIL16660</term> - + <listitem> <para>By default this part behaves similar to the NS16550A, but an extended 64-byte send and receive buffer can be optionally enabled. Made by Texas Instruments.</para> </listitem> </varlistentry> - + <varlistentry> <term>Hayes ESP</term> - + <listitem> <para>This proprietary plug-in card contains a 2048-byte send and receive buffer, and supports data rates to @@ -1950,7 +1941,7 @@ </listitem> </varlistentry> </variablelist> - + <para>In addition to these <quote>dumb</quote> UARTs, many vendors produce intelligent serial communication boards. This type of design usually provides a microprocessor that interfaces with @@ -1963,28 +1954,28 @@ performance characteristics.</para> </sect2> </sect1> - + <sect1 id="sio"> <title>Configuring the <devicename>sio</devicename> driver</title> - + <para>The <devicename>sio</devicename> driver provides support for NS8250-, NS16450-, NS16550 and NS16550A-based EIA RS-232C (CCITT V.24) communications interfaces. Several multiport cards are supported as well. See the &man.sio.4; manual page for detailed technical documentation.</para> - + <sect2> <title>Digi International (DigiBoard) PC/8</title> - + <para><emphasis>Contributed by &a.awebster;. 26 August 1995.</emphasis></para> - + <para>Here is a config snippet from a machine with a Digi International PC/8 with 16550. It has 8 modems connected to these 8 lines, and they work just great. Do not forget to add <literal>options COM_MULTIPORT</literal> or it will not work very well!</para> - + <programlisting>device sio4 at isa? port 0x100 flags 0xb05 device sio5 at isa? port 0x108 flags 0xb05 device sio6 at isa? port 0x110 flags 0xb05 @@ -1993,7 +1984,7 @@ device sio9 at isa? port 0x128 flags 0xb05 device sio10 at isa? port 0x130 flags 0xb05 device sio11 at isa? port 0x138 flags 0xb05 irq 9</programlisting> - + <para>The trick in setting this up is that the MSB of the flags represent the last SIO port, in this case 11 so flags are 0xb05.</para> @@ -2001,14 +1992,14 @@ <sect2> <title>Boca 16</title> - + <para><emphasis>Contributed by &a.whiteside;. 26 August 1995.</emphasis></para> - + <para>The procedures to make a Boca 16 port board with FreeBSD are pretty straightforward, but you will need a couple things to make it work:</para> - + <orderedlist> <listitem> <para>You either need the kernel sources installed so you @@ -2018,21 +2009,21 @@ multiport support enabled and you will need to add a device entry for each port anyways.</para> </listitem> - + <listitem> <para>Two, you will need to know the interrupt and IO setting for your Boca Board so you can set these options properly in the kernel.</para> </listitem> </orderedlist> - + <para>One important note — the actual UART chips for the Boca 16 are in the connector box, not on the internal board itself. So if you have it unplugged, probes of those ports will fail. I have never tested booting with the box unplugged and plugging it back in, and I suggest you do not either.</para> - + <para>If you do not already have a custom kernel configuration file set up, refer to <ulink url="../../books/handbook/kernelconfig.html">Kernel @@ -2040,16 +2031,16 @@ general procedures. The following are the specifics for the Boca 16 board and assume you are using the kernel name MYKERNEL and editing with vi.</para> - + <procedure> <step> - <para>Add the line - + <para>Add the line + <programlisting>options COM_MULTIPORT</programlisting> to the config file.</para> </step> - + <step> <para>Where the current <literal>device sio<replaceable>n</replaceable></literal> lines are, you @@ -2084,7 +2075,7 @@ 1C indicates the minor number of the master port. Do not change the 05 setting.</para> </step> - + <step> <para>Save and complete the kernel configuration, recompile, install and reboot. Presuming you have @@ -2093,7 +2084,7 @@ should indicate the successful probe of the Boca ports as follows: (obviously the sio numbers, IO and IRQ could be different)</para> - + <screen>sio1 at 0x100-0x107 flags 0x1005 on isa sio1: type 16550A (multiport) sio2 at 0x108-0x10f flags 0x1005 on isa @@ -2132,7 +2123,7 @@ <screen>&prompt.root; <userinput>dmesg | more</userinput></screen> will show you the boot messages.</para> </step> - + <step> <para>Next, appropriate entries in <filename>/dev</filename> for the devices must be made @@ -2140,27 +2131,27 @@ script. This step can be omitted if you are running FreeBSD 5.X with a kernel that has &man.devfs.5; support compiled in.</para> - + <para>If you do need to create the <filename>/dev</filename> entries, run the following as <username>root</username>:</para> - + <screen>&prompt.root; <userinput>cd /dev</userinput> &prompt.root; <userinput>./MAKEDEV tty1</userinput> &prompt.root; <userinput>./MAKEDEV cua1</userinput> <emphasis>(everything in between)</emphasis> &prompt.root; <userinput>./MAKEDEV ttyg</userinput> &prompt.root; <userinput>./MAKEDEV cuag</userinput></screen> - + <para>If you do not want or need call-out devices for some reason, you can dispense with making the <filename>cua*</filename> devices.</para> </step> - + <step> <para>If you want a quick and sloppy way to make sure the devices are working, you can simply plug a modem into each port and (as root) - + <screen>&prompt.root; <userinput>echo at > ttyd*</userinput></screen> for each device you have made. You <emphasis>should</emphasis> see the RX lights flash for each @@ -2175,11 +2166,11 @@ <para><emphasis>Contributed by Helge Oldach <email>hmo@sep.hamburg.com</email>, September 1999</emphasis></para> - + <para>Ever wondered about FreeBSD support for your 20$ multi-I/O card with two (or more) COM ports, sharing IRQs? Here is how:</para> - + <para>Usually the only option to support these kind of boards is to use a distinct IRQ for each port. For example, if your CPU board has an on-board <devicename>COM1</devicename> @@ -2194,7 +2185,7 @@ basically possible to run both extension board ports using a single IRQ with the <literal>COM_MULTIPORT</literal> configuration described in the previous sections.</para> - + <para>Such cheap I/O boards commonly have a 4 by 3 jumper matrix for the COM ports, similar to the following:</para> @@ -2288,13 +2279,13 @@ likely there is something wrong with your wiring.</para> </sect2> </sect1> - + <sect1 id="cy"> <title>Configuring the <devicename>cy</devicename> driver</title> - + <para><emphasis>Contributed by Alex Nash. 6 June 1996.</emphasis></para> - + <para>The Cyclades multiport cards are based on the <devicename>cy</devicename> driver instead of the usual <devicename>sio</devicename> driver used by other multiport @@ -2305,39 +2296,39 @@ <para>Add the <devicename>cy</devicename> device to your kernel configuration (note that your irq and iomem settings may differ).</para> - + <programlisting>device cy0 at isa? irq 10 iomem 0xd4000 iosiz 0x2000</programlisting> </step> - + <step> <para>Rebuild and install the new kernel.</para> </step> - + <step> <para>Make the device nodes by typing (the following example assumes an 8-port board)<footnote> <para>You can omit this part if you are running FreeBSD 5.X with &man.devfs.5;.</para> </footnote>:</para> - + <screen>&prompt.root; <userinput>cd /dev</userinput> &prompt.root; <userinput>for i in 0 1 2 3 4 5 6 7;do ./MAKEDEV cuac$i ttyc$i;done</userinput></screen> </step> - + <step> <para>If appropriate, add dialup entries to <filename>/etc/ttys</filename> by duplicating serial device (<literal>ttyd</literal>) entries and using <literal>ttyc</literal> in place of <literal>ttyd</literal>. For example:</para> - + <programlisting>ttyc0 "/usr/libexec/getty std.38400" unknown on insecure ttyc1 "/usr/libexec/getty std.38400" unknown on insecure ttyc2 "/usr/libexec/getty std.38400" unknown on insecure … ttyc7 "/usr/libexec/getty std.38400" unknown on insecure</programlisting> </step> - + <step> <para>Reboot with the new kernel.</para> </step> @@ -2349,7 +2340,7 @@ <para><emphasis>Contributed by &a.nsayer;. 25 March 1998.</emphasis></para> - + <para>The Specialix SI/XIO and SX multiport cards use the <devicename>si</devicename> driver. A single machine can have up to 4 host cards. The following host cards are @@ -2378,11 +2369,11 @@ <itemizedlist> <listitem><para>SI 4 or 8 port modules. Up to 57600 bps on each port supported.</para></listitem> - + <listitem><para>XIO 8 port modules. Up to 115200 bps on each port supported. One type of XIO module has 7 serial and 1 parallel port.</para></listitem> - + <listitem><para>SXDC 8 port modules. Up to 921600 bps on each port supported. Like XIO, a module is available with one parallel port as well.</para></listitem> @@ -2391,19 +2382,19 @@ <para>To configure an ISA host card, add the following line to your kernel configuration file, changing the numbers as appropriate:</para> - + <programlisting>device si0 at isa? iomem 0xd0000 irq 11</programlisting> <para>Valid IRQ numbers are 9, 10, 11, 12 and 15 for SX ISA host cards and 11, 12 and 15 for SI/XIO ISA host cards.</para> - + <para>To configure an EISA or PCI host card, use this line:</para> - + <programlisting>device si0</programlisting> <para>After adding the configuration entry, rebuild and install your new kernel.</para> - + <note> <para>The following step, is not necessary if you are using &man.devfs.5; in FreeBSD 5.<replaceable>X</replaceable>.</para> @@ -2413,19 +2404,19 @@ device nodes in <filename>/dev</filename>. The <filename>MAKEDEV</filename> script will take care of this for you. Count how many total ports you have and type:</para> - + <screen>&prompt.root; <userinput>cd /dev</userinput> &prompt.root; <userinput>./MAKEDEV ttyA<replaceable>nn</replaceable> cuaA<replaceable>nn</replaceable></userinput></screen> - + <para>(where <replaceable>nn</replaceable> is the number of ports)</para> - + <para>If you want login prompts to appear on these ports, you will need to add lines like this to <filename>/etc/ttys</filename>:</para> <programlisting>ttyA01 "/usr/libexec/getty std.9600" vt100 on insecure</programlisting> - + <para>Change the terminal type as appropriate. For modems, <userinput>dialup</userinput> or <userinput>unknown</userinput> is fine.</para> Index: en_US.ISO8859-1/articles//smp/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/smp/article.sgml,v retrieving revision 1.6 diff -u -r1.6 article.sgml --- en_US.ISO8859-1/articles//smp/article.sgml 18 Feb 2003 11:46:51 -0000 1.6 +++ en_US.ISO8859-1/articles//smp/article.sgml 14 Jun 2003 12:37:43 -0000 @@ -498,23 +498,23 @@ <para><structname>struct ucred</structname> is the kernel's internal credential structure, and is generally used as the - basis for process-driven access control within the kernel. - BSD-derived systems use a <quote>copy-on-write</quote> model for credential - data: multiple references may exist for a credential structure, + basis for process-driven access control within the kernel. + BSD-derived systems use a <quote>copy-on-write</quote> model for credential + data: multiple references may exist for a credential structure, and when a change needs to be made, the structure is duplicated, modified, and then the reference replaced. Due to wide-spread caching of the credential to implement access control on open, this results in substantial memory savings. With a move to fine-grained SMP, this model also saves substantially on locking operations by requiring that modification only occur - on an unshared credential, avoiding the need for explicit + on an unshared credential, avoiding the need for explicit synchronization when consuming a known-shared credential.</para> <para>Credential structures with a single reference are - considered mutable; shared credential structures must not be + considered mutable; shared credential structures must not be modified or a race condition is risked. A mutex, - <structfield>cr_mtxp</structfield> protects the reference + <structfield>cr_mtxp</structfield> protects the reference count of <structname>struct ucred</structname> so as to maintain consistency. Any use of the structure requires a valid reference for the duration of the use, or the structure @@ -631,8 +631,8 @@ <para>The newbus system will have one sx lock. Readers will hold a shared (read) lock (&man.sx.slock.9;) and writers will hold - an exclusive (write) lock (&man.sx.xlock.9;). Internal functions - will not do locking at all. Externally visible ones will lock as + an exclusive (write) lock (&man.sx.xlock.9;). Internal functions + will not do locking at all. Externally visible ones will lock as needed. Those items that do not matter if the race is won or lost will not be locked, since they tend to be read all over the place Index: en_US.ISO8859-1/articles//solid-state/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/solid-state/article.sgml,v retrieving revision 1.10 diff -u -r1.10 article.sgml --- en_US.ISO8859-1/articles//solid-state/article.sgml 16 Jan 2003 16:39:27 -0000 1.10 +++ en_US.ISO8859-1/articles//solid-state/article.sgml 14 Jun 2003 12:37:50 -0000 @@ -50,7 +50,7 @@ </affiliation> </author> </authorgroup> - + <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/solid-state/article.sgml,v 1.10 2003/01/16 16:39:27 brueffer Exp $</pubdate> <copyright> @@ -59,11 +59,11 @@ </copyright> &legalnotice; - + <abstract> <para>This article covers the use of solid state disk devices in FreeBSD to create embedded systems.</para> - + <para>Embedded systems have the advantage of increased stability due to the lack of integral moving parts (hard drives). Account must be taken, however, for the generally low disk space available in the @@ -316,7 +316,7 @@ <tbody> <row> <entry><para><screen>&prompt.root; <userinput>mknod /dev/ad0a c 116 0</userinput> -&prompt.root; <userinput>mknod /dev/ad0c c 116 2</userinput> +&prompt.root; <userinput>mknod /dev/ad0c c 116 2</userinput> &prompt.root; <userinput>disklabel -e /dev/ad0c</userinput></screen></para></entry> <entry><para><screen>&prompt.root; <userinput>mknod /dev/fla0a c 102 0</userinput> @@ -390,7 +390,7 @@ </tbody> </tgroup> </informaltable> - + <para>Bring this machine up on the network so we may transfer our tar file and explode it onto our flash media filesystem. One example of how to do this is:</para> @@ -465,7 +465,7 @@ <step> <para><screen>&prompt.root; <userinput>mount /dev/vn0c /mnt</userinput></screen></para> </step> - + <step> <para>Place your kernel file into <filename>/mnt</filename>, replacing the existing one</para> @@ -571,7 +571,7 @@ <filename>/var/db/pkg</filename>. An example:</para> <screen>&prompt.root; <userinput>ln -s /etc/pkg /var/db/pkg</userinput></screen> - + <para>Add another line in <filename>/etc/rc.diskless2</filename> that creates and populates <filename>/var/db/port.mkversion</filename></para> @@ -609,7 +609,7 @@ <para>First, add the directory <literal>log/apache</literal> to the list of directories to be created in <filename>/etc/rc.diskless2</filename>.</para> - + <para>Second, add these commands to <filename>/etc/rc.diskless2</filename> after the directory creation section:</para> Index: en_US.ISO8859-1/articles//storage-devices/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/storage-devices/article.sgml,v retrieving revision 1.12 diff -u -r1.12 article.sgml --- en_US.ISO8859-1/articles//storage-devices/article.sgml 21 May 2003 20:55:29 -0000 1.12 +++ en_US.ISO8859-1/articles//storage-devices/article.sgml 14 Jun 2003 12:38:23 -0000 @@ -8,36 +8,36 @@ <article> <articleinfo> <title>Storage Devices</title> - + <authorgroup> <author> <firstname>Wilko</firstname> <surname>Bulte</surname> - + <affiliation> <address><email>wilko@FreeBSD.org</email></address> </affiliation> </author> </authorgroup> - + <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/storage-devices/article.sgml,v 1.12 2003/05/21 20:55:29 keramida Exp $</pubdate> - + <abstract> <para>This article talks about storage devices with FreeBSD.</para> </abstract> </articleinfo> - + <sect1 id="esdi"> <title>Using ESDI hard disks</title> - + <para><emphasis>Copyright © 1995, &a.wilko;. 24 September 1995.</emphasis></para> - + <para>ESDI is an acronym that means Enhanced Small Device Interface. It is loosely based on the good old ST506/412 interface originally devised by Seagate Technology, the makers of the first affordable 5.25" winchester disk.</para> - + <para>The acronym says Enhanced, and rightly so. In the first place the speed of the interface is higher, 10 or 15 Mbits/second instead of the 5 Mbits/second of ST412 interfaced @@ -45,33 +45,33 @@ the ESDI interface somewhat <quote>smarter</quote> to the operating system driver writers. It is by no means as smart as SCSI by the way. ESDI is standardized by ANSI.</para> - + <para>Capacities of the drives are boosted by putting more sectors on each track. Typical is 35 sectors per track, high capacity drives I have seen were up to 54 sectors/track.</para> - + <para>Although ESDI has been largely obsoleted by IDE and SCSI interfaces, the availability of free or cheap surplus drives makes them ideal for low (or now) budget systems.</para> - + <sect2> <title>Concepts of ESDI</title> <sect3> <title>Physical connections</title> - + <para>The ESDI interface uses two cables connected to each drive. One cable is a 34 pin flat cable edge connector that carries the command and status signals from the controller to the drive and vice-versa. The command cable is daisy chained between all the drives. So, it forms a bus onto which all drives are connected.</para> - + <para>The second cable is a 20 pin flat cable edge connector that carries the data to and from the drive. This cable is radially connected, so each drive has its own direct connection to the controller.</para> - + <para>To the best of my knowledge PC ESDI controllers are limited to using a maximum of 2 drives per controller. This is compatibility feature(?) left over from the WD1003 standard that reserves only a @@ -80,12 +80,12 @@ <sect3> <title>Device addressing</title> - + <para>On each command cable a maximum of 7 devices and 1 controller can be present. To enable the controller to uniquely identify which drive it addresses, each ESDI device is equipped with jumpers or switches to select the devices address.</para> - + <para>On PC type controllers the first drive is set to address 0, the second disk to address 1. <emphasis>Always make sure</emphasis> you set each disk to an unique address! So, on a @@ -95,12 +95,12 @@ <sect3> <title>Termination</title> - + <para>The daisy chained command cable (the 34 pin cable remember?) needs to be terminated at the last drive on the chain. For this purpose ESDI drives come with a termination resistor network that can be removed or disabled by a jumper when it is not used.</para> - + <para>So, one and <emphasis>only</emphasis> one drive, the one at the farthest end of the command cable has its terminator installed/enabled. The controller automatically terminates the @@ -109,7 +109,7 @@ <emphasis>not</emphasis> in the middle.</para> </sect3> </sect2> - + <sect2> <title>Using ESDI disks with FreeBSD</title> @@ -120,18 +120,18 @@ developed a profound sense of frustration. A combination of factors works against you to produce effects that are hard to understand when you have never seen them before.</para> - + <para>This has also led to the popular legend ESDI and FreeBSD is a plain NO-GO. The following sections try to list all the pitfalls and solutions.</para> - + <sect3> <title>ESDI speed variants</title> - + <para>As briefly mentioned before, ESDI comes in two speed flavors. The older drives and controllers use a 10 Mbits/second data transfer rate. Newer stuff uses 15 Mbits/second.</para> - + <para>It is not hard to imagine that 15 Mbits/second drive cause problems on controllers laid out for 10 Mbits/second. As always, consult your controller <emphasis>and</emphasis> drive @@ -140,18 +140,18 @@ <sect3> <title>Stay on track</title> - + <para>Mainstream ESDI drives use 34 to 36 sectors per track. Most (older) controllers cannot handle more than this number of sectors. Newer, higher capacity, drives use higher numbers of sectors per track. For instance, I own a 670 MB drive that has 54 sectors per track.</para> - + <para>In my case, the controller could not handle this number of sectors. It proved to work well except that it only used 35 sectors on each track. This meant losing a lot of disk space.</para> - + <para>Once again, check the documentation of your hardware for more info. Going out-of-spec like in the example might or might not work. Give it a try or get another more capable @@ -160,13 +160,13 @@ <sect3> <title>Hard or soft sectoring</title> - + <para>Most ESDI drives allow hard or soft sectoring to be selected using a jumper. Hard sectoring means that the drive will produce a sector pulse on the start of each new sector. The controller uses this pulse to tell when it should start to write or read.</para> - + <para>Hard sectoring allows a selection of sector size (normally 256, 512 or 1024 bytes per formatted sector). FreeBSD uses 512 byte sectors. The number of sectors per track also varies while @@ -177,12 +177,12 @@ track of course gives you more usable space, but might give problems if your controller needs more bytes than the drive offers.</para> - + <para>In case of soft sectoring, the controller itself determines where to start/stop reading or writing. For ESDI hard sectoring is the default (at least on everything I came across). I never felt the urge to try soft sectoring.</para> - + <para>In general, experiment with sector settings before you install FreeBSD because you need to re-run the low-level format after each change.</para> @@ -190,21 +190,21 @@ <sect3> <title>Low level formatting</title> - + <para>ESDI drives need to be low level formatted before they are usable. A reformat is needed whenever you figgle with the number of sectors/track jumpers or the physical orientation of the drive (horizontal, vertical). So, first think, then format. The format time must not be underestimated, for big disks it can take hours.</para> - + <para>After a low level format, a surface scan is done to find and flag bad sectors. Most disks have a manufacturer bad block list listed on a piece of paper or adhesive sticker. In addition, on most disks the list is also written onto the disk. Please use the manufacturer's list. It is much easier to remap a defect now than after FreeBSD is installed.</para> - + <para>Stay away from low-level formatters that mark all sectors of a track as bad as soon as they find one bad sector. Not only does this waste space, it also and more importantly causes you grief @@ -213,13 +213,13 @@ <sect3> <title>Translations</title> - + <para>Translations, although not exclusively a ESDI-only problem, might give you real trouble. Translations come in multiple flavors. Most of them have in common that they attempt to work around the limitations posed upon disk geometries by the original IBM PC/AT design (thanks IBM!).</para> - + <para>First of all there is the (in)famous 1024 cylinder limit. For a system to be able to boot, the stuff (whatever operating system) must be in the first 1024 cylinders of a disk. Only 10 bits are @@ -227,7 +227,7 @@ sectors the limit is 64 (0-63). When you combine the 1024 cylinder limit with the 16 head limit (also a design feature) you max out at fairly limited disk sizes.</para> - + <para>To work around this problem, the manufacturers of ESDI PC controllers added a BIOS prom extension on their boards. This BIOS extension handles disk I/O for booting (and for some @@ -238,7 +238,7 @@ and is therefore usable by the system without problems. It is noteworthy to know that FreeBSD does not use the BIOS after its kernel has started. More on this later.</para> - + <para>A second reason for translations is the fact that most older system BIOSes could only handle drives with 17 sectors per track (the old ST412 standard). Newer system BIOSes usually have a @@ -250,7 +250,7 @@ keep in mind that if you have multiple operating systems on the same disk, all must use the same translation</para> </warning> - + <para>While on the subject of translations, I have seen one controller type (but there are probably more like this) offer the option to logically split a drive in multiple partitions as a BIOS @@ -259,29 +259,29 @@ info and presented itself to the system based on the info from the disk.</para> </sect3> - + <sect3> <title>Spare sectoring</title> - + <para>Most ESDI controllers offer the possibility to remap bad sectors. During/after the low-level format of the disk bad sectors are marked as such, and a replacement sector is put in place (logically of course) of the bad one.</para> - + <para>In most cases the remapping is done by using N-1 sectors on each track for actual data storage, and sector N itself is the spare sector. N is the total number of sectors physically available on the track. The idea behind this is that the operating system sees a <quote>perfect</quote> disk without bad sectors. In the case of FreeBSD this concept is not usable.</para> - + <para>The problem is that the translation from <emphasis>bad</emphasis> to <emphasis>good</emphasis> is performed by the BIOS of the ESDI controller. FreeBSD, being a true 32 bit operating system, does not use the BIOS after it has been booted. Instead, it has device drivers that talk directly to the hardware.</para> - + <para><emphasis>So: do not use spare sectoring, bad block remapping or whatever it may be called by the controller manufacturer when you want to use the disk for FreeBSD.</emphasis></para> @@ -289,7 +289,7 @@ <sect3> <title>Bad block handling</title> - + <para>The preceding section leaves us with a problem. The controller's bad block handling is not usable and still FreeBSD's filesystems assume perfect media without any flaws. To solve this @@ -298,14 +298,14 @@ scans a FreeBSD slice for bad blocks. Having found these bad blocks, it writes a table with the offending block numbers to the end of the FreeBSD slice.</para> - + <para>When the disk is in operation, the disk accesses are checked against the table read from the disk. Whenever a block number is requested that is in the <command>bad144</command> list, a replacement block (also from the end of the FreeBSD slice) is used. In this way, the <command>bad144</command> replacement scheme presents <quote>perfect</quote> media to the FreeBSD filesystems.</para> - + <para>There are a number of potential pitfalls associated with the use of <command>bad144</command>. First of all, the slice cannot have more than 126 bad sectors. If your drive has a high number @@ -315,7 +315,7 @@ sector of a track as bad when they find a flaw on the track. As you can imagine, the 126 limit is quickly reached when the low-level format is done this way.</para> - + <para>Second, if the slice contains the root filesystem, the slice should be within the 1024 cylinder BIOS limit. During the boot process the bad144 list is read using the BIOS and this only @@ -331,20 +331,20 @@ <sect3> <title>Kernel configuration</title> - + <para>ESDI disks are handled by the same <literal>wd</literal>driver as IDE and ST412 MFM disks. The <literal>wd</literal> driver should work for all WD1003 compatible interfaces.</para> - + <para>Most hardware is jumperable for one of two different I/O address ranges and IRQ lines. This allows you to have two wd type controllers in one system.</para> - + <para>When your hardware allows non-standard strappings, you can use these with FreeBSD as long as you enter the correct info into the kernel config file. An example from the kernel config file (they live in <filename>/sys/i386/conf</filename> BTW).</para> - + <programlisting># First WD compatible controller controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr disk wd0 at wdc0 drive 0 @@ -355,17 +355,17 @@ disk wd3 at wdc1 drive 1</programlisting> </sect3> </sect2> - + <sect2> <title>Particulars on ESDI hardware</title> <sect3> <title>Adaptec 2320 controllers</title> - + <para>I successfully installed FreeBSD onto a ESDI disk controlled by a ACB-2320. No other operating system was present on the disk.</para> - + <para>To do so I low level formatted the disk using <command>NEFMT.EXE</command> (<command>ftp</command>able from <hostid role="fqdn">www.adaptec.com</hostid>) and answered NO to @@ -373,20 +373,20 @@ sector on each track. The BIOS on the ACD-2320 was disabled. I used the <literal>free configurable</literal> option in the system BIOS to allow the BIOS to boot it.</para> - + <para>Before using <command>NEFMT.EXE</command> I tried to format the disk using the ACB-2320 BIOS built-in formatter. This proved to be a show stopper, because it did not give me an option to disable spare sectoring. With spare sectoring enabled the FreeBSD installation process broke down on the <command>bad144</command> run.</para> - + <para>Please check carefully which ACB-232<replaceable>xy</replaceable> variant you have. The <replaceable>x</replaceable> is either <literal>0</literal> or <literal>2</literal>, indicating a controller without or with a floppy controller on board.</para> - + <para>The <literal>y</literal> is more interesting. It can either be a blank, a <literal>A-8</literal> or a <literal>D</literal>. A blank indicates a plain 10 Mbits/second controller. An @@ -394,18 +394,18 @@ capable of handling 52 sectors/track. A <literal>D</literal> means a 15 Mbits/second controller that can also handle drives with > 36 sectors/track (also 52?).</para> - + <para>All variations should be capable of using 1:1 interleaving. Use 1:1, FreeBSD is fast enough to handle it.</para> </sect3> <sect3> <title>Western Digital WD1007 controllers</title> - + <para>I successfully installed FreeBSD onto a ESDI disk controlled by a WD1007 controller. To be precise, it was a WD1007-WA2. Other variations of the WD1007 do exist.</para> - + <para>To get it to work, I had to disable the sector translation and the WD1007's onboard BIOS. This implied I could not use the low-level formatter built into this BIOS. Instead, I grabbed @@ -416,34 +416,34 @@ <sect3> <title>Ultrastor U14F controllers</title> - + <para>According to multiple reports from the net, Ultrastor ESDI boards work OK with FreeBSD. I lack any further info on particular settings.</para> </sect3> </sect2> - + <sect2 id="esdi-further-reading"> <title>Further reading</title> - + <para>If you intend to do some serious ESDI hacking, you might want to have the official standard at hand:</para> - + <para>The latest ANSI X3T10 committee document is: Enhanced Small Device Interface (ESDI) [X3.170-1990/X3.170a-1991] [X3T10/792D Rev 11]</para> - + <para>On Usenet the newsgroup <ulink url="news:comp.periphs">comp.periphs</ulink> is a noteworthy place to look for more info.</para> - + <para>The World Wide Web (WWW) also proves to be a very handy info source: For info on Adaptec ESDI controllers see <ulink url="http://www.adaptec.com/"></ulink>. For info on Western Digital controllers see <ulink url="http://www.wdc.com/"></ulink>.</para> </sect2> - + <sect2> <title>Thanks to...</title> @@ -451,20 +451,20 @@ disk for testing.</para> </sect2> </sect1> - + <sect1 id="scsi"> <title>What is SCSI?</title> - + <para><emphasis>Copyright © 1995, &a.wilko;. July 6, 1996.</emphasis></para> - + <para>SCSI is an acronym for Small Computer Systems Interface. It is an ANSI standard that has become one of the leading I/O buses in the computer industry. The foundation of the SCSI standard was laid by Shugart Associates (the same guys that gave the world the first mini floppy disks) when they introduced the SASI bus (Shugart Associates Standard Interface).</para> - + <para>After some time an industry effort was started to come to a more strict standard allowing devices from different vendors to work together. This effort was recognized in the ANSI SCSI-1 standard. @@ -472,7 +472,7 @@ current standard is SCSI-2 (see <link linkend="scsi-further-reading">Further reading</link>), with SCSI-3 on the drawing boards.</para> - + <para>In addition to a physical interconnection standard, SCSI defines a logical (command set) standard to which disk devices must adhere. This standard is called the Common Command Set (CCS) and was developed @@ -480,7 +480,7 @@ (revised) CCS as part of the standard itself. The commands are dependent on the type of device at hand. It does not make much sense of course to define a Write command for a scanner.</para> - + <para>The SCSI bus is a parallel bus, which comes in a number of variants. The oldest and most used is an 8 bit wide bus, with single-ended signals, carried on 50 wires. (If you do not know what @@ -494,13 +494,13 @@ is 40 million transfers per second (40 Mbytes/sec on a 8 bit bus). Most hard drives sold today are single-ended Ultra SCSI (8 or 16 bits).</para> - + <para>Of course the SCSI bus not only has data lines, but also a number of control signals. A very elaborate protocol is part of the standard to allow multiple devices to share the bus in an efficient manner. In SCSI-2, the data is always checked using a separate parity line. In pre-SCSI-2 designs parity was optional.</para> - + <para>In SCSI-3 even faster bus types are introduced, along with a serial SCSI busses that reduces the cabling overhead and allows a higher maximum bus length. You might see names like SSA and @@ -508,7 +508,7 @@ in widespread use (especially not in the typical FreeBSD environment). For this reason the serial bus types are not discussed any further.</para> - + <para>As you could have guessed from the description above, SCSI devices are intelligent. They have to be to adhere to the SCSI standard (which is over 2 inches thick BTW). So, for a hard disk drive for @@ -516,12 +516,12 @@ particular block, but simply the number of the block you want. Elaborate caching schemes, automatic bad block replacement etc are all made possible by this <quote>intelligent device</quote> approach.</para> - + <para>On a SCSI bus, each possible pair of devices can communicate. Whether their function allows this is another matter, but the standard does not restrict it. To avoid signal contention, the 2 devices have to arbitrate for the bus before using it.</para> - + <para>The philosophy of SCSI is to have a standard that allows older-standard devices to work with newer-standard ones. So, an old SCSI-1 device should normally work on a SCSI-2 bus. I say Normally, @@ -530,7 +530,7 @@ new bus. Modern devices are usually more well-behaved, because the standardization has become more strict and is better adhered to by the device manufacturers.</para> - + <para>Generally speaking, the chances of getting a working set of devices on a single bus is better when all the devices are SCSI-2 or newer. This implies that you do not have to dump all your old stuff @@ -541,7 +541,7 @@ devices however. This is especially advantageous if you have an Ultra160 host adapter where you should separate your U160 devices from the Fast and Wide SCSI-2 devices.</para> - + <sect2> <title>Components of SCSI</title> @@ -554,16 +554,16 @@ their hardware particulars. FreeBSD uses this capability during boot to check out what devices are connected and whether they need any special treatment.</para> - + <para>The advantage of intelligent devices is obvious: the device drivers on the host can be made in a much more generic fashion, there is no longer a need to change (and qualify!) drivers for every odd new device that is introduced.</para> - + <para>For cabling and connectors there is a golden rule: get good stuff. With bus speeds going up all the time you will save yourself a lot of grief by using good material.</para> - + <para>So, gold plated connectors, shielded cabling, sturdy connector hoods with strain reliefs etc are the way to go. Second golden rule: do no use cables longer than necessary. I once spent 3 days hunting @@ -571,7 +571,7 @@ the SCSI bus by 1 meter solved the problem. And the original bus length was well within the SCSI specification.</para> </sect2> - + <sect2> <title>SCSI bus types</title> @@ -582,27 +582,27 @@ converter hardware to transform a single-ended bus into a differential one (and vice versa). The differences between the bus types are explained in the next sections.</para> - + <para>In lots of SCSI related documentation there is a sort of jargon in use to abbreviate the different bus types. A small list:</para> - + <itemizedlist> <listitem> <para>FWD: Fast Wide Differential</para> </listitem> - + <listitem> <para>FND: Fast Narrow Differential</para> </listitem> - + <listitem> <para>SE: Single Ended</para> </listitem> - + <listitem> <para>FN: Fast Narrow</para> </listitem> - + <listitem> <para>etc.</para> </listitem> @@ -611,11 +611,11 @@ <para>With a minor amount of imagination one can usually imagine what is meant.</para> - + <para>Wide is a bit ambiguous, it can indicate 16 or 32 bit buses. As far as I know, the 32 bit variant is not (yet) in use, so wide normally means 16 bit.</para> - + <para>Fast means that the timing on the bus is somewhat different, so that on a narrow (8 bit) bus 10 Mbytes/sec are possible instead of 5 Mbytes/sec for <quote>slow</quote> SCSI. As discussed before, bus speeds of 20 @@ -633,7 +633,7 @@ <sect3> <title>Single ended buses</title> - + <para>A single-ended SCSI bus uses signals that are either 5 Volts or 0 Volts (indeed, TTL levels) and are relative to a COMMON ground reference. A singled ended 8 bit SCSI bus has @@ -643,7 +643,7 @@ maximum length allowed drops to 3 meters. Fast-SCSI means that instead of 5Mbytes/sec the bus allows 10Mbytes/sec transfers.</para> - + <para>Fast-20 (Ultra SCSI) and Fast-40 allow for 20 and 40 million transfers/second respectively. So, F20 is 20 Mbytes/second on a 8 bit bus, 40 Mbytes/second on a 16 bit bus etc. For F20 the max @@ -656,16 +656,16 @@ bus must adhere to the length restrictions for fast buses!</para> </note> - + <para>It is obvious that with the newer fast-SCSI devices the bus length can become a real bottleneck. This is why the differential SCSI bus was introduced in the SCSI-2 standard.</para> - + <para>For connector pinning and connector types please refer to the SCSI-2 standard (see <link linkend="scsi-further-reading">Further reading</link>) itself, connectors etc are listed there in painstaking detail.</para> - + <para>Beware of devices using non-standard cabling. For instance Apple uses a 25pin D-type connecter (like the one on serial ports and parallel printers). Considering that the official SCSI bus @@ -678,7 +678,7 @@ <sect3> <title>Differential buses</title> - + <para>A differential SCSI bus has a maximum length of 25 meters. Quite a difference from the 3 meters for a single-ended fast-SCSI bus. The idea behind differential signals is that each bus signal @@ -688,7 +688,7 @@ or de-asserted. To a certain extent the voltage difference between ground and the signal wire pair is not relevant (do not try 10 kVolts though).</para> - + <para>It is beyond the scope of this document to explain why this differential idea is so much better. Just accept that electrically seen the use of differential signals gives a much @@ -696,7 +696,7 @@ use for inter-cabinet connections. Because of the lower cost single ended is mostly used for shorter buses like inside cabinets.</para> - + <para>There is nothing that stops you from using differential stuff with FreeBSD, as long as you use a controller that has device driver support in FreeBSD. As an example, Adaptec marketed the @@ -707,7 +707,7 @@ <sect3> <title>Terminators</title> - + <para>Terminators in SCSI terminology are resistor networks that are used to get a correct impedance matching. Impedance matching is important to get clean signals on the bus, without reflections or @@ -715,7 +715,7 @@ line you probably know what reflections are. With 20Mbytes/sec traveling over your SCSI bus, you do not want signals echoing back.</para> - + <para>Terminators come in various incarnations, with more or less sophisticated designs. Of course, there are internal and external variants. Many SCSI devices come with a number of sockets in @@ -729,7 +729,7 @@ onto a flat cable bus. Others look like external connectors, or a connector hood without a cable. So, lots of choice as you can see.</para> - + <para>There is much debate going on if and when you should switch from simple resistor (passive) terminators to active terminators. Active terminators contain slightly more elaborate circuit to give @@ -738,11 +738,11 @@ buses and/or fast devices. If you ever have problems with your SCSI buses you might consider trying an active terminator. Try to borrow one first, they reputedly are quite expensive.</para> - + <para>Please keep in mind that terminators for differential and single-ended buses are not identical. You should <emphasis>not mix</emphasis> the two variants.</para> - + <para>OK, and now where should you install your terminators? This is by far the most misunderstood part of SCSI. And it is by far the simplest. The rule is: <emphasis>every single line on the SCSI @@ -752,7 +752,7 @@ grief, because wrong termination has the potential to introduce highly mysterious bugs. (Note the <quote>potential</quote> here; the nastiest part is that it may or may not work.)</para> - + <para>A common pitfall is to have an internal (flat) cable in a machine and also an external cable attached to the controller. It seems almost everybody forgets to remove the terminators from the @@ -767,13 +767,13 @@ bits of the bus on the adapter (as well as the last devices on each bus, of course).</para> </note> - + <para>What I did myself is remove all terminators from my SCSI devices and controllers. I own a couple of external terminators, for both the Centronics-type external cabling and for the internal flat cable connectors. This makes reconfiguration much easier.</para> - + <para>On modern devices, sometimes integrated terminators are used. These things are special purpose integrated circuits that can be enabled or disabled with a control pin. It is not necessary to @@ -787,25 +787,25 @@ <sect3> <title>Terminator power</title> - + <para>The terminators discussed in the previous chapter need power to operate properly. On the SCSI bus, a line is dedicated to this purpose. So, simple huh?</para> - + <para>Not so. Each device can provide its own terminator power to the terminator sockets it has on-device. But if you have external terminators, or when the device supplying the terminator power to the SCSI bus line is switched off you are in trouble.</para> - + <para>The idea is that initiators (these are devices that initiate actions on the bus, a discussion follows) must supply terminator power. All SCSI devices are allowed (but not required) to supply terminator power.</para> - + <para>To allow for un-powered devices on a bus, the terminator power must be supplied to the bus via a diode. This prevents the backflow of current to un-powered devices.</para> - + <para>To prevent all kinds of nastiness, the terminator power is usually fused. As you can imagine, fuses might blow. This can, but does not have to, lead to a non functional bus. If multiple @@ -813,18 +813,18 @@ you out of business. A single supplier with a blown fuse certainly will. Clever external terminators sometimes have a LED indication that shows whether terminator power is present.</para> - + <para>In newer designs auto-restoring fuses that <quote>reset</quote> themselves after some time are sometimes used.</para> </sect3> <sect3> <title>Device addressing</title> - + <para>Because the SCSI bus is, ehh, a bus there must be a way to distinguish or address the different devices connected to it.</para> - + <para>This is done by means of the SCSI or target ID. Each device has a unique target ID. You can select the ID to which a device must respond using a set of jumpers, or a dip switch, or something @@ -832,12 +832,12 @@ from the boot menu. (Yet some others will not let you change the ID from 7.) Consult the documentation of your device for more information.</para> - + <para>Beware of multiple devices configured to use the same ID. Chaos normally reigns in this case. A pitfall is that one of the devices sharing the same ID sometimes even manages to answer to I/O requests!</para> - + <para>For an 8 bit bus, a maximum of 8 targets is possible. The maximum is 8 because the selection is done bitwise using the 8 data lines on the bus. For wide buses this increases to the @@ -850,7 +850,7 @@ something higher than 7 (or your CDROM will stop working).</para> </note> - + <para>The higher the SCSI target ID, the higher the priority the devices has. When it comes to arbitration between devices that want to use the bus at the same time, the device that has the @@ -861,7 +861,7 @@ on a wide-SCSI system. (If you are wondering why the lower 8 have higher priority, read the previous paragraph for a hint.)</para> - + <para>For a further subdivision, the standard allows for Logical Units or LUNs for short. A single target ID may have multiple LUNs. For example, a tape device including a tape changer may @@ -869,10 +869,10 @@ changer. In this way, the host system can address each of the functional units of the tape changer as desired.</para> </sect3> - + <sect3> <title>Bus layout</title> - + <para>SCSI buses are linear. So, not shaped like Y-junctions, star topologies, rings, cobwebs or whatever else people might want to invent. One of the most common mistakes is for people with @@ -882,31 +882,31 @@ really lucky, but I can almost guarantee that your system will stop functioning at the most unfortunate moment (this is also known as <quote>Murphy's law</quote>).</para> - + <para>You might notice that the terminator issue discussed earlier becomes rather hairy if your bus is not linear. Also, if you have more connectors than devices on your internal SCSI cable, make sure you attach devices on connectors on both ends instead of using the connectors in the middle and let one or both ends dangle. This will screw up the termination of the bus.</para> - + <para>The electrical characteristics, its noise margins and ultimately the reliability of it all are tightly related to linear bus rule.</para> - + <para><emphasis>Stick to the linear bus rule!</emphasis></para> </sect3> </sect2> - + <sect2> <title>Using SCSI with FreeBSD</title> <sect3> <title>About translations, BIOSes and magic...</title> - + <para>As stated before, you should first make sure that you have a electrically sound bus.</para> - + <para>When you want to use a SCSI disk on your PC as boot disk, you must aware of some quirks related to PC BIOSes. The PC BIOS in its first incarnation used a low level physical interface to the @@ -915,20 +915,20 @@ involved stating number of heads, number of cylinders, number of sectors per track, obscure things like precompensation and reduced write current cylinder etc.</para> - + <para>One might be inclined to think that since SCSI disks are smart you can forget about this. Alas, the arcane setup issue is still present today. The system BIOS needs to know how to access your SCSI disk with the head/cyl/sector method in order to load the FreeBSD kernel during boot.</para> - + <para>The SCSI host adapter or SCSI controller you have put in your AT/EISA/PCI/whatever bus to connect your disk therefore has its own on-board BIOS. During system startup, the SCSI BIOS takes over the hard disk interface routines from the system BIOS. To fool the system BIOS, the system setup is normally set to No hard disk present. Obvious, is it not?</para> - + <para>The SCSI BIOS itself presents to the system a so called <emphasis>translated</emphasis> drive. This means that a fake drive table is constructed that allows the PC to boot the drive. @@ -938,37 +938,37 @@ size. It is useful to note that 32 * 64 / 2 = the size of your drive in megabytes. The division by 2 is to get from disk blocks that are normally 512 bytes in size to Kbytes.</para> - + <para>Right. All is well now?! No, it is not. The system BIOS has another quirk you might run into. The number of cylinders of a bootable hard disk cannot be greater than 1024. Using the translation above, this is a show-stopper for disks greater than 1 GB. With disk capacities going up all the time this is causing problems.</para> - + <para>Fortunately, the solution is simple: just use another translation, e.g. with 128 heads instead of 32. In most cases new SCSI BIOS versions are available to upgrade older SCSI host adapters. Some newer adapters have an option, in the form of a jumper or software setup selection, to switch the translation the SCSI BIOS uses.</para> - + <para>It is very important that <emphasis>all</emphasis> operating systems on the disk use the <emphasis>same translation</emphasis> to get the right idea about where to find the relevant partitions. So, when installing FreeBSD you must answer any questions about heads/cylinders etc using the translated values your host adapter uses.</para> - + <para>Failing to observe the translation issue might lead to un-bootable systems or operating systems overwriting each others partitions. Using fdisk you should be able to see all partitions.</para> - + <para>You might have heard some talk of <quote>lying</quote> devices? Older FreeBSD kernels used to report the geometry of SCSI disks when booting. An example from one of my systems:</para> - + <screen>aha0 targ 0 lun 0: <MICROP 1588-15MB1057404HSP4> da0: 636MB (1303250 total sec), 1632 cyl, 15 head, 53 sec, bytes/sec 512</screen> @@ -977,9 +977,9 @@ <screen>(bt0:0:0): "SEAGATE ST41651 7574" type 0 fixed SCSI 2 da0(bt0:0:0): Direct-Access 1350MB (2766300 512 byte sectors)</screen> - + <para>Why has this changed?</para> - + <para>This info is retrieved from the SCSI disk itself. Newer disks often use a technique called zone bit recording. The idea is that on the outer cylinders of the drive there is more space so more @@ -996,13 +996,13 @@ <sect3> <title>SCSI subsystem design</title> - + <para>FreeBSD uses a layered SCSI subsystem. For each different controller card a device driver is written. This driver knows all the intimate details about the hardware it controls. The driver has a interface to the upper layers of the SCSI subsystem through which it receives its commands and reports back any status.</para> - + <para>On top of the card drivers there are a number of more generic drivers for a class of devices. More specific: a driver for tape devices (abbreviation: sa, for serial access), @@ -1010,7 +1010,7 @@ In case you are wondering where you can find this stuff, it all lives in <filename>/sys/cam/scsi</filename>. See the man pages in section 4 for more details.</para> - + <para>The multi level design allows a decoupling of low-level bit banging and more high level stuff. Adding support for another piece of hardware is a much more manageable problem.</para> @@ -1018,7 +1018,7 @@ <sect3> <title>Kernel configuration</title> - + <para>Dependent on your hardware, the kernel configuration file must contain one or more lines describing your host adapter(s). This includes I/O addresses, interrupts etc. Consult the manual page for @@ -1028,7 +1028,7 @@ possible option you can dream of. It does <emphasis>not</emphasis> imply <filename>LINT</filename> will actually get you to a working kernel at all.</para> - + <para>Although it is probably stating the obvious: the kernel config file should reflect your actual hardware setup. So, interrupts, I/O addresses etc must match the kernel config file. During @@ -1043,11 +1043,11 @@ adapters themselves at boot time; thus, you just need to write, for instance, <literal>controller ahc0</literal>.</para> </note> - + <para>An example loosely based on the FreeBSD 2.2.5-Release kernel config file <filename>LINT</filename> with some added comments (between []):</para> - + <programlisting># SCSI host adapters: `aha', `ahb', `aic', `bt', `nca' # # aha: Adaptec 154x @@ -1084,14 +1084,14 @@ disk da3 at scbus2 target 4 [SCSI disk on the ncr0] tape sa1 at scbus0 target 6 [SCSI tape at target 6] device cd0 at scbus? [the first ever CDROM found, no wiring]</programlisting> - + <para>The example above tells the kernel to look for a ahc (Adaptec 274x) controller, then for an NCR/Symbios board, and so on. The lines following the controller specifications tell the kernel to configure specific devices but <emphasis>only</emphasis> attach them when they match the target ID and LUN specified on the corresponding bus.</para> - + <para>Wired down devices get <quote>first shot</quote> at the unit numbers so the first non <quote>wired down</quote> device, is allocated the unit number one greater than the highest @@ -1109,26 +1109,26 @@ <emphasis>no</emphasis> relationship with its target ID on the SCSI bus.</para> </note> - + <para>Below is another example of a kernel config file as used by FreeBSD version < 2.0.5. The difference with the first example is that devices are not <quote>wired down</quote>. <quote>Wired down</quote> means that you specify which SCSI target belongs to which device.</para> - + <para>A kernel built to the config file below will attach the first SCSI disk it finds to da0, the second disk to da1 etc. If you ever removed or added a disk, all other devices of the same type (disk in this case) would <quote>move around</quote>. This implies you have to change <filename>/etc/fstab</filename> each time.</para> - + <para>Although the old style still works, you are <emphasis>strongly</emphasis> recommended to use this new feature. It will save you a lot of grief whenever you shift your hardware around on the SCSI buses. So, when you re-use your old trusty config file after upgrading from a pre-FreeBSD2.0.5.R system check this out.</para> - + <programlisting>[driver for Adaptec 174x] controller ahb0 at isa? bio irq 11 vector ahbintr @@ -1145,14 +1145,14 @@ [for the CDROM] device cd0 #Only need one of these, the code dynamically grows</programlisting> - + <para>Both examples support SCSI disks. If during boot more devices of a specific type (e.g. da disks) are found than are configured in the booting kernel, the system will simply allocate more devices, incrementing the unit number starting at the last number <quote>wired down</quote>. If there are no <quote>wired down</quote> devices then counting starts at unit 0.</para> - + <para>Use <command>man 4 scsi</command> to check for the latest info on the SCSI subsystem. For more detailed info on host adapter drivers use e.g., <command>man 4 ahc</command> for info on the @@ -1161,19 +1161,19 @@ <sect3> <title>Tuning your SCSI kernel setup</title> - + <para>Experience has shown that some devices are slow to respond to INQUIRY commands after a SCSI bus reset (which happens at boot time). An INQUIRY command is sent by the kernel on boot to see what kind of device (disk, tape, CDROM etc.) is connected to a specific target ID. This process is called device probing by the way.</para> - + <para>To work around the <quote>slow response</quote> problem, FreeBSD allows a tunable delay time before the SCSI devices are probed following a SCSI bus reset. You can set this delay time in your kernel configuration file using a line like:</para> - + <programlisting>options SCSI_DELAY=15 #Be pessimistic about Joe SCSI device</programlisting> <para>This line sets the delay time to 15 seconds. On my own system @@ -1185,29 +1185,29 @@ <sect3 id="scsi-rogue-devices"> <title>Rogue SCSI devices</title> - + <para>Although the SCSI standard tries to be complete and concise, it is a complex standard and implementing things correctly is no easy task. Some vendors do a better job then others.</para> - + <para>This is exactly where the <quote>rogue</quote> devices come into view. Rogues are devices that are recognized by the FreeBSD kernel as behaving slightly (...) non-standard. Rogue devices are reported by the kernel when booting. An example for two of my cartridge tape units:</para> - + <screen>Feb 25 21:03:34 yedi /kernel: ahb0 targ 5 lun 0: <TANDBERG TDC 3600 -06:> Feb 25 21:03:34 yedi /kernel: sa0: Tandberg tdc3600 is a known rogue Mar 29 21:16:37 yedi /kernel: aha0 targ 5 lun 0: <ARCHIVE VIPER 150 21247-005> Mar 29 21:16:37 yedi /kernel: sa1: Archive Viper 150 is a known rogue </screen> - + <para>For instance, there are devices that respond to all LUNs on a certain target ID, even if they are actually only one device. It is easy to see that the kernel might be fooled into believing that there are 8 LUNs at that particular target ID. The confusion this causes is left as an exercise to the reader.</para> - + <para>The SCSI subsystem of FreeBSD recognizes devices with bad habits by looking at the INQUIRY response they send when probed. Because the INQUIRY response also includes the version number of @@ -1216,12 +1216,12 @@ <filename>/sys/cam/scsi/scsi_sa.c</filename> and <filename>/sys/cam/scsi/scsi_all.c</filename> for more info on how this is done.</para> - + <para>This scheme works fine, but keep in mind that it of course only works for devices that are known to be weird. If you are the first to connect your bogus Mumbletech SCSI CDROM you might be the one that has to define which workaround is needed.</para> - + <para>After you got your Mumbletech working, please send the required workaround to the FreeBSD development team for inclusion in the next release of FreeBSD. Other Mumbletech owners will be @@ -1230,18 +1230,18 @@ <sect3> <title>Multiple LUN devices</title> - + <para>In some cases you come across devices that use multiple logical units (LUNs) on a single SCSI ID. In most cases FreeBSD only probes devices for LUN 0. An example are so called bridge boards that connect 2 non-SCSI hard disks to a SCSI bus (e.g. an Emulex MD21 found in old Sun systems).</para> - + <para>This means that any devices with LUNs != 0 are not normally found during device probe on system boot. To work around this problem you must add an appropriate entry in /sys/cam/scsi and rebuild your kernel.</para> - + <para>Look for a struct that is initialized like below: (FIXME: which file? Do these entries still exist in this form now that we use CAM?)</para> @@ -1250,16 +1250,16 @@ T_DIRECT, T_FIXED, "MAXTOR", "XT-4170S", "B5A", "mx1", SC_ONE_LU }</programlisting> - + <para>For your Mumbletech BRIDGE2000 that has more than one LUN, acts as a SCSI disk and has firmware revision 123 you would add something like:</para> - + <programlisting>{ T_DIRECT, T_FIXED, "MUMBLETECH", "BRIDGE2000", "123", "da", SC_MORE_LUS }</programlisting> - + <para>The kernel on boot scans the inquiry data it receives against the table and acts accordingly. See the source for more info.</para> @@ -1267,10 +1267,10 @@ <sect3> <title>Tagged command queuing</title> - + <para>Modern SCSI devices, particularly magnetic disks, support what is called tagged command queuing (TCQ).</para> - + <para>In a nutshell, TCQ allows the device to have multiple I/O requests outstanding at the same time. Because the device is intelligent, it can optimize its operations (like head @@ -1278,12 +1278,12 @@ like RAID (Redundant Array of Independent Disks) arrays the TCQ function is indispensable to take advantage of the device's inherent parallelism.</para> - + <para>Each I/O request is uniquely identified by a <quote>tag</quote> (hence the name tagged command queuing) and this tag is used by FreeBSD to see which I/O in the device drivers queue is reported as complete by the device.</para> - + <para>It should be noted however that TCQ requires device driver support and that some devices implemented it <quote>not quite right</quote> in their firmware. This problem bit me once, and it @@ -1293,84 +1293,84 @@ <sect3> <title>Bus-master host adapters</title> - + <para>Most, but not all, SCSI host adapters are bus mastering controllers. This means that they can do I/O on their own without putting load onto the host CPU for data movement.</para> - + <para>This is of course an advantage for a multitasking operating system like FreeBSD. It must be noted however that there might be some rough edges.</para> - + <para>For instance an Adaptec 1542 controller can be set to use different transfer speeds on the host bus (ISA or AT in this case). The controller is settable to different rates because not all motherboards can handle the higher speeds. Problems like hang-ups, bad data etc might be the result of using a higher data transfer rate then your motherboard can stomach.</para> - + <para>The solution is of course obvious: switch to a lower data transfer rate and try if that works better.</para> - + <para>In the case of a Adaptec 1542, there is an option that can be put into the kernel config file to allow dynamic determination of the right, read: fastest feasible, transfer rate. This option is disabled by default:</para> - + <programlisting>options "TUNE_1542" #dynamic tune of bus DMA speed</programlisting> - + <para>Check the manual pages for the host adapter that you use. Or better still, use the ultimate documentation (read: driver source).</para> </sect3> </sect2> - + <sect2> <title>Tracking down problems</title> <para>The following list is an attempt to give a guideline for the most common SCSI problems and their solutions. It is by no means complete.</para> - + <itemizedlist> <listitem> <para>Check for loose connectors and cables.</para> </listitem> - + <listitem> <para>Check and double check the location and number of your terminators.</para> </listitem> - + <listitem> <para>Check if your bus has at least one supplier of terminator power (especially with external terminators.</para> </listitem> - + <listitem> <para>Check if no double target IDs are used.</para> </listitem> - + <listitem> <para>Check if all devices to be used are powered up.</para> </listitem> - + <listitem> <para>Make a minimal bus config with as little devices as possible.</para> </listitem> - + <listitem> <para>If possible, configure your host adapter to use slow bus speeds.</para> </listitem> - + <listitem> <para>Disable tagged command queuing to make things as simple as possible (for a NCR host adapter based system see man ncrcontrol)</para> </listitem> - + <listitem> <para>If you can compile a kernel, make one with the <literal>SCSIDEBUG</literal> option, and try accessing the @@ -1388,16 +1388,16 @@ </listitem> </itemizedlist> </sect2> - + <sect2 id="scsi-further-reading"> <title>Further reading</title> <para>If you intend to do some serious SCSI hacking, you might want to have the official standard at hand:</para> - + <para>Approved American National Standards can be purchased from ANSI at - + <address> <otheraddr>13th Floor</otheraddr> <street>11 West 42nd Street</street> @@ -1424,7 +1424,7 @@ <para>Many X3T10 draft documents are available electronically on the SCSI BBS (719-574-0424) and on the <hostid role="fqdn">ncrinfo.ncr.com</hostid> anonymous FTP site.</para> - + <para>Latest X3T10 committee documents are:</para> <itemizedlist> @@ -1432,22 +1432,22 @@ <para>AT Attachment (ATA or IDE) [X3.221-1994] (<emphasis>Approved</emphasis>)</para> </listitem> - + <listitem> <para>ATA Extensions (ATA-2) [X3T10/948D Rev 2i]</para> </listitem> - + <listitem> <para>Enhanced Small Device Interface (ESDI) [X3.170-1990/X3.170a-1991] (<emphasis>Approved</emphasis>)</para> </listitem> - + <listitem> <para>Small Computer System Interface — 2 (SCSI-2) [X3.131-1994] (<emphasis>Approved</emphasis>)</para> </listitem> - + <listitem> <para>SCSI-2 Common Access Method Transport and SCSI Interface Module (CAM) [X3T10/792D Rev 11]</para> @@ -1464,33 +1464,33 @@ Prentice Hall, Englewood Cliffs, NJ, 07632 Phone: (201) 767-5937 ISBN 0-13-796855-8</para> </listitem> - + <listitem> <para><quote>Basics of SCSI</quote>, a SCSI tutorial written by Ancot Corporation Contact Ancot for availability information at: Phone: (415) 322-5322 Fax: (415) 322-0455</para> </listitem> - + <listitem> <para><quote>SCSI Interconnection Guide Book</quote>, an AMP publication (dated 4/93, Catalog 65237) that lists the various SCSI connectors and suggests cabling schemes. Available from AMP at (800) 522-6752 or (717) 564-0100</para> </listitem> - + <listitem> <para><quote>Fast Track to SCSI</quote>, A Product Guide written by Fujitsu. Available from: Prentice Hall, Englewood Cliffs, NJ, 07632 Phone: (201) 767-5937 ISBN 0-13-307000-X</para> </listitem> - + <listitem> <para><quote>The SCSI Bench Reference</quote>, <quote>The SCSI Encyclopedia</quote>, and the <quote>SCSI Tutor</quote>, ENDL Publications, 14426 Black Walnut Court, Saratoga CA, 95070 Phone: (408) 867-6642</para> </listitem> - + <listitem> <para><quote>Zadian SCSI Navigator</quote> (quick ref. book) and <quote>Discover the Power of SCSI</quote> (First book along with @@ -1511,38 +1511,38 @@ information about the devices you own.</para> </sect2> </sect1> - + <sect1 id="hw-storage-controllers"> <title>* Disk/tape controllers</title> - + <sect2> <title>* SCSI</title> <para></para> </sect2> - + <sect2> <title>* IDE</title> <para></para> </sect2> - + <sect2> <title>* Floppy</title> <para></para> </sect2> </sect1> - + <sect1> <title>Hard drives</title> - + <sect2> <title>SCSI hard drives</title> <para><emphasis>Contributed by &a.asami;. 17 February 1998.</emphasis></para> - + <para>As mentioned in the <link linkend="scsi">SCSI</link> section, virtually all SCSI hard drives sold today are SCSI-2 compliant and thus will work fine as long as you connect them to a supported SCSI @@ -1556,7 +1556,7 @@ <sect3> <title>Rotational speed</title> - + <para>Rotational speeds of SCSI drives sold today range from around 4,500RPM to 15,000RPM. Most of them are either 7,200RPM or 10,000RPM, with 15,000RPM becoming affordable (June 2002). @@ -1565,7 +1565,7 @@ counterparts. A large fraction of today's disk drive malfunctions are heat-related. If you do not have very good cooling in your PC case, you may want to stick with 7,200RPM or slower drives.</para> - + <para>Note that newer drives, with higher areal recording densities, can deliver much more bits per rotation than older ones. Today's top-of-line 7,200RPM drives can sustain a throughput comparable to @@ -1574,13 +1574,13 @@ (or transfer) rate</quote>. It is usually in megabits/sec so divide it by 8 and you will get the rough approximation of how much megabytes/sec you can get out of the drive.</para> - + <para>(If you are a speed maniac and want a 15,000RPM drive for your cute little PC, be my guest; however, those drives become extremely hot. Do not even think about it if you do not have a fan blowing air <emphasis>directly at</emphasis> the drive or a properly ventilated disk enclosure.)</para> - + <para>Obviously, the latest 15,000RPM drives and 10,000RPM drives can deliver more data than the latest 7,200RPM drives, so if absolute bandwidth is the necessity for your applications, you have little @@ -1599,7 +1599,7 @@ similar or even better results by using the ccd (concatenated disk) driver to create a striped disk array out of multiple slower drives for comparable overall cost.</para> - + <para>Make sure you have adequate air flow around the drive, especially if you are going to use a fast-spinning drive. You generally need at least 1/2” (1.25cm) of spacing above and below a @@ -1608,7 +1608,7 @@ where the air flows in, and put the drive where it will have the largest volume of cool air flowing around it. You may need to seal some unwanted holes or add a new fan for effective cooling.</para> - + <para>Another consideration is noise. Many 10,000 or faster drives generate a high-pitched whine which is quite unpleasant to most people. That, plus the extra fans often required for cooling, may @@ -1618,7 +1618,7 @@ <sect3> <title>Form factor</title> - + <para>Most SCSI drives sold today are of 3.5” form factor. They come in two different heights; 1.6” (<quote>half-height</quote>) or 1” (<quote>low-profile</quote>). The half-height drive is the same @@ -1630,7 +1630,7 @@ <sect3> <title>Interface</title> - + <para>The majority of SCSI hard drives sold today are Ultra, Ultra-wide, or Ultra160 SCSI. As of this writing (June 2002), the first Ultra320 host adapters and devices become available. @@ -1642,7 +1642,7 @@ bus integrity problems. Unless you have a well-designed disk enclosure, it is not easy to make more than 5 or 6 Ultra SCSI drives work on a single bus.</para> - + <para>On the other hand, if you need to connect many drives, going for Fast-wide SCSI may not be a bad idea. That will have the same max bandwidth as Ultra (narrow) SCSI, while electronically it is @@ -1652,7 +1652,7 @@ cost a little more but it may save you down the road. (Besides, if you can not afford the cost difference, you should not be building a disk array.)</para> - + <para>There are two variant of wide SCSI drives; 68-pin and 80-pin SCA (Single Connector Attach). The SCA drives do not have a separate 4-pin power connector, and also read the SCSI ID settings @@ -1668,20 +1668,20 @@ LED lines).</para> </sect3> </sect2> - + <sect2> <title>* IDE hard drives</title> <para></para> </sect2> </sect1> - + <sect1> <title>Tape drives</title> - + <para><emphasis>Contributed by &a.jmb;. 2 July 1996.</emphasis></para> - + <sect2> <title>General tape access commands</title> @@ -1690,7 +1690,7 @@ <command>erase</command>, and <command>status</command>. See the &man.mt.1; manual page for a detailed description.</para> </sect2> - + <sect2> <title>Controller Interfaces</title> @@ -1701,7 +1701,7 @@ linkend="hw-storage-controllers">Disk/tape controllers</link>.</para> </sect2> - + <sect2> <title>SCSI drives</title> @@ -1718,150 +1718,150 @@ <sect3> <title>4mm (DAT: Digital Audio Tape)</title> - + <para><link linkend="hw-storage-python-28454">Archive Python 28454</link></para> <para><link linkend="hw-storage-python-04687">Archive Python 04687</link></para> - + <para><link linkend="hw-storage-hp1533a">HP C1533A</link></para> - + <para><link linkend="hw-storage-hp1534a">HP C1534A</link></para> - + <para><link linkend="hw-storage-hp35450a">HP 35450A</link></para> - + <para><link linkend="hw-storage-hp35470a">HP 35470A</link></para> - + <para><link linkend="hw-storage-hp35480a">HP 35480A</link></para> - + <para><link linkend="hw-storage-sdt5000">SDT-5000</link></para> - + <para><link linkend="hw-storage-wangtek6200">Wangtek 6200</link></para> </sect3> <sect3> <title>8mm (Exabyte)</title> - + <para><link linkend="hw-storage-exb8200">EXB-8200</link></para> - + <para><link linkend="hw-storage-exb8500">EXB-8500</link></para> - + <para><link linkend="hw-storage-exb8505">EXB-8505</link></para> </sect3> <sect3> <title>QIC (Quarter-Inch Cartridge)</title> - + <para><link linkend="hw-storage-anaconda">Archive Anaconda 2750</link></para> - + <para><link linkend="hw-storage-viper60">Archive Viper 60</link></para> - + <para><link linkend="hw-storage-viper150">Archive Viper 150</link></para> - + <para><link linkend="hw-storage-viper2525">Archive Viper 2525</link></para> - + <para><link linkend="hw-storage-tandberg3600">Tandberg TDC 3600</link></para> <para><link linkend="hw-storage-tandberg3620">Tandberg TDC 3620</link></para> - + <para><link linkend="hw-storage-tandberg3800">Tandberg TDC 3800</link></para> - + <para><link linkend="hw-storage-tandberg4222">Tandberg TDC 4222</link></para> - + <para><link linkend="hw-storage-wangtek5525es">Wangtek 5525ES</link></para> </sect3> <sect3> <title>DLT (Digital Linear Tape)</title> - + <para><link linkend="hw-storage-dectz87">Digital TZ87</link></para> </sect3> <sect3> <title>Mini-Cartridge</title> - + <para><link linkend="hw-storage-ctms3200">Conner CTMS 3200</link></para> - + <para><link linkend="hw-storage-exb2501">Exabyte 2501</link></para> </sect3> <sect3> <title>Autoloaders/Changers</title> - + <para><link linkend="hw-storage-hp1553a">Hewlett-Packard HP C1553A Autoloading DDS2</link></para> </sect3> </sect2> - + <sect2> <title>* IDE drives</title> <para></para> </sect2> - + <sect2> <title>Floppy drives</title> <para><link linkend="hw-storage-conner420r">Conner 420R</link></para> </sect2> - + <sect2> <title>* Parallel port drives</title> <para></para> </sect2> - + <sect2> <title>Detailed Information</title> <sect3 id="hw-storage-anaconda"> <title>Archive Anaconda 2750</title> - + <para>The boot message identifier for this drive is <literal>ARCHIVE ANCDA 2750 28077 -003 type 1 removable SCSI 2</literal></para> - + <para>This is a QIC tape drive.</para> - + <para>Native capacity is 1.35GB when using QIC-1350 tapes. This drive will read and write QIC-150 (DC6150), QIC-250 (DC6250), and QIC-525 (DC6525) tapes as well.</para> - + <para>Data transfer rate is 350kB/s using &man.dump.8;. Rates of 530kB/s have been reported when using Amanda</para> <para>Production of this drive has been discontinued.</para> - + <para>The SCSI bus connector on this tape drive is reversed from that on most other SCSI devices. Make sure that you have enough SCSI cable to twist the cable one-half turn before and after the Archive Anaconda tape drive, or turn your other SCSI devices upside-down.</para> - + <para>Two kernel code changes are required to use this drive. This drive will not work as delivered.</para> - + <para>If you have a SCSI-2 controller, short jumper 6. Otherwise, the drive behaves are a SCSI-1 device. When operating as a SCSI-1 device, this drive, <quote>locks</quote> the SCSI bus during some tape operations, including: fsf, rewind, and rewoffl.</para> - + <para>If you are using the NCR SCSI controllers, patch the file <filename>/usr/src/sys/pci/ncr.c</filename> (as shown below). Build and install a new kernel.</para> - + <programlisting>*** 4831,4835 **** }; @@ -1874,29 +1874,29 @@ ! if (np->latetime>1200) { /* ** Although we tried to wake it up,</programlisting> - + <para>Reported by: &a.jmb;</para> </sect3> <sect3 id="hw-storage-python-28454"> <title>Archive Python 28454</title> - + <para>The boot message identifier for this drive is <literal>ARCHIVE Python 28454-XXX4ASB</literal> <literal>type 1 removable SCSI 2</literal> <literal>density code 0x8c, 512-byte blocks</literal></para> - + <para>This is a DDS-1 tape drive.</para> - + <para>Native capacity is 2.5GB on 90m tapes.</para> - + <para>Data transfer rate is XXX.</para> - + <para>This drive was repackaged by Sun Microsystems as model 595-3067.</para> - + <para>Reported by: Bob Bishop <email>rb@gid.co.uk</email></para> - + <para>Throughput is in the 1.5 MByte/sec range, however this will drop if the disks and tape drive are on the same SCSI controller.</para> @@ -1908,7 +1908,7 @@ <sect3 id="hw-storage-python-04687"> <title>Archive Python 04687</title> - <para>The boot message identifier for this drive is <literal>ARCHIVE + <para>The boot message identifier for this drive is <literal>ARCHIVE Python 04687-XXX 6580</literal> <literal>Removable Sequential Access SCSI-2 device</literal></para> @@ -1923,7 +1923,7 @@ <para>Parity is controlled by switch 5. Switch 5 <emphasis>on</emphasis> to enable parity control. Compression is - enabled with Switch 6 <emphasis>off</emphasis>. It is possible to + enabled with Switch 6 <emphasis>off</emphasis>. It is possible to override compression with the <literal>SCSI MODE SELECT</literal> command (see &man.mt.1;).</para> @@ -1932,117 +1932,117 @@ <sect3 id="hw-storage-viper60"> <title>Archive Viper 60</title> - + <para>The boot message identifier for this drive is <literal>ARCHIVE VIPER 60 21116 -007</literal> <literal>type 1 removable SCSI 1</literal></para> - + <para>This is a QIC tape drive.</para> - + <para>Native capacity is 60MB.</para> - + <para>Data transfer rate is XXX.</para> - + <para>Production of this drive has been discontinued.</para> - + <para>Reported by: Philippe Regnauld <email>regnauld@hsc.fr</email></para> </sect3> <sect3 id="hw-storage-viper150"> <title>Archive Viper 150</title> - + <para>The boot message identifier for this drive is <literal>ARCHIVE VIPER 150 21531 -004</literal> <literal>Archive Viper 150 is a known rogue</literal> <literal>type 1 removable SCSI 1</literal>. A multitude of firmware revisions exist for this drive. Your drive may report different numbers (e.g <literal>21247 -005</literal>.</para> - + <para>This is a QIC tape drive.</para> - + <para>Native capacity is 150/250MB. Both 150MB (DC6150) and 250MB (DC6250) tapes have the recording format. The 250MB tapes are approximately 67% longer than the 150MB tapes. This drive can read 120MB tapes as well. It can not write 120MB tapes.</para> - + <para>Data transfer rate is 100kB/s</para> - + <para>This drive reads and writes DC6150 (150MB) and DC6250 (250MB) tapes.</para> - + <para>This drives quirks are known and pre-compiled into the SCSI tape device driver (&man.st.4;).</para> - + <para>Under FreeBSD 2.2-CURRENT, use <command>mt blocksize 512</command> to set the blocksize. (The particular drive had firmware revision 21247 -005. Other firmware revisions may behave differently) Previous versions of FreeBSD did not have this problem.</para> - + <para>Production of this drive has been discontinued.</para> - + <para>Reported by: Pedro A M Vazquez <email>vazquez@IQM.Unicamp.BR</email></para> - + <para>&a.msmith;</para> </sect3> - + <sect3 id="hw-storage-viper2525"> <title>Archive Viper 2525</title> - + <para>The boot message identifier for this drive is <literal>ARCHIVE VIPER 2525 25462 -011</literal> <literal>type 1 removable SCSI 1</literal></para> - + <para>This is a QIC tape drive.</para> - + <para>Native capacity is 525MB.</para> - + <para>Data transfer rate is 180kB/s at 90 inches/sec.</para> - + <para>The drive reads QIC-525, QIC-150, QIC-120 and QIC-24 tapes. Writes QIC-525, QIC-150, and QIC-120.</para> - + <para>Firmware revisions prior to <literal>25462 -011</literal> are bug ridden and will not function properly.</para> - + <para>Production of this drive has been discontinued.</para> </sect3> <sect3 id="hw-storage-conner420r"> <title>Conner 420R</title> - + <para>The boot message identifier for this drive is <literal>Conner tape</literal>.</para> - + <para>This is a floppy controller, mini cartridge tape drive.</para> - + <para>Native capacity is XXXX</para> - + <para>Data transfer rate is XXX</para> - + <para>The drive uses QIC-80 tape cartridges.</para> - + <para>Reported by: Mark Hannon <email>mark@seeware.DIALix.oz.au</email></para> </sect3> <sect3 id="hw-storage-ctms3200"> <title>Conner CTMS 3200</title> - + <para>The boot message identifier for this drive is <literal>CONNER CTMS 3200 7.00</literal> <literal>type 1 removable SCSI 2</literal>.</para> - + <para>This is a mini cartridge tape drive.</para> - + <para>Native capacity is XXXX</para> - + <para>Data transfer rate is XXX</para> - + <para>The drive uses QIC-3080 tape cartridges.</para> - + <para>Reported by: Thomas S. Traylor <email>tst@titan.cs.mci.com</email></para> </sect3> @@ -2050,156 +2050,156 @@ <sect3 id="hw-storage-dectz87"> <title><ulink url="http://www.digital.com/info/Customer-Update/931206004.txt.html">DEC TZ87</ulink></title> - + <para>The boot message identifier for this drive is <literal>DEC TZ87 (C) DEC 9206</literal> <literal>type 1 removable SCSI 2</literal> <literal>density code 0x19</literal></para> - + <para>This is a DLT tape drive.</para> - + <para>Native capacity is 10GB.</para> - + <para>This drive supports hardware data compression.</para> - + <para>Data transfer rate is 1.2MB/s.</para> - + <para>This drive is identical to the Quantum DLT2000. The drive firmware can be set to emulate several well-known drives, including an Exabyte 8mm drive.</para> - + <para>Reported by: &a.wilko;</para> </sect3> <sect3 id="hw-storage-exb2501"> <title><ulink url="http://www.Exabyte.COM:80/Products/Minicartridge/2501/Rfeatures.html">Exabyte EXB-2501</ulink></title> - + <para>The boot message identifier for this drive is <literal>EXABYTE EXB-2501</literal></para> - + <para>This is a mini-cartridge tape drive.</para> - + <para>Native capacity is 1GB when using MC3000XL mini cartridges.</para> - + <para>Data transfer rate is XXX</para> - + <para>This drive can read and write DC2300 (550MB), DC2750 (750MB), MC3000 (750MB), and MC3000XL (1GB) mini cartridges.</para> - + <para>WARNING: This drive does not meet the SCSI-2 specifications. The drive locks up completely in response to a SCSI MODE_SELECT command unless there is a formatted tape in the drive. Before using this drive, set the tape blocksize with</para> - + <screen>&prompt.root; <userinput>mt -f /dev/st0ctl.0 blocksize 1024</userinput></screen> - + <para>Before using a mini cartridge for the first time, the mini cartridge must be formated. FreeBSD 2.1.0-RELEASE and earlier:</para> - + <screen>&prompt.root; <userinput>/sbin/scsi -f /dev/rst0.ctl -s 600 -c "4 0 0 0 0 0"</userinput></screen> - + <para>(Alternatively, fetch a copy of the <command>scsiformat</command> shell script from FreeBSD 2.1.5/2.2.) FreeBSD 2.1.5 and later:</para> - + <screen>&prompt.root; <userinput>/sbin/scsiformat -q -w /dev/rst0.ctl</userinput></screen> - + <para>Right now, this drive cannot really be recommended for FreeBSD.</para> - + <para>Reported by: Bob Beaulieu <email>ez@eztravel.com</email></para> </sect3> <sect3 id="hw-storage-exb8200"> <title>Exabyte EXB-8200</title> - + <para>The boot message identifier for this drive is <literal>EXABYTE EXB-8200 252X</literal> <literal>type 1 removable SCSI 1</literal></para> - + <para>This is an 8mm tape drive.</para> - + <para>Native capacity is 2.3GB.</para> - + <para>Data transfer rate is 270kB/s.</para> - + <para>This drive is fairly slow in responding to the SCSI bus during boot. A custom kernel may be required (set SCSI_DELAY to 10 seconds).</para> - + <para>There are a large number of firmware configurations for this drive, some have been customized to a particular vendor's hardware. The firmware can be changed via EPROM replacement.</para> - + <para>Production of this drive has been discontinued.</para> - + <para>Reported by: &a.msmith;</para> </sect3> <sect3 id="hw-storage-exb8500"> <title>Exabyte EXB-8500</title> - + <para>The boot message identifier for this drive is <literal>EXABYTE EXB-8500-85Qanx0 0415</literal> <literal>type 1 removable SCSI 2</literal></para> - + <para>This is an 8mm tape drive.</para> - + <para>Native capacity is 5GB.</para> - + <para>Data transfer rate is 300kB/s.</para> - + <para>Reported by: Greg Lehey <email>grog@lemis.de</email></para> </sect3> <sect3 id="hw-storage-exb8505"> <title><ulink url="http://www.Exabyte.COM:80/Products/8mm/8505XL/Rfeatures.html">Exabyte EXB-8505</ulink></title> - + <para>The boot message identifier for this drive is <literal>EXABYTE EXB-85058SQANXR1 05B0</literal> <literal>type 1 removable SCSI 2</literal></para> - + <para>This is an 8mm tape drive which supports compression, and is upward compatible with the EXB-5200 and EXB-8500.</para> - + <para>Native capacity is 5GB.</para> - + <para>The drive supports hardware data compression.</para> - + <para>Data transfer rate is 300kB/s.</para> - + <para>Reported by: Glen Foster <email>gfoster@gfoster.com</email></para> </sect3> <sect3 id="hw-storage-hp1533a"> <title>Hewlett-Packard HP C1533A</title> - + <para>The boot message identifier for this drive is <literal>HP C1533A 9503</literal> <literal>type 1 removable SCSI 2</literal>.</para> - + <para>This is a DDS-2 tape drive. DDS-2 means hardware data compression and narrower tracks for increased data capacity.</para> - + <para>Native capacity is 4GB when using 120m tapes. This drive supports hardware data compression.</para> - + <para>Data transfer rate is 510kB/s.</para> - + <para>This drive is used in Hewlett-Packard's SureStore 6000eU and 6000i tape drives and C1533A DDS-2 DAT drive.</para> - + <para>The drive has a block of 8 dip switches. The proper settings for FreeBSD are: 1 ON; 2 ON; 3 OFF; 4 ON; 5 ON; 6 ON; 7 ON; 8 ON.</para> - + <informaltable frame="none"> <tgroup cols="3"> <thead> @@ -2209,7 +2209,7 @@ <entry>Result</entry> </row> </thead> - + <tbody> <row> <entry>On</entry> @@ -2217,21 +2217,21 @@ <entry>Compression enabled at power-on, with host control</entry> </row> - + <row> <entry>On</entry> <entry>Off</entry> <entry>Compression enabled at power-on, no host control</entry> </row> - + <row> <entry>Off</entry> <entry>On</entry> <entry>Compression disabled at power-on, with host control</entry> </row> - + <row> <entry>Off</entry> <entry>Off</entry> @@ -2241,46 +2241,46 @@ </tbody> </tgroup> </informaltable> - + <para>Switch 3 controls MRS (Media Recognition System). MRS tapes have stripes on the transparent leader. These identify the tape as DDS (Digital Data Storage) grade media. Tapes that do not have the stripes will be treated as write-protected. Switch 3 OFF enables MRS. Switch 3 ON disables MRS.</para> - + <para>See <ulink url="http://www.hp.com/tape/c_intro.html">HP SureStore Tape Products</ulink> and <ulink url="http://www.impediment.com/hp/hp_technical.html">Hewlett-Packard Disk and Tape Technical Information</ulink> for more information on configuring this drive.</para> - + <para><emphasis>Warning:</emphasis> Quality control on these drives varies greatly. One FreeBSD core-team member has returned 2 of these drives. Neither lasted more than 5 months.</para> - + <para>Reported by: &a.se;</para> </sect3> <sect3 id="hw-storage-hp1534a"> <title>Hewlett-Packard HP 1534A</title> - + <para>The boot message identifier for this drive is <literal>HP HP35470A T503</literal> <literal>type 1 removable SCSI 2</literal> <literal>Sequential-Access density code 0x13, variable blocks</literal>.</para> - + <para>This is a DDS-1 tape drive. DDS-1 is the original DAT tape format.</para> - + <para>Native capacity is 2GB when using 90m tapes.</para> - + <para>Data transfer rate is 183kB/s.</para> - + <para>The same mechanism is used in Hewlett-Packard's SureStore <ulink url="http://www.dmo.hp.com/tape/sst2000.htm">2000i</ulink> tape drive, C35470A DDS format DAT drive, C1534A DDS format DAT drive and HP C1536A DDS format DAT drive.</para> - + <para>The HP C1534A DDS format DAT drive has two indicator lights, one green and one amber. The green one indicates tape action: slow flash during load, steady when loaded, fast flash during @@ -2288,40 +2288,40 @@ flash when cleaning is required or tape is nearing the end of its useful life, steady indicates an hard fault. (factory service required?)</para> - + <para>Reported by Gary Crutcher <email>gcrutchr@nightflight.com</email></para> </sect3> <sect3 id="hw-storage-hp1553a"> <title>Hewlett-Packard HP C1553A Autoloading DDS2</title> - + <para>The boot message identifier for this drive is "".</para> - + <para>This is a DDS-2 tape drive with a tape changer. DDS-2 means hardware data compression and narrower tracks for increased data capacity.</para> - + <para>Native capacity is 24GB when using 120m tapes. This drive supports hardware data compression.</para> - + <para>Data transfer rate is 510kB/s (native).</para> - + <para>This drive is used in Hewlett-Packard's SureStore <ulink url="http://www.dmo.hp.com/tape/sst12000.htm">12000e</ulink> tape drive.</para> - + <para>The drive has two selectors on the rear panel. The selector closer to the fan is SCSI id. The other selector should be set to 7.</para> - + <para>There are four internal switches. These should be set: 1 ON; 2 ON; 3 ON; 4 OFF.</para> - + <para>At present the kernel drivers do not automatically change tapes at the end of a volume. This shell script can be used to change tapes:</para> - + <programlisting>#!/bin/sh PATH="/sbin:/usr/sbin:/bin:/usr/bin"; export PATH @@ -2362,80 +2362,80 @@ <sect3 id="hw-storage-hp35450a"> <title>Hewlett-Packard HP 35450A</title> - + <para>The boot message identifier for this drive is <literal>HP HP35450A -A C620</literal> <literal>type 1 removable SCSI 2</literal> <literal>Sequential-Access density code 0x13</literal></para> - + <para>This is a DDS-1 tape drive. DDS-1 is the original DAT tape format.</para> - + <para>Native capacity is 1.2GB.</para> - + <para>Data transfer rate is 160kB/s.</para> - + <para>Reported by: Mark Thompson <email>mark.a.thompson@pobox.com</email></para> </sect3> <sect3 id="hw-storage-hp35470a"> <title>Hewlett-Packard HP 35470A</title> - + <para>The boot message identifier for this drive is <literal>HP HP35470A 9 09</literal> <literal>type 1 removable SCSI 2</literal></para> - + <para>This is a DDS-1 tape drive. DDS-1 is the original DAT tape format.</para> - + <para>Native capacity is 2GB when using 90m tapes.</para> - + <para>Data transfer rate is 183kB/s.</para> - + <para>The same mechanism is used in Hewlett-Packard's SureStore <ulink url="http://www.dmo.hp.com/tape/sst2000.htm">2000i</ulink> tape drive, C35470A DDS format DAT drive, C1534A DDS format DAT drive, and HP C1536A DDS format DAT drive.</para> - + <para><emphasis>Warning:</emphasis> Quality control on these drives varies greatly. One FreeBSD core-team member has returned 5 of these drives. None lasted more than 9 months.</para> - + <para>Reported by: David Dawes <email>dawes@rf900.physics.usyd.edu.au</email> (9 09)</para> - + </sect3> <sect3 id="hw-storage-hp35480a"> <title>Hewlett-Packard HP 35480A</title> - + <para>The boot message identifier for this drive is <literal>HP HP35480A 1009</literal> <literal>type 1 removable SCSI 2</literal> <literal>Sequential-Access density code 0x13</literal>.</para> - + <para>This is a DDS-DC tape drive. DDS-DC is DDS-1 with hardware data compression. DDS-1 is the original DAT tape format.</para> - + <para>Native capacity is 2GB when using 90m tapes. It cannot handle 120m tapes. This drive supports hardware data compression. Please refer to the section on <link linkend="hw-storage-hp1533a">HP C1533A</link> for the proper switch settings.</para> - + <para>Data transfer rate is 183kB/s.</para> - + <para>This drive is used in Hewlett-Packard's SureStore <ulink url="http://www.dmo.hp.com/tape/sst5000.htm">5000eU</ulink> and <ulink url="http://www.dmo.hp.com/tape/sst5000.htm">5000i</ulink> tape drives and C35480A DDS format DAT drive..</para> - + <para>This drive will occasionally hang during a tape eject operation (<command>mt offline</command>). Pressing the front panel button will eject the tape and bring the tape drive back to life.</para> - + <para>WARNING: HP 35480-03110 only. On at least two occasions this tape drive when used with FreeBSD 2.1.0, an IBM Server 320 and an 2940W SCSI controller resulted in all SCSI disk partitions being @@ -2446,68 +2446,68 @@ <sect3 id="hw-storage-sdt5000"> <title><ulink url="http://www.sel.sony.com/SEL/ccpg/storage/tape/t5000.html">Sony SDT-5000</ulink></title> - + <para>There are at least two significantly different models: one is a DDS-1 and the other DDS-2. The DDS-1 version is <literal>SDT-5000 3.02</literal>. The DDS-2 version is <literal>SONY SDT-5000 327M</literal>. The DDS-2 version has a 1MB cache. This cache is able to keep the tape streaming in almost any circumstances.</para> - + <para>The boot message identifier for this drive is <literal>SONY SDT-5000 3.02</literal> <literal>type 1 removable SCSI 2</literal> <literal>Sequential-Access density code 0x13</literal></para> - + <para>Native capacity is 4GB when using 120m tapes. This drive supports hardware data compression.</para> - + <para>Data transfer rate is depends upon the model or the drive. The rate is 630kB/s for the <literal>SONY SDT-5000 327M</literal> while compressing the data. For the <literal>SONY SDT-5000 3.02</literal>, the data transfer rate is 225kB/s.</para> - + <para>In order to get this drive to stream, set the blocksize to 512 bytes (<command>mt blocksize 512</command>) reported by Kenneth Merry <email>ken@ulc199.residence.gatech.edu</email>.</para> - + <para><literal>SONY SDT-5000 327M</literal> information reported by Charles Henrich <email>henrich@msu.edu</email>.</para> - + <para>Reported by: &a.jmz;</para> </sect3> <sect3 id="hw-storage-tandberg3600"> <title>Tandberg TDC 3600</title> - + <para>The boot message identifier for this drive is <literal>TANDBERG TDC 3600 =08:</literal> <literal>type 1 removable SCSI 2</literal></para> - + <para>This is a QIC tape drive.</para> - + <para>Native capacity is 150/250MB.</para> - + <para>This drive has quirks which are known and work around code is present in the SCSI tape device driver (&man.st.4;). Upgrading the firmware to XXX version will fix the quirks and provide SCSI 2 capabilities.</para> - + <para>Data transfer rate is 80kB/s.</para> - + <para>IBM and Emerald units will not work. Replacing the firmware EPROM of these units will solve the problem.</para> - + <para>Reported by: &a.msmith;</para> </sect3> <sect3 id="hw-storage-tandberg3620"> <title>Tandberg TDC 3620</title> - + <para>This is very similar to the <link linkend="hw-storage-tandberg3600">Tandberg TDC 3600</link> drive.</para> - + <para>Reported by: &a.joerg;</para> </sect3> @@ -2517,56 +2517,56 @@ <para>The boot message identifier for this drive is <literal>TANDBERG TDC 3800 =04Y</literal> <literal>Removable Sequential Access SCSI-2 device</literal></para> - + <para>This is a QIC tape drive.</para> - + <para>Native capacity is 525MB.</para> - + <para>Reported by: &a.jhs;</para> </sect3> <sect3 id="hw-storage-tandberg4222"> <title>Tandberg TDC 4222</title> - + <para>The boot message identifier for this drive is <literal>TANDBERG TDC 4222 =07</literal> <literal>type 1 removable SCSI 2</literal></para> - + <para>This is a QIC tape drive.</para> - + <para>Native capacity is 2.5GB. The drive will read all cartridges from the 60 MB (DC600A) upwards, and write 150 MB (DC6150) upwards. Hardware compression is optionally supported for the 2.5 GB cartridges.</para> - + <para>This drives quirks are known and pre-compiled into the SCSI tape device driver (&man.st.4;) beginning with FreeBSD 2.2-CURRENT. For previous versions of FreeBSD, use <command>mt</command> to read one block from the tape, rewind the tape, and then execute the backup program (<command>mt fsr 1; mt rewind; dump ...</command>)</para> - + <para>Data transfer rate is 600kB/s (vendor claim with compression), 350 KB/s can even be reached in start/stop mode. The rate decreases for smaller cartridges.</para> - + <para>Reported by: &a.joerg;</para> </sect3> <sect3 id="hw-storage-wangtek5525es"> <title>Wangtek 5525ES</title> - + <para>The boot message identifier for this drive is <literal>WANGTEK 5525ES SCSI REV7 3R1</literal> <literal>type 1 removable SCSI 1</literal> <literal>density code 0x11, 1024-byte blocks</literal></para> - + <para>This is a QIC tape drive.</para> - + <para>Native capacity is 525MB.</para> - + <para>Data transfer rate is 180kB/s.</para> - + <para>The drive reads 60, 120, 150, and 525MB tapes. The drive will not write 60MB (DC600 cartridge) tapes. In order to overwrite 120 and 150 tapes reliably, first erase (<command>mt erase</command>) @@ -2575,13 +2575,13 @@ previous tracks is not overwritten, as a result the new data lies in a band surrounded on both sides by the previous data unless the tape have been erased.</para> - + <para>This drives quirks are known and pre-compiled into the SCSI tape device driver (&man.st.4;).</para> - + <para>Other firmware revisions that are known to work are: M75D</para> - + <para>Reported by: Marc van Kempen <email>marc@bowtie.nl</email> <literal>REV73R1</literal> Andrew Gordon <email>Andrew.Gordon@net-tel.co.uk</email> @@ -2590,35 +2590,35 @@ <sect3 id="hw-storage-wangtek6200"> <title>Wangtek 6200</title> - + <para>The boot message identifier for this drive is <literal>WANGTEK 6200-HS 4B18</literal> <literal>type 1 removable SCSI 2</literal> <literal>Sequential-Access density code 0x13</literal></para> - + <para>This is a DDS-1 tape drive.</para> - + <para>Native capacity is 2GB using 90m tapes.</para> - + <para>Data transfer rate is 150kB/s.</para> - + <para>Reported by: Tony Kimball <email>alk@Think.COM</email></para> </sect3> </sect2> - + <sect2> <title>* Problem drives</title> <para></para> </sect2> </sect1> - + <sect1> <title>CDROM drives</title> - + <para><emphasis>Contributed by &a.obrien;. 23 November 1997.</emphasis></para> - + <para>Generally speaking those in <emphasis>The FreeBSD Project</emphasis> prefer SCSI CDROM drives over IDE CDROM drives. However not all SCSI CDROM drives are equal. Some @@ -2628,7 +2628,7 @@ found displeasure with the 12x speed XM-5701TA as its volume (when playing audio CDROMs) is not controllable by the various audio player software.</para> - + <para>Another area where SCSI CDROM manufacturers are cutting corners is adherence to the <link linkend="scsi-further-reading">SCSI specification</link>. Many SCSI CDROMs will respond to <link Index: en_US.ISO8859-1/articles//vinum/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/vinum/article.sgml,v retrieving revision 1.12 diff -u -r1.12 article.sgml --- en_US.ISO8859-1/articles//vinum/article.sgml 25 Mar 2003 14:58:11 -0000 1.12 +++ en_US.ISO8859-1/articles//vinum/article.sgml 14 Jun 2003 12:38:51 -0000 @@ -544,7 +544,7 @@ performance disk server at a very reasonable cost.</para> <para>However, you can indeed get started with - <application>Vinum</application> very simply. + <application>Vinum</application> very simply. A minimum system can be as simple as an old CPU (even a 486 is fine) and a pair of drives that are 500 MB or more. They need not be the same size or @@ -586,7 +586,7 @@ for the server against available resources and make design tradeoffs. We will plan the transition from no - <application>Vinum</application> to + <application>Vinum</application> to <application>Vinum</application> on just one spindle, to <application>Vinum</application> on two spindles.</para> @@ -1067,7 +1067,7 @@ allocations as described above in <xref linkend=AssignSmall>. For this example on a 2 GB spindle, I will use 200,000 blocks for root, 200,265 blocks for swap, - 1,000,000 blocks for <filename>/home</filename>, and + 1,000,000 blocks for <filename>/home</filename>, and the rest of the spindle (2,724,408 blocks) for <filename>/usr</filename>. (<command>/stand/sysinstall</command> @@ -1231,7 +1231,7 @@ <step> <para>We now need to install new spindle partitioning for <devicename>/dev/ad0</devicename>. - This requires that + This requires that <devicename>/dev/ad0s1b</devicename> not be in use for swapping so we have to reboot in single-user mode.</para> @@ -1567,7 +1567,7 @@ <application>Vinum</application> may automatically avoid failed hardware in a way that users do not notice. - You must watch for such failures and get them repaired before a + You must watch for such failures and get them repaired before a second failure results in data loss. You may see <application>Vinum</application> noting damaged objects @@ -1602,7 +1602,7 @@ sd name hope.p0.s0 drive UpWindow plex hope.p0 len 0</programlisting> <note> - <para>Specifying a length of <literal>0</literal> for + <para>Specifying a length of <literal>0</literal> for the <filename>hope.p0.s0</filename> subdisk asks <application>Vinum</application> to use whatever space is left available on the underlying @@ -1664,7 +1664,7 @@ For each scenario, there is a subsection on how to configure your server for degraded mode operation, how to recover from the failure, how to exit degraded mode, and how to simulate the failure.</para> - + <tip> <para>Make a hard copy of these instructions and leave them inside the CPU case, being careful not to interfere with ventilation.</para></tip> @@ -1804,7 +1804,7 @@ <title>Simulation</title> <para>This kind of failure can be simulated by shutting down to - single-user mode and then booting as shown above in + single-user mode and then booting as shown above in <xref linkend=enter1>.</para> </section> </section> @@ -1868,7 +1868,7 @@ <procedure> <para>We assume here that your server is up and running multi-user in - degraded mode on just + degraded mode on just <devicename>/dev/ad0</devicename> and that you have a new spindle now on <devicename>/dev/ad2</devicename> ready to go.</para> Index: en_US.ISO8859-1/articles//vm-design/article.sgml =================================================================== RCS file: /u/cvs/cvs/doc/en_US.ISO8859-1/articles/vm-design/article.sgml,v retrieving revision 1.11 diff -u -r1.11 article.sgml --- en_US.ISO8859-1/articles//vm-design/article.sgml 3 Jul 2002 23:19:12 -0000 1.11 +++ en_US.ISO8859-1/articles//vm-design/article.sgml 14 Jun 2003 12:39:01 -0000 @@ -42,7 +42,7 @@ </abstract> <legalnotice> - <para>This article was originally published in the January 2000 issue of + <para>This article was originally published in the January 2000 issue of <ulink url="http://www.daemonnews.org/">DaemonNews</ulink>. This version of the article may include updates from Matt and other authors to reflect changes in FreeBSD's VM implementation.</para> @@ -165,7 +165,7 @@ <imageobject> <imagedata fileref="fig1" format="EPS"> </imageobject> - + <textobject> <literallayout class="monospaced">+---------------+ | A | @@ -207,7 +207,7 @@ <imageobject> <imagedata fileref="fig3" format="EPS"> </imageobject> - + <textobject> <literallayout class="monospaced">+-------+-------+ | C1 | C2 | @@ -627,7 +627,7 @@ cache queue counts and high active queue counts when doing a <command>systat -vm</command> command.</para> </blockquote> - + <para>How is the separation of clean and dirty (inactive) pages related to the situation where you see low cache queue counts and high active queue counts in <command>systat -vm</command>? Do the --- articles.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200306141245.h5ECj5T6001700>