Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Oct 2002 23:03:06 +0200
From:      Udo Erdelhoff <ue@nathan.ruhr.de>
To:        freebsd-doc@FreeBSD.ORG
Subject:   Re: Please review: new handbook chapter on serial install
Message-ID:  <20021017210306.GA74874@nathan.internal>
In-Reply-To: <20021015195849.GA76747@nathan.internal>
References:  <20021015195849.GA76747@nathan.internal>

next in thread | previous in thread | raw e-mail | index | archive | help
Here's version two:
- correct the typos noticed by various people
- cut down on the use of 'you'
- generally tried to chat less and include more information


Index: chapter.sgml
===================================================================
RCS file: /home/ncvs/doc/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml,v
retrieving revision 1.66
diff -u -r1.66 chapter.sgml
--- chapter.sgml	30 Sep 2002 15:33:26 -0000	1.66
+++ chapter.sgml	17 Oct 2002 20:17:19 -0000
@@ -2609,6 +2609,162 @@
 	attach a monitor into it. You might also try installing an AMI
 	BIOS.</para>
     </sect2>
+
+    <sect2 id="serialconsole-install">
+      <sect2info>
+	<author>
+	  <firstname>Udo</firstname>
+	  <surname>Erdelhoff</surname>
+	  <contrib>Contributed by </contrib>
+	</author>
+      </sect2info>
+
+      <title>Using a Serial Console to Install &os;</title>
+
+      <para>With only a little bit of work, it is also possible to
+	<emphasis>install</emphasis> a &os; system over a serial
+	console.  The boot loader and the kernel used on the
+	installation floppies support a serial console, just like
+	their big counterparts that are installed on your hard disk.
+	In other words, the only requirements for using a serial
+	console to install &os; are a suitably configured system
+	(as described in <xref linkend="serialconsole-howto">)
+	and a boot medium that contains the right version of
+	<filename>boot.config</filename>.</para>
+
+      <para>In theory, this could be a remotely mounted root file
+	system for a diskless installation, a modified installation
+	CD/DVD, or a modified boot floppy.  The easiest solution (and
+	the only one described in this chapter) is to create a
+	modified boot floppy.  This is the only variant that can be
+	produced with the GENERIC kernel and tools available on a &os;
+	box after a standard installation.  Please note that this does
+	<emphasis>NOT</emphasis> mean that all files have to be
+	installed from floppy, it is still possible to use a CD-ROM,
+	DVD-ROM, or an internet connection to get the files for the
+	distributions and packages.</para>
+
+      <para>The official way of creating a modified boot floppy is to
+	modify the scripts and <filename>Makefile</filename> used by
+	<command>make release</command>.  This is not required if the
+	only change is the addition of a
+	<filename>boot.config</filename> file on the boot floppy.  The
+	boot floppy consists of two parts, the boot sector/loader and
+	the installation kernel.  The latter is stored in a small UFS
+	file system that can be modified and manipulated with all the
+	usual tools.  This includes the creation of
+	<filename>boot.config</filename>.  The only requirement is a
+	system that can mount, read, and write &os; file systems.  As
+	a rule of thumb, this means another &os; system.  Once you
+	have this, it is rather easy to create a modified
+	<filename>boot.flp</filename> for installation over a serial
+	console:</para>
+
+      <procedure>
+	<step>
+	  <para>Create floppy disks from the
+	    <filename>kern.flp</filename> and
+	    <filename>mfsroot.flp</filename> images.</para>
+	</step>
+
+	<step>
+	  <para>Insert the floppy disk with the
+	    <filename>kern.flp</filename> into the drive.</para>
+	</step>
+
+	<step>
+	  <para>Mount the file system which is on
+	    <filename>kern.flp</filename>, create a suitable
+	    <filename>boot.config</filename>, and unmount the
+	    disk:</para>
+
+	  <screen>&prompt.root; <userinput>mount /dev/fd<replaceable>X</replaceable> /mnt</userinput>
+&prompt.root; <userinput>echo -P &gt; /mnt/boot.config</userinput>
+&prompt.root; <userinput>umount /mnt</userinput></screen>
+	</step>
+
+	<step>
+	  <para>Connect your serial console to the new FreeBSD system,
+	    just as explained above.</para>
+	</step>
+
+	<step>
+	  <para>Insert the modified <filename>kern.flp</filename> into
+	    the disk drive of the new FreeBSD system and reboot it.</para>
+	</step>
+      </procedure>
+
+      <para>After a while, you should see activity on your serial
+	console, probably the <quote>spiner</quote>, followed by the
+	usual start messages from the kernel.  With two minor
+	exceptions, you can use &man.sysinstall.8;  just as if you
+	were installing FreeBSD with a conventional set-up:</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>&man.sysinstall.8; cannot start the emergency
+	    holographic shell on an additional VTY because there is
+	    only one serial console.</para>
+	</listitem>
+
+	<listitem>
+	  <para>There is an additional dialog at the start of
+	    &man.sysinstall.8;:</para>
+
+	  <screen>/stand/sysinstall running as init on serial console
+
+These are the predefined terminal types available to
+sysinstall when running stand-alone.  Please choose the
+closest match for your particular terminal.
+
+1 ...................... Standard ANSI terminal.
+2 ...................... VT100 or compatible terminal.
+3 ...................... FreeBSD system console (color).
+4 ...................... FreeBSD system console (monochrome).
+
+	  5 ...................... xterm terminal emulator.</screen>
+	</listitem>
+      </itemizedlist>
+
+      <para>Once &man.sysinstall.8; has finished extracting all the
+	distributions, it will ask you if you want to change your
+	settings.  You will have to do this because the newly
+	installed system is not configured for a serial console
+	yet.  The following settings may need to be changed:</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>In order to allow log-ins over the serial console, a
+	    &man.getty.8; must be running on the
+	    <devicename>ttyd0</devicename>.  To do this, select
+	    <literal>Configuration</literal>, then
+	    <literal>TTYs</literal>, and change the settings for
+	    <devicename>ttyd0</devicename>.  The
+	    <literal>status</literal> must be set to on, the terminal
+	    <literal>type</literal> must match your particular serial
+	    console.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Check the <filename>boot.config</filename> and
+	    <filename>/boot/loader.conf</filename> of the newly
+	    installed &os; system to make sure that it will use a
+	    serial console during startup.  To do this, select
+	    <literal>Fixit</literal> from the main menu, then
+	    <literal>shell</literal>.
+	    <application>sysinstall</application> will put
+	    <literal>console="comconsole"</literal> into
+	    <filename>/boot/loader.conf</filename> but it will not
+	    create <filename>/boot.config</filename>.  This may need
+	    to be adjusted to fit the specific requirements for the
+	    new system.</para>
+	</listitem>
+      </itemizedlist>
+
+      <para>Once you have finished these steps, quit
+	<application>sysinstall</application> and watch your new &os;
+	system start with a serial console.</para>
+    </sect2>
   </sect1>
 </chapter>
 
-- 
"Finish the following setence: All power corrupts, absolute power..."
"...is even more fun."
"Correct."

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-doc" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021017210306.GA74874>