- Whitespace cleanup. Translators can ignore this change.

This commit is contained in:
Gabor Kovesdan 2008-05-06 13:30:05 +00:00
parent 65c67b4a45
commit d929cdd3d9
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=31964

View file

@ -11,6 +11,7 @@
<title>Synopsis</title> <title>Synopsis</title>
<indexterm><primary>serial communications</primary></indexterm> <indexterm><primary>serial communications</primary></indexterm>
<para>&unix; has always had support for serial communications. In fact, <para>&unix; has always had support for serial communications. In fact,
the very first &unix; machines relied on serial lines for user input the very first &unix; machines relied on serial lines for user input
and output. Things have changed a lot from the days when the average and output. Things have changed a lot from the days when the average
@ -19,25 +20,41 @@
which FreeBSD uses serial communications.</para> which FreeBSD uses serial communications.</para>
<para>After reading this chapter, you will know:</para> <para>After reading this chapter, you will know:</para>
<itemizedlist> <itemizedlist>
<listitem><para>How to connect terminals to your FreeBSD <listitem>
system.</para></listitem> <para>How to connect terminals to your FreeBSD
<listitem><para>How to use a modem to dial out to remote system.</para>
hosts.</para></listitem> </listitem>
<listitem><para>How to allow remote users to login to your <listitem>
system with a modem.</para></listitem> <para>How to use a modem to dial out to remote
<listitem><para>How to boot your system from a serial hosts.</para>
console.</para></listitem> </listitem>
<listitem>
<para>How to allow remote users to login to your
system with a modem.</para>
</listitem>
<listitem>
<para>How to boot your system from a serial console.</para>
</listitem>
</itemizedlist> </itemizedlist>
<para>Before reading this chapter, you should:</para> <para>Before reading this chapter, you should:</para>
<itemizedlist> <itemizedlist>
<listitem><para>Know how to configure and install a new kernel (<xref <listitem>
linkend="kernelconfig">).</para></listitem> <para>Know how to configure and install a new kernel (<xref
<listitem><para>Understand &unix; permissions and processes (<xref linkend="basics">).</para></listitem> linkend="kernelconfig">).</para>
<listitem><para>Have access to the technical manual for the </listitem>
serial hardware (modem or multi-port card) that you would like <listitem>
to use with FreeBSD.</para></listitem> <para>Understand &unix; permissions and processes (<xref
linkend="basics">).</para>
</listitem>
<listitem>
<para>Have access to the technical manual for the serial hardware
(modem or multi-port card) that you would like to use with
FreeBSD.</para>
</listitem>
</itemizedlist> </itemizedlist>
</sect1> </sect1>
@ -72,7 +89,7 @@
<term>DCE</term> <term>DCE</term>
<indexterm><primary>DCE</primary></indexterm> <indexterm><primary>DCE</primary></indexterm>
<listitem> <listitem>
<para>Data Communications Equipment &mdash; your modem</para> <para>Data Communications Equipment &mdash; your modem</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -97,8 +114,8 @@
<title>Cables and Ports</title> <title>Cables and Ports</title>
<para>To connect a modem or terminal to your FreeBSD system, you <para>To connect a modem or terminal to your FreeBSD system, you
will need a serial port on your computer and the proper cable to connect will need a serial port on your computer and the proper cable to
to your serial device. If you are already familiar with your connect to your serial device. If you are already familiar with your
hardware and the cable it requires, you can safely skip this hardware and the cable it requires, you can safely skip this
section.</para> section.</para>
@ -107,8 +124,8 @@
<para>There are several different kinds of serial cables. The <para>There are several different kinds of serial cables. The
two most common types for our purposes are null-modem cables two most common types for our purposes are null-modem cables
and standard (<quote>straight</quote>) RS-232 cables. The documentation and standard (<quote>straight</quote>) RS-232 cables. The
for your hardware should describe the type of cable documentation for your hardware should describe the type of cable
required.</para> required.</para>
<sect4 id="term-cables-null"> <sect4 id="term-cables-null">
@ -117,19 +134,22 @@
<indexterm> <indexterm>
<primary>null-modem cable</primary> <primary>null-modem cable</primary>
</indexterm> </indexterm>
<para>A null-modem cable passes some signals, such as <quote>Signal
Ground</quote>, straight through, but switches other signals. For <para>A null-modem cable passes some signals, such as
example, the <quote>Transmitted Data</quote> pin on one end goes to the <quote>Signal Ground</quote>, straight through, but switches other
<quote>Received Data</quote> pin on the other end.</para> signals. For example, the <quote>Transmitted Data</quote> pin on
one end goes to the <quote>Received Data</quote> pin on the other
end.</para>
<para>You can also construct your own null-modem cable for use with <para>You can also construct your own null-modem cable for use with
terminals (e.g., for quality purposes). This table shows the RS-232C terminals (e.g., for quality purposes). This table shows the
<link linkend="serialcomms-signal-names">signals</link> and the pin RS-232C <link linkend="serialcomms-signal-names">signals</link>
numbers on a DB-25 connector. Note that the standard also calls for a and the pin numbers on a DB-25 connector. Note that the standard
straight-through pin 1 to pin 1 <emphasis>Protective Ground</emphasis> also calls for a straight-through pin 1 to pin 1
line, but it is often omitted. Some terminals work OK using only <emphasis>Protective Ground</emphasis> line, but it is often
pins 2, 3 and 7, while others require different configurations than omitted. Some terminals work OK using only pins 2, 3 and 7,
the examples shown below.</para> while others require different configurations than the examples
shown below.</para>
<table frame="none" pgwide="1"> <table frame="none" pgwide="1">
<title>DB-25 to DB-25 Null-Modem Cable</title> <title>DB-25 to DB-25 Null-Modem Cable</title>
@ -421,11 +441,11 @@
<indexterm><primary>RS-232C cables</primary></indexterm> <indexterm><primary>RS-232C cables</primary></indexterm>
<para>A standard serial cable passes all of the RS-232C signals <para>A standard serial cable passes all of the RS-232C signals
straight through. That is, the <quote>Transmitted Data</quote> pin on one straight through. That is, the <quote>Transmitted Data</quote>
end of the cable goes to the <quote>Transmitted Data</quote> pin on the pin on one end of the cable goes to the
other end. This is the type of cable to use to connect a modem to your <quote>Transmitted Data</quote> pin on the other end. This is
FreeBSD system, and is also appropriate for some the type of cable to use to connect a modem to your FreeBSD
terminals.</para> system, and is also appropriate for some terminals.</para>
</sect4> </sect4>
</sect3> </sect3>
@ -445,8 +465,8 @@
your terminal and on the FreeBSD system.</para> your terminal and on the FreeBSD system.</para>
<para>Most terminals will have DB-25 ports. Personal computers, <para>Most terminals will have DB-25 ports. Personal computers,
including PCs running FreeBSD, will have DB-25 or DB-9 ports. If you including PCs running FreeBSD, will have DB-25 or DB-9 ports. If
have a multiport serial card for your PC, you may have RJ-12 or you have a multiport serial card for your PC, you may have RJ-12 or
RJ-45 ports.</para> RJ-45 ports.</para>
<para>See the documentation that accompanied the hardware for <para>See the documentation that accompanied the hardware for
@ -770,9 +790,9 @@ sio3: type 16550A</screen>
<note> <note>
<para>Note that device numbers in &os; start from zero and not <para>Note that device numbers in &os; start from zero and not
one (like they do, for instance in &ms-dos;-derived systems). one (like they do, for instance in &ms-dos;-derived systems).
This means that what &ms-dos;-based systems This means that what &ms-dos;-based systems call
call <devicename>COM1</devicename> is <devicename>COM1</devicename> is usually
usually <filename>/dev/cuad0</filename> in &os;.</para> <filename>/dev/cuad0</filename> in &os;.</para>
</note> </note>
<note> <note>
@ -864,11 +884,11 @@ sio3: type 16550A</screen>
<para>The <filename>/etc/ttys</filename> file lists all of the ports <para>The <filename>/etc/ttys</filename> file lists all of the ports
on your FreeBSD system where you want to allow logins. For example, on your FreeBSD system where you want to allow logins. For example,
the first virtual console <devicename>ttyv0</devicename> has an entry in the first virtual console <devicename>ttyv0</devicename> has an entry
this file. You can log in on the console using this entry. This in this file. You can log in on the console using this entry. This
file also contains entries for the other virtual consoles, serial ports, file also contains entries for the other virtual consoles, serial
and pseudo-ttys. For a hardwired terminal, just list the serial ports, and pseudo-ttys. For a hardwired terminal, just list the
port's <filename>/dev</filename> entry without the serial port's <filename>/dev</filename> entry without the
<filename>/dev</filename> part (for example, <filename>/dev</filename> part (for example,
<filename>/dev/ttyv0</filename> would be listed as <filename>/dev/ttyv0</filename> would be listed as
<devicename>ttyv0</devicename>).</para> <devicename>ttyv0</devicename>).</para>
@ -907,8 +927,8 @@ ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure
the terminal special file as it is found in the terminal special file as it is found in
<filename>/dev</filename>.</para> <filename>/dev</filename>.</para>
</callout> </callout>
<callout arearefs="co-ttys-line1col2">
<callout arearefs="co-ttys-line1col2">
<para>The second field is the command to execute for <para>The second field is the command to execute for
this line, which is usually &man.getty.8;. this line, which is usually &man.getty.8;.
<command>getty</command> initializes and opens the <command>getty</command> initializes and opens the
@ -940,13 +960,11 @@ ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure
match.</para> match.</para>
<para>For our example, the Wyse-50 uses no parity and <para>For our example, the Wyse-50 uses no parity and
connects at 38400&nbsp;bps. The 286&nbsp;PC uses no parity and connects at 38400&nbsp;bps. The 286&nbsp;PC uses no parity
connects at 19200&nbsp;bps.</para> and connects at 19200&nbsp;bps.</para>
</callout> </callout>
<callout arearefs="co-ttys-line1col3"> <callout arearefs="co-ttys-line1col3">
<para>The third field is the type of terminal usually <para>The third field is the type of terminal usually
connected to that tty line. For dial-up ports, connected to that tty line. For dial-up ports,
<literal>unknown</literal> or <literal>unknown</literal> or
@ -961,7 +979,6 @@ ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure
terminal type while the 286 PC running terminal type while the 286 PC running
<application>Procomm</application> will be set to <application>Procomm</application> will be set to
emulate at VT-100. </para> emulate at VT-100. </para>
</callout> </callout>
<callout arearefs="co-ttys-line1col4"> <callout arearefs="co-ttys-line1col4">
@ -1097,7 +1114,8 @@ ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure
</sect3> </sect3>
<sect3> <sect3>
<title>Characters Appear Doubled; the Password Appears When Typed</title> <title>Characters Appear Doubled; the Password Appears When
Typed</title>
<para>Switch the terminal (or the terminal emulation software) <para>Switch the terminal (or the terminal emulation software)
from <quote>half duplex</quote> or <quote>local echo</quote> to from <quote>half duplex</quote> or <quote>local echo</quote> to
@ -1214,8 +1232,8 @@ ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure
<para>FreeBSD needs the <acronym>RTS</acronym> and <para>FreeBSD needs the <acronym>RTS</acronym> and
<acronym>CTS</acronym> signals for flow control at speeds above <acronym>CTS</acronym> signals for flow control at speeds above
2400&nbsp;bps, the <acronym>CD</acronym> signal to detect when a call has 2400&nbsp;bps, the <acronym>CD</acronym> signal to detect when a
been answered or the line has been hung up, and the call has been answered or the line has been hung up, and the
<acronym>DTR</acronym> signal to reset the modem after a session is <acronym>DTR</acronym> signal to reset the modem after a session is
complete. Some cables are wired without all of the needed signals, complete. Some cables are wired without all of the needed signals,
so if you have problems, such as a login session not going away when so if you have problems, such as a login session not going away when
@ -1297,23 +1315,23 @@ ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure
Lastly, you can place port initialization commands in the Lastly, you can place port initialization commands in the
<filename>/etc/rc.d/serial</filename> script.</para> <filename>/etc/rc.d/serial</filename> script.</para>
<para>There are two schools of thought regarding dial-up modems on &unix;. <para>There are two schools of thought regarding dial-up modems on
One group likes to configure their modems and systems so that no matter &unix;. One group likes to configure their modems and systems so that
at what speed a remote user dials in, the local computer-to-modem no matter at what speed a remote user dials in, the local
RS-232 interface runs at a locked speed. The benefit of this computer-to-modem RS-232 interface runs at a locked speed. The benefit
configuration is that the remote user always sees a system login of this configuration is that the remote user always sees a system
prompt immediately. The downside is that the system does not know login prompt immediately. The downside is that the system does not
what a user's true data rate is, so full-screen programs like Emacs know what a user's true data rate is, so full-screen programs like
will not adjust their screen-painting methods to make their response Emacs will not adjust their screen-painting
better for slower connections.</para> methods to make their response better for slower connections.</para>
<para>The other school configures their modems' RS-232 interface to vary <para>The other school configures their modems' RS-232 interface to vary
its speed based on the remote user's connection speed. For example, its speed based on the remote user's connection speed. For example,
V.32bis (14.4&nbsp;Kbps) connections to the modem might make the modem run V.32bis (14.4&nbsp;Kbps) connections to the modem might make the modem
its RS-232 interface at 19.2&nbsp;Kbps, while 2400&nbsp;bps connections make the run its RS-232 interface at 19.2&nbsp;Kbps, while 2400&nbsp;bps
modem's RS-232 interface run at 2400&nbsp;bps. Because connections make the modem's RS-232 interface run at 2400&nbsp;bps.
<command>getty</command> does not understand any particular modem's Because <command>getty</command> does not understand any particular
connection speed reporting, <command>getty</command> gives a modem's connection speed reporting, <command>getty</command> gives a
<prompt>login:</prompt> message at an initial speed and watches the <prompt>login:</prompt> message at an initial speed and watches the
characters that come back in response. If the user sees junk, it is characters that come back in response. If the user sees junk, it is
assumed that they know they should press the assumed that they know they should press the
@ -1391,19 +1409,21 @@ uq|V19200|High Speed Modem at 19200,8-bit:\
<para>This will result in 8-bit, no parity connections.</para> <para>This will result in 8-bit, no parity connections.</para>
<para>The example above starts the communications rate at 19.2&nbsp;Kbps <para>The example above starts the communications rate at
(for a V.32bis connection), then cycles through 9600&nbsp;bps (for 19.2&nbsp;Kbps (for a V.32bis connection), then cycles through
V.32), 2400&nbsp;bps, 1200&nbsp;bps, 300&nbsp;bps, and back to 19.2&nbsp;Kbps. 9600&nbsp;bps (for V.32), 2400&nbsp;bps, 1200&nbsp;bps,
Communications rate cycling is implemented with the 300&nbsp;bps, and back to 19.2&nbsp;Kbps. Communications rate
<literal>nx=</literal> (<quote>next table</quote>) capability. cycling is implemented with the <literal>nx=</literal>
Each of the lines uses a <literal>tc=</literal> (<quote>table (<quote>next table</quote>) capability. Each of the lines uses
continuation</quote>) entry to pick up the rest of the a <literal>tc=</literal> (<quote>table continuation</quote>)
<quote>standard</quote> settings for a particular data rate.</para> entry to pick up the rest of the <quote>standard</quote>
settings for a particular data rate.</para>
<para>If you have a 28.8&nbsp;Kbps modem and/or you want to take <para>If you have a 28.8&nbsp;Kbps modem and/or you want to take
advantage of compression on a 14.4&nbsp;Kbps modem, you need to use a advantage of compression on a 14.4&nbsp;Kbps modem, you need to
higher communications rate than 19.2&nbsp;Kbps. Here is an example of use a higher communications rate than 19.2&nbsp;Kbps. Here is an
a <filename>gettytab</filename> entry starting a 57.6&nbsp;Kbps:</para> example of a <filename>gettytab</filename> entry starting a
57.6&nbsp;Kbps:</para>
<programlisting># <programlisting>#
# Additions for a V.32bis or V.34 Modem # Additions for a V.32bis or V.34 Modem
@ -1486,8 +1506,8 @@ vq|VH57600|Very High Speed Modem at 57600,8-bit:\
<para>For a locked-speed configuration, your <para>For a locked-speed configuration, your
<filename>ttys</filename> entry needs to have a fixed-speed entry <filename>ttys</filename> entry needs to have a fixed-speed entry
provided to <command>getty</command>. For a modem whose port provided to <command>getty</command>. For a modem whose port
speed is locked at 19.2&nbsp;Kbps, the <filename>ttys</filename> entry speed is locked at 19.2&nbsp;Kbps, the <filename>ttys</filename>
might look like this:</para> entry might look like this:</para>
<programlisting>ttyd0 "/usr/libexec/getty std.19200" dialup on</programlisting> <programlisting>ttyd0 "/usr/libexec/getty std.19200" dialup on</programlisting>
@ -1507,8 +1527,8 @@ vq|VH57600|Very High Speed Modem at 57600,8-bit:\
beginning <quote>auto-baud</quote> (sic) entry in beginning <quote>auto-baud</quote> (sic) entry in
<filename>/etc/gettytab</filename>. For example, if you added the <filename>/etc/gettytab</filename>. For example, if you added the
above suggested entry for a matching-speed modem that starts at above suggested entry for a matching-speed modem that starts at
19.2&nbsp;Kbps (the <filename>gettytab</filename> entry containing the 19.2&nbsp;Kbps (the <filename>gettytab</filename> entry containing
<literal>V19200</literal> starting point), your the <literal>V19200</literal> starting point), your
<filename>ttys</filename> entry might look like this:</para> <filename>ttys</filename> entry might look like this:</para>
<programlisting>ttyd0 "/usr/libexec/getty V19200" dialup on</programlisting> <programlisting>ttyd0 "/usr/libexec/getty V19200" dialup on</programlisting>
@ -1546,10 +1566,11 @@ stty -f /dev/cuad1.init crtscts</programlisting>
<para>If you have a modem whose parameters may be permanently set in <para>If you have a modem whose parameters may be permanently set in
non-volatile RAM, you will need to use a terminal program (such as non-volatile RAM, you will need to use a terminal program (such as
Telix under &ms-dos; or <command>tip</command> under FreeBSD) to set the Telix under &ms-dos; or
parameters. Connect to the modem using the same communications speed <command>tip</command> under FreeBSD) to set the parameters. Connect
as the initial speed <command>getty</command> will use and configure to the modem using the same communications speed as the initial speed
the modem's non-volatile RAM to match these requirements:</para> <command>getty</command> will use and configure the modem's
non-volatile RAM to match these requirements:</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
@ -1596,9 +1617,9 @@ AT&amp;C1&amp;D2&amp;H1&amp;I0&amp;R2&amp;W</programlisting>
settings in the modem, such as whether it will use V.42bis and/or MNP5 settings in the modem, such as whether it will use V.42bis and/or MNP5
compression.</para> compression.</para>
<para>The &usrobotics; &sportster; 14,400 external modem also has some DIP switches <para>The &usrobotics; &sportster; 14,400 external modem also has some
that need to be set; for other modems, perhaps you can use these DIP switches that need to be set; for other modems, perhaps you can
settings as an example:</para> use these settings as an example:</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
@ -1647,9 +1668,9 @@ AT&amp;C1&amp;D2&amp;H1&amp;I0&amp;R2&amp;W</programlisting>
<para>For a locked-speed configuration, you will need to configure the <para>For a locked-speed configuration, you will need to configure the
modem to maintain a constant modem-to-computer data rate independent modem to maintain a constant modem-to-computer data rate independent
of the communications rate. On a &usrobotics; &sportster; 14,400 external of the communications rate. On a &usrobotics; &sportster; 14,400
modem, these commands will lock the modem-to-computer data rate at external modem, these commands will lock the modem-to-computer data
the speed used to issue the commands:</para> rate at the speed used to issue the commands:</para>
<programlisting>ATZ <programlisting>ATZ
AT&amp;B1&amp;W</programlisting> AT&amp;B1&amp;W</programlisting>
@ -1660,10 +1681,10 @@ AT&amp;B1&amp;W</programlisting>
<para>For a variable-speed configuration, you will need to configure <para>For a variable-speed configuration, you will need to configure
your modem to adjust its serial port data rate to match the incoming your modem to adjust its serial port data rate to match the incoming
call rate. On a &usrobotics; &sportster; 14,400 external modem, these commands call rate. On a &usrobotics; &sportster; 14,400 external modem,
will lock the modem's error-corrected data rate to the speed used to these commands will lock the modem's error-corrected data rate to the
issue the commands, but allow the serial port rate to vary for speed used to issue the commands, but allow the serial port rate to
non-error-corrected connections:</para> vary for non-error-corrected connections:</para>
<programlisting>ATZ <programlisting>ATZ
AT&amp;B2&amp;W</programlisting> AT&amp;B2&amp;W</programlisting>
@ -1809,8 +1830,8 @@ AT&amp;B2&amp;W</programlisting>
<sect2> <sect2>
<title>My Stock Hayes Modem Is Not Supported, What Can I Do?</title> <title>My Stock Hayes Modem Is Not Supported, What Can I Do?</title>
<para>Actually, the manual page for <command>tip</command> is out of date. <para>Actually, the manual page for <command>tip</command> is out of
There is a generic Hayes dialer already built in. Just use date. There is a generic Hayes dialer already built in. Just use
<literal>at=hayes</literal> in your <filename>/etc/remote</filename> <literal>at=hayes</literal> in your <filename>/etc/remote</filename>
file.</para> file.</para>
@ -1914,17 +1935,17 @@ tip57600|Dial any phone number at 57600 bps:\
<literal>cu1200</literal>, but go ahead and use whatever bps rate is <literal>cu1200</literal>, but go ahead and use whatever bps rate is
appropriate with the br capability. <command>tip</command> thinks a appropriate with the br capability. <command>tip</command> thinks a
good default is 1200&nbsp;bps which is why it looks for a good default is 1200&nbsp;bps which is why it looks for a
<literal>tip1200</literal> entry. You do not have to use 1200&nbsp;bps, <literal>tip1200</literal> entry. You do not have to use
though.</para> 1200&nbsp;bps, though.</para>
</sect2> </sect2>
<sect2> <sect2>
<title>I Access a Number of Hosts Through a Terminal Server</title> <title>I Access a Number of Hosts Through a Terminal Server</title>
<para>Rather than waiting until you are connected and typing <para>Rather than waiting until you are connected and typing
<command>CONNECT <replaceable>host</replaceable></command> each time, use tip's <command>CONNECT <replaceable>host</replaceable></command> each time,
<literal>cm</literal> capability. For example, these entries in use tip's <literal>cm</literal> capability. For example, these entries
<filename>/etc/remote</filename>:</para> in <filename>/etc/remote</filename>:</para>
<programlisting>pain|pain.deep13.com|Forrester's machine:\ <programlisting>pain|pain.deep13.com|Forrester's machine:\
:cm=CONNECT pain\n:tc=deep13: :cm=CONNECT pain\n:tc=deep13:
@ -1934,8 +1955,9 @@ deep13:Gizmonics Institute terminal server:\
:dv=/dev/cuad2:br#38400:at=hayes:du:pa=none:pn=5551234:</programlisting> :dv=/dev/cuad2:br#38400:at=hayes:du:pa=none:pn=5551234:</programlisting>
<para>will let you type <command>tip pain</command> or <command>tip <para>will let you type <command>tip pain</command> or <command>tip
muffin</command> to connect to the hosts <hostid>pain</hostid> or <hostid>muffin</hostid>, and muffin</command> to connect to the hosts <hostid>pain</hostid> or
<command>tip deep13</command> to get to the terminal server.</para> <hostid>muffin</hostid>, and <command>tip deep13</command> to get to
the terminal server.</para>
</sect2> </sect2>
<sect2> <sect2>
@ -1979,7 +2001,8 @@ big-university 5551114</programlisting>
</keycombo> </keycombo>
Once?</title> Once?</title>
<para><keycombo action="simul"><keycap>Ctrl</keycap><keycap>P</keycap></keycombo> is the default <quote>force</quote> character, used to tell <para><keycombo action="simul"><keycap>Ctrl</keycap><keycap>P</keycap></keycombo>
is the default <quote>force</quote> character, used to tell
<command>tip</command> that the next character is literal data. You <command>tip</command> that the next character is literal data. You
can set the force character to any other character with the can set the force character to any other character with the
<command>~s</command> escape, which means <quote>set a <command>~s</command> escape, which means <quote>set a
@ -2007,8 +2030,8 @@ big-university 5551114</programlisting>
servers.</para> servers.</para>
<para>You can have the force character be whatever you want by <para>You can have the force character be whatever you want by
specifying the following in your <filename>&#36;HOME/.tiprc</filename> specifying the following in your
file:</para> <filename>&#36;HOME/.tiprc</filename> file:</para>
<programlisting>force=<replaceable>single-char</replaceable></programlisting> <programlisting>force=<replaceable>single-char</replaceable></programlisting>
</sect2> </sect2>
@ -2116,9 +2139,9 @@ raisechar=^^</programlisting>
attached, and developers who want to debug the kernel or device attached, and developers who want to debug the kernel or device
drivers.</para> drivers.</para>
<para>As described in <xref linkend="boot">, FreeBSD employs a three stage <para>As described in <xref linkend="boot">, FreeBSD employs a three
bootstrap. The first two stages are in the boot block code which is stage bootstrap. The first two stages are in the boot block code which
stored at the beginning of the FreeBSD slice on the boot disk. The is stored at the beginning of the FreeBSD slice on the boot disk. The
boot block will then load and run the boot loader boot block will then load and run the boot loader
(<filename>/boot/loader</filename>) as the third stage code.</para> (<filename>/boot/loader</filename>) as the third stage code.</para>
@ -2137,8 +2160,8 @@ raisechar=^^</programlisting>
<procedure> <procedure>
<step> <step>
<para>Connect the serial cable to <devicename>COM1</devicename> and the controlling <para>Connect the serial cable to <devicename>COM1</devicename> and
terminal.</para> the controlling terminal.</para>
</step> </step>
<step> <step>
@ -2151,8 +2174,8 @@ raisechar=^^</programlisting>
<para>Edit <filename>/etc/ttys</filename> and change <para>Edit <filename>/etc/ttys</filename> and change
<literal>off</literal> to <literal>on</literal> and <literal>off</literal> to <literal>on</literal> and
<literal>dialup</literal> to <literal>vt100</literal> for the <literal>dialup</literal> to <literal>vt100</literal> for the
<devicename>ttyd0</devicename> entry. Otherwise a password will not be <devicename>ttyd0</devicename> entry. Otherwise a password will
required to connect via the serial console, resulting in a not be required to connect via the serial console, resulting in a
potential security hole.</para> potential security hole.</para>
</step> </step>
@ -2215,9 +2238,9 @@ raisechar=^^</programlisting>
This is because &ps2; mice share some hardware with the keyboard This is because &ps2; mice share some hardware with the keyboard
and leaving the mouse plugged in can fool the keyboard probe and leaving the mouse plugged in can fool the keyboard probe
into thinking the keyboard is still there. It is said that a into thinking the keyboard is still there. It is said that a
Gateway 2000 Pentium 90&nbsp;MHz system with an AMI BIOS that behaves Gateway 2000 Pentium 90&nbsp;MHz system with an AMI BIOS that
this way. In general, this is not a problem since the mouse is behaves this way. In general, this is not a problem since the
not much good without the keyboard anyway.</para> mouse is not much good without the keyboard anyway.</para>
</note> </note>
</step> </step>
@ -2341,9 +2364,9 @@ raisechar=^^</programlisting>
console configuration, both the video display and the console configuration, both the video display and the
serial port will become the console at the same time, serial port will become the console at the same time,
regardless of the state of the <option>-h</option> option. regardless of the state of the <option>-h</option> option.
However, note that the dual console configuration takes effect However, note that the dual console configuration takes
only during the boot block is running. Once the boot loader effect only during the boot block is running. Once the boot
gets control, the console specified by the loader gets control, the console specified by the
<option>-h</option> option becomes the only console.</para> <option>-h</option> option becomes the only console.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -2455,9 +2478,9 @@ Keyboard: no</screen>
you may want to do so in order to make sure things are set up you may want to do so in order to make sure things are set up
correctly.</para> correctly.</para>
<para>Hit any key, other than <keycap>Enter</keycap>, at the console to <para>Hit any key, other than <keycap>Enter</keycap>, at the console
interrupt the boot process. The boot blocks will then prompt you to interrupt the boot process. The boot blocks will then prompt
for further action. You should now see something like:</para> you for further action. You should now see something like:</para>
<screen>&gt;&gt; FreeBSD/i386 BOOT <screen>&gt;&gt; FreeBSD/i386 BOOT
Default: 0:ad(0,a)/boot/loader Default: 0:ad(0,a)/boot/loader
@ -2471,10 +2494,11 @@ boot:</screen>
<para>If you want the serial console but you do not see the prompt <para>If you want the serial console but you do not see the prompt
on the serial terminal, something is wrong with your settings. In on the serial terminal, something is wrong with your settings. In
the meantime, you enter <option>-h</option> and hit <keycap>Enter</keycap> or <keycap>Return</keycap> the meantime, you enter <option>-h</option> and hit
(if possible) to tell the boot block (and then the boot loader and <keycap>Enter</keycap> or <keycap>Return</keycap> (if possible)
the kernel) to choose the serial port for the console. Once the to tell the boot block (and then the boot loader and the kernel)
system is up, go back and check what went wrong.</para> to choose the serial port for the console. Once the system is
up, go back and check what went wrong.</para>
</step> </step>
</procedure> </procedure>
@ -2693,7 +2717,8 @@ console="comconsole,vidconsole"</programlisting>
<procedure> <procedure>
<step> <step>
<para>Get the kernel source. (See <xref linkend="cutting-edge">)</para> <para>Get the kernel source. (See <xref
linkend="cutting-edge">)</para>
</step> </step>
<step> <step>
@ -2724,7 +2749,8 @@ console="comconsole,vidconsole"</programlisting>
</step> </step>
<step> <step>
<para>Recompile and install the boot blocks and the boot loader:</para> <para>Recompile and install the boot blocks and the boot
loader:</para>
<screen>&prompt.root; <userinput>cd /sys/boot</userinput> <screen>&prompt.root; <userinput>cd /sys/boot</userinput>
&prompt.root; <userinput>make clean</userinput> &prompt.root; <userinput>make clean</userinput>
@ -2771,13 +2797,13 @@ ttyd1 "/usr/libexec/getty std.9600" unknown off secure
ttyd2 "/usr/libexec/getty std.9600" unknown off secure ttyd2 "/usr/libexec/getty std.9600" unknown off secure
ttyd3 "/usr/libexec/getty std.9600" unknown off secure</programlisting> ttyd3 "/usr/libexec/getty std.9600" unknown off secure</programlisting>
<para><devicename>ttyd0</devicename> through <devicename>ttyd3</devicename> <para><devicename>ttyd0</devicename> through
corresponds to <devicename>COM1</devicename> through <devicename>ttyd3</devicename> corresponds to
<devicename>COM4</devicename>. Change <literal>off</literal> to <devicename>COM1</devicename> through <devicename>COM4</devicename>.
<literal>on</literal> for the desired port. If you have changed the Change <literal>off</literal> to <literal>on</literal> for the
speed of the serial port, you need to change desired port. If you have changed the speed of the serial port,
<literal>std.9600</literal> to match the current setting, e.g. you need to change <literal>std.9600</literal> to match the current
<literal>std.19200</literal>.</para> setting, e.g. <literal>std.19200</literal>.</para>
<para>You may also want to change the terminal type from <para>You may also want to change the terminal type from
<literal>unknown</literal> to the actual type of your serial <literal>unknown</literal> to the actual type of your serial
@ -2869,8 +2895,9 @@ start</programlisting>
while most systems will let you boot without a keyboard, there while most systems will let you boot without a keyboard, there
are quite a few that will not let you boot without a graphics adapter. are quite a few that will not let you boot without a graphics adapter.
Machines with AMI BIOSes can be configured to boot with no graphics Machines with AMI BIOSes can be configured to boot with no graphics
adapter installed simply by changing the <quote>graphics adapter</quote> setting in adapter installed simply by changing the
the CMOS configuration to <quote>Not installed.</quote></para> <quote>graphics adapter</quote> setting in the CMOS configuration to
<quote>Not installed.</quote></para>
<para>However, many machines do not support this option and will refuse <para>However, many machines do not support this option and will refuse
to boot if you have no display hardware in the system. With these to boot if you have no display hardware in the system. With these