mirror of https://github.com/tLDP/LDP
Only one console per technology type. Setting timezone. Use off parameter rather than comments in inittab. Cable lengths.
This commit is contained in:
parent
35e2b474fe
commit
614e6d32b7
|
@ -5,7 +5,7 @@
|
|||
|
||||
<title>Remote Serial Console HOWTO</title>
|
||||
|
||||
<pubdate>v2.4 2002-10-03</pubdate>
|
||||
<pubdate>v2.5 2003-01-20</pubdate>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
|
@ -30,19 +30,31 @@
|
|||
|
||||
<revhistory>
|
||||
<revision>
|
||||
<revnumber>2.4</revnumber> <date>2002-10-03</date>
|
||||
<revnumber>2.5</revnumber>
|
||||
<date>2003-01-20</date>
|
||||
<authorinitials>gdt</authorinitials> <revremark>Only one console
|
||||
per technology type. Setting timezone. Use off parameter rather
|
||||
than comments in inittab. Cable lengths.</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>2.4</revnumber>
|
||||
<date>2002-10-03</date>
|
||||
<authorinitials>gdt</authorinitials>
|
||||
<revremark>Kernel flow control bug, more cabling, Debian,
|
||||
Livingston Portmaster, typos (especially those found during
|
||||
translation to Japanese).</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>2.3</revnumber> <date>2002-07-11</date>
|
||||
<revnumber>2.3</revnumber>
|
||||
<date>2002-07-11</date>
|
||||
<authorinitials>gdt</authorinitials>
|
||||
<revremark>Updates for Red Hat Linux 7.3, corrections to serial
|
||||
port speeds and UARTs, ioctlsave.</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>2.2</revnumber>
|
||||
<date>2002-05-22</date>
|
||||
<authorinitials>gdt</authorinitials>
|
||||
<revremark>Minor changes</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
|
@ -150,9 +162,9 @@
|
|||
<title>Why use a serial console?</title>
|
||||
|
||||
<para>For the average user a serial console has no advantage over a
|
||||
a console offered by a directly attached keyboard and screen.
|
||||
Serial consoles are much slower, taking up to a second to fill a 80
|
||||
column by 24 line screen. Serial consoles generally only support
|
||||
console offered by a directly attached keyboard and screen. Serial
|
||||
consoles are much slower, taking up to a second to fill a 80 column
|
||||
by 24 line screen. Serial consoles generally only support
|
||||
non-proportional <acronym>ASCII</acronym> text, with limited
|
||||
support for languages other than English. A new terminal can be
|
||||
more expensive than an old <acronym>PC</acronym>.</para>
|
||||
|
@ -1026,9 +1038,9 @@ setserial /dev/ttyS2 uart none port 0x0 irq 0
|
|||
console message to be read.</para>
|
||||
|
||||
<para>Set the received end of line characters to
|
||||
<acronym>LF</acronym> <acronym>CR</acronym> (line feed then
|
||||
carriage return). Set the transmitted end of line characters to
|
||||
just <acronym>CR</acronym> (carriage return).</para>
|
||||
<acronym>CR</acronym> <acronym>LF</acronym> (carriage return then
|
||||
line feed). Set the transmitted end of line characters to just
|
||||
<acronym>CR</acronym> (carriage return).</para>
|
||||
|
||||
<para>If you are using a terminal emulator then it is best to
|
||||
choose to emulate the popular <acronym>DEC</acronym>
|
||||
|
@ -1231,7 +1243,7 @@ setserial /dev/ttyS2 uart none port 0x0 irq 0
|
|||
|
||||
<para>If you need to configure the boot loader to use the serial
|
||||
port then continue to <xref linkend="configure-boot-loader">.
|
||||
Otherwise go to directly to <xref linkend="configure-kernel"> to
|
||||
Otherwise go directly to <xref linkend="configure-kernel"> to
|
||||
configure the kernel; this is done by configuring the boot loader to
|
||||
pass boot parameters to the <systemitem
|
||||
class="osname">Linux</systemitem> kernel.</para>
|
||||
|
@ -1834,12 +1846,17 @@ serial 0 9600</programlisting>
|
|||
kernel</title>
|
||||
|
||||
<para>The <systemitem class="osname">Linux</systemitem> kernel is
|
||||
configured to use a serial console by passing it the
|
||||
configured to select the console by passing it the
|
||||
<literal>console</literal> parameter. The
|
||||
<literal>console</literal> parameter can be given repeatedly; in
|
||||
that case output is sent to all consoles and input is taken from the
|
||||
last listed console. The last <literal>console</literal> is the one
|
||||
Linux uses as the <filename
|
||||
<literal>console</literal> parameter can be given repeatedly, but
|
||||
the parameter can only be given once for each console technology.
|
||||
So <literal>console=tty0 console=lp0 console=ttyS0</literal> is
|
||||
acceptable but <literal>console=ttyS0 console=ttyS1</literal> will
|
||||
not work.</para>
|
||||
|
||||
<para>When multiple consoles are listed output is sent to all
|
||||
consoles and input is taken from the last listed console. The last
|
||||
<literal>console</literal> is the one Linux uses as the <filename
|
||||
class="devicefile">/dev/console</filename> device.</para>
|
||||
|
||||
<para>The syntax of the <literal>console</literal> parameter is
|
||||
|
@ -2193,6 +2210,26 @@ APPEND console=tty0 console=ttyS0,9600n8</programlisting>
|
|||
</screen>
|
||||
</figure>
|
||||
|
||||
<para>A <application>getty</application> is also responsible for
|
||||
setting the time zone when a permanently-connected remote terminal
|
||||
is located beyond the machine's default time zone. The
|
||||
<application>getty</application> overrides the default timezone by
|
||||
setting the <envar>TZ</envar> environment variable. As with the
|
||||
<envar>TERM</envar> environment variable, a user connecting from a
|
||||
modem can interactively override the default time zone.</para>
|
||||
|
||||
<figure id="getty-tz">
|
||||
<title>Interactively altering the connecting terminal's time zone</title>
|
||||
<screen>
|
||||
<prompt>bash$</prompt> <command>TZ=Australia/Adelaide</command>
|
||||
<prompt>bash$</prompt> <command>export TZ</command>
|
||||
</screen>
|
||||
</figure>
|
||||
|
||||
<para>If you do not know your time zone name, run the
|
||||
<command>tzselect</command> utility to generate the appropiate
|
||||
contents for <envar>TZ</envar>.</para>
|
||||
|
||||
<para>But first, let's see how <application>getty</application> gets
|
||||
started in the first place.</para>
|
||||
|
||||
|
@ -2554,11 +2591,11 @@ port ttyS0
|
|||
<programlisting>
|
||||
1:2345:respawn:/sbin/mingetty tty1
|
||||
# Additional virtual terminals are not used
|
||||
# 2:2345:respawn:/sbin/mingetty tty2
|
||||
# 3:2345:respawn:/sbin/mingetty tty3
|
||||
# 4:2345:respawn:/sbin/mingetty tty4
|
||||
# 5:2345:respawn:/sbin/mingetty tty5
|
||||
# 6:2345:respawn:/sbin/mingetty tty6
|
||||
2:2345:off:/sbin/mingetty tty2
|
||||
3:2345:off:/sbin/mingetty tty3
|
||||
4:2345:off:/sbin/mingetty tty4
|
||||
5:2345:off:/sbin/mingetty tty5
|
||||
6:2345:off:/sbin/mingetty tty6
|
||||
</programlisting>
|
||||
</figure>
|
||||
|
||||
|
@ -3092,7 +3129,7 @@ SAFE=yes</programlisting>
|
|||
|
||||
<informalfigure>
|
||||
<screen format="linespecific">
|
||||
<prompt>bash#</prompt> <command>shutdown -h now</command></screen>
|
||||
<prompt>bash#</prompt> <command>shutdown -r now</command></screen>
|
||||
</informalfigure>
|
||||
|
||||
<para>During reboot the terminal should see the usual boot loader
|
||||
|
@ -4528,23 +4565,17 @@ Transmit data ---------------------- Receive data</programlisting>
|
|||
</section> <!-- serial-pc-terminal -->
|
||||
|
||||
|
||||
<section id="serial-manufacture">
|
||||
<title>Making serial cables</title>
|
||||
<section id="serial-distance">
|
||||
<title>Lengths of serial cables</title>
|
||||
|
||||
<para>If you use a serial console for densely-racked computers you
|
||||
will end up making a lot of null-modem serial cables. This section
|
||||
has some hints on making serial cables. If you are making more
|
||||
than ten cables and live in a city you will probably find it
|
||||
economic to have the cables made by a specialty cabling
|
||||
firm.</para>
|
||||
|
||||
<para>The <acronym>RS-232</acronym> standard will drive at least 15
|
||||
metres of shielded cable. More precisely, an
|
||||
<para>The <acronym>RS-232</acronym> standard 9600bps port will
|
||||
drive 15 metres of shielded cable. More precisely, an
|
||||
<acronym>RS-232</acronym> line driver will operate against a
|
||||
capacitance of up to 2500 picoFarad. So if you select a cable with
|
||||
low capacitance you can drive further distances.</para>
|
||||
capacitance of up to 2500 picoFarad with low enough skew to allow a
|
||||
9600bps signal to be recovered.</para>
|
||||
|
||||
<para>For example,
|
||||
<para>If you select a cable with lower capacitance you can drive
|
||||
further distances. For example,
|
||||
<citetitle><acronym>ANSI/TIA/EIA-568-A</acronym></citetitle>
|
||||
unshielded twisted pair category 5 cable has a maximum capacitiance
|
||||
of 55<acronym>pF</acronym> per metre, so this popular
|
||||
|
@ -4559,19 +4590,59 @@ Transmit data ---------------------- Receive data</programlisting>
|
|||
capacitance cables which can be driven up to
|
||||
100<acronym>m</acronym>.</para>
|
||||
|
||||
<para>Attempt to minimise noise in your cabling design. Many BIOSs
|
||||
and boot loaders will wait forever if they receive a single
|
||||
character of line noise.</para>
|
||||
<para>Similarly, if you select a lower data rate you can drive
|
||||
further distances. <xref linkend="serial-manufacture-distance">
|
||||
shows the maximum distances over standard shielded cable at
|
||||
differing data rates.</para>
|
||||
|
||||
<table frame="topbot" colsep="0" rowsep="0" id="serial-manufacture-distance">
|
||||
<title>Data rates and the maximum distances recommended in
|
||||
<citetitle>RS-232</citetitle></title>
|
||||
<tgroup cols="2">
|
||||
<colspec colname="bps" align="center">
|
||||
<colspec colname="m" align="center">
|
||||
<thead>
|
||||
<row>
|
||||
<entry colname="bps">Data rate (bps)</entry>
|
||||
<entry colname="m">Distance (m)</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry colname="bps"><para>2400</para></entry>
|
||||
<entry colname="m"><para>60</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry colname="bps"><para>4800</para></entry>
|
||||
<entry colname="m"><para>30</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry colname="bps"><para>9600</para></entry>
|
||||
<entry colname="m"><para>15</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry colname="bps"><para>19200</para></entry>
|
||||
<entry colname="m"><para>7.6</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry colname="bps"><para>38400</para></entry>
|
||||
<entry colname="m"><para>3.7</para></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry colname="bps"><para>56000</para></entry>
|
||||
<entry colname="m"><para>2.6</para></entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table> <!-- serial-manufacture-distance -->
|
||||
|
||||
|
||||
<para>If you are comfortable in working beyond specifications then
|
||||
you might note that the <acronym>RS-232</acronym> standard was
|
||||
initially designed to operate at a synchronous
|
||||
48<acronym>Kbps</acronym> and the cable requirements reflect this.
|
||||
The experience of enterprise network operators has been that
|
||||
structured cabling layout in buildings is limited by the 100m
|
||||
distance limitation of fast ethernet over category 5 cable, not by
|
||||
the practical distances achieved by RS-232 asynchronous signals at
|
||||
9600bps over category 5 cable.</para>
|
||||
you might note that the experience of enterprise network operators
|
||||
has been that structured cabling layout in buildings is limited by
|
||||
the 100m distance limitation of fast ethernet over category 5
|
||||
cable, not by the practical distances achieved by RS-232
|
||||
asynchronous signals at 9600bps over category 5 cable.</para>
|
||||
|
||||
<para>For longer distances use an <acronym>RS-232</acronym> line
|
||||
driver; these will typically drive up to 2000 meters over category
|
||||
|
@ -4579,16 +4650,35 @@ Transmit data ---------------------- Receive data</programlisting>
|
|||
using fiber optical modems, the global telephony system, the mobile
|
||||
telephony system, satellite or radio.</para>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<section id="serial-manufacture">
|
||||
<title>Making serial cables</title>
|
||||
|
||||
<para>If you use a serial console for densely-racked computers you
|
||||
will end up making a lot of null-modem serial cables. This section
|
||||
has some hints on making serial cables. If you are making more
|
||||
than ten cables and live in a city you will probably find it
|
||||
economic to have the cables made by a specialty cabling
|
||||
firm.</para>
|
||||
|
||||
<para>Attempt to minimise noise in your cabling design. Many BIOSs
|
||||
and boot loaders will wait forever if they receive a single
|
||||
character of line noise. You might choose to use shielded UTP
|
||||
cables (these require special RJ-45 plugs but use standard RJ-45
|
||||
sockets).</para>
|
||||
|
||||
<para>If the environment has a lot of radio frequency noise then
|
||||
use shielded cable and connectors. Connect the shield in the cable
|
||||
to the computer at <emphasis>one</emphasis> end. This can be done
|
||||
by connecting the drain wire of the shield it to the Protective
|
||||
Ground (if present) or by soldering the drain wire to the body of
|
||||
the connector. If there is a substantial amount of noise also
|
||||
place a ferrite core over the shielded cable at both ends of the
|
||||
cable. Follow the usual good practices of making the cable to the
|
||||
correct length and screwing home the D connectors into the
|
||||
chassis.</para>
|
||||
use traditional shielded cable and metal RS-232 connector shells.
|
||||
Connect the shield in the cable to the computer at
|
||||
<emphasis>one</emphasis> end. This can be done by connecting the
|
||||
drain wire of the shield it to the Protective Ground (if present)
|
||||
or by soldering the drain wire to the shell of the connector. If
|
||||
there is a substantial amount of noise also place a ferrite core
|
||||
over the shielded cable at both ends of the cable. Follow the
|
||||
usual good practices of making the cable to the correct length and
|
||||
screwing home the D connectors into the chassis.</para>
|
||||
|
||||
<para>If you are making one of these cables and have some soldering
|
||||
skill, you can easily do the jumpering of the signal wires within
|
||||
|
@ -4935,7 +5025,7 @@ Press CTRL-A Z for help on special keys
|
|||
|
||||
|
||||
<section id="modem-hayes-speaker">
|
||||
<title>Configure silent connection</title>
|
||||
<title>Optionally, configure silent connection</title>
|
||||
|
||||
<para>Most modems have a speaker. By default this is connected
|
||||
whilst a modem is connecting and negotiating a common protocol and
|
||||
|
@ -5701,7 +5791,7 @@ READY: press any key to continue...</guilabel>
|
|||
the block is sent again.</para>
|
||||
|
||||
<para><application>Xmodem</application> is a simple protocol, as
|
||||
you would expect of a program written for 8-bit computers runing
|
||||
you would expect of a program written for 8-bit computers running
|
||||
<systemitem class="osname">CP/M</systemitem>. It has lots of
|
||||
inefficiencies and minor problems, such as rounding up the file
|
||||
size to the next 128 byte boundary. These deficiencies lead to an
|
||||
|
@ -5738,9 +5828,9 @@ Bytes Sent: 3072/ 10000 BPS:2185 ETA 00:09</guilabel>
|
|||
and <application>Ymodem</application>'s
|
||||
<command>ry</command>.</para>
|
||||
|
||||
<para>A useful <application>Zmodem</application> capability is the
|
||||
ability to resume failed uploads and to send multiple files in a
|
||||
single upload session.</para>
|
||||
<para>Useful <application>Zmodem</application> abilities are
|
||||
resuming failed uploads and sending multiple files in a single
|
||||
upload session.</para>
|
||||
|
||||
<para>An implementation of <application>Xmodem</application>,
|
||||
<application>Ymodem</application> and
|
||||
|
@ -6905,12 +6995,13 @@ EOF
|
|||
are also buying the rights to the software. Some companies license
|
||||
their software and have contract terms which state that the license
|
||||
cannot be resold, but has to be repurchased from the company if the
|
||||
terminal server changes hands. Many companies require a current
|
||||
maintenance contract to obtain software updates. These maintenance
|
||||
agreements can be expensive, a common figure is 15% per annum of
|
||||
the manufacturer's retail price. You may be able to source a
|
||||
cheaper software updates from a third-party maintenance
|
||||
supplier.</para>
|
||||
terminal server changes hands.</para>
|
||||
|
||||
<para>Many vendors require a current maintenance contract to obtain
|
||||
software updates. These maintenance agreements can be expensive, a
|
||||
common figure is 15% per annum of the manufacturer's retail price.
|
||||
You may be able to source a cheaper software updates from a
|
||||
third-party maintenance supplier.</para>
|
||||
|
||||
<para>Many older terminal servers are no longer sold or supported
|
||||
by their vendors. Search the vendor's web site for “end of
|
||||
|
@ -7340,7 +7431,7 @@ alias char-major-10-144 nvram
|
|||
|
||||
<para>The revisions to this document for the second edition are
|
||||
copyright © AARNet Pty Ltd (Australian Company Number 084 540
|
||||
518), 2001‐2002. These parts were written by Glen Turner.
|
||||
518), 2001‐2003. These parts were written by Glen Turner.
|
||||
He asserts his moral rights to be identified as one of the authors
|
||||
of this work under the <citetitle>Copyright Act 1968 (Commonwealth
|
||||
of Australia)</citetitle>. The Australian Academic and Research
|
||||
|
@ -7547,6 +7638,19 @@ alias char-major-10-144 nvram
|
|||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Sue Bauer-Lee</term>
|
||||
<listitem>
|
||||
<para>Suggested using the <literal>off</literal> clause in
|
||||
<filename>/etc/inittab</filename> in <xref
|
||||
linkend="getty-mingetty-inittab"> rather than commenting or
|
||||
deleting the excess <application>mingetty</application>
|
||||
invocations. This has the advatage that no automated system
|
||||
administration tool will restore the excess
|
||||
<filename>inittab</filename> entries.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</section> <!-- about-credits -->
|
||||
|
@ -7623,6 +7727,24 @@ alias char-major-10-144 nvram
|
|||
|
||||
</book> <!-- Remote-Serial-Console-HOWTO -->
|
||||
|
||||
<!-- Updating this HOWTO using CVS
|
||||
# Initialise
|
||||
mkdir cvs
|
||||
cd cvs
|
||||
export CVSROOT=:pserver:USERID@cvs.tldp.org:/cvsroot
|
||||
cvs -d $CVSROOT login
|
||||
mkdir -p LDP/howto/docbook
|
||||
cd LDP/howto/docbook
|
||||
cvs get Remote-Serial-Console-HOWTO.sgml
|
||||
|
||||
# Update HOWTO, by copying local updated copy over CVS original copy
|
||||
cd cvs/LDP/howto/docbook
|
||||
export CVSROOT=:pserver:USERID@cvs.tldp.org:/cvsroot
|
||||
cvs update Remote-Serial-Console-HOWTO.sgml
|
||||
cp ~/Remote-Serial-Console-HOWTO.sgml Remote-Serial-Console-HOWTO.sgml
|
||||
cvs ci -m 'COMMENT' Remote-Serial-Console-HOWTO.sgml
|
||||
mail submit@en.tldp.org
|
||||
-->
|
||||
|
||||
<!-- Keep this comment at the end of the file for Emacs's PSGML
|
||||
Local variables:
|
||||
|
|
Loading…
Reference in New Issue