Date: Tue, 15 Oct 2002 21:58:49 +0200 From: Udo Erdelhoff <ue@nathan.ruhr.de> To: freebsd-doc@freebsd.org Subject: Please review: new handbook chapter on serial install Message-ID: <20021015195849.GA76747@nathan.internal>
next in thread | raw e-mail | index | archive | help
Hi, the chapter about using a serial console lacks one important feature: A description how to install FreeBSD with a serial console. As I had to re-install one of my boxes today anyway, I recorded what needs to be done and turned it into sgml. Here's the result: 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 15 Oct 2002 19:47:57 -0000 @@ -2609,6 +2609,135 @@ 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 FreeBSD</title> + + <para>With only a little bit of work, it is also possible to + <emphasis>install</emphasis> a FreeBSD system over a serial + console. Of course, you will have to prepare your BIOS first + to be able to boot without a keyboard (or even without a + graphics adapter). You will have to configure it to try to + boot from floppy before it tries to boot from hard disk. This + cannot be done over a serial console on most PC + mainboards.</para> + + <para>The secret of installing FreeBSD over a serial console is + the fact that even 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, all you have to do is to create a + <filename>boot.config</filename> file on the boot medium. 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 + because this can be done with the on-board tools of a standard + installation. Please note that you do + <emphasis>NOT</emphasis> have to install the complete system + from floppy disk, you can still use your CD-ROM, DVD-ROM, or + your internet connection to get the distributions.</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 disk. The + boot disk 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>. All you need is a system + that can mount, read, and write FreeBSD file systems. As a + rule of thumb, this means another FreeBSD 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 on + <filename>kern.flp</filename>, create a sutitable + <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 > /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 start/reboot + it.</para> + </step> + </procedure> + + <para>After a while, you should see activity on your serial + console, probably the <quote>sppiner</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; where you can define which kind of + terminal you are using.</para> + </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. In order to allow log-ins over the serial console, + you will have to select <menuentry>TTYs</menuentry> from + the <menuentry>Configuration<menuentry>. Activate the + &man.getty.8; on <devicename>ttyd0</devicename> and + configure the terminal type to the appropriate value + for your terminal.</para> + + <para>The second required change is the creation of a + <filename>boot.config</filename> file on the root file system + of your newly installed FreeBSD box. This can be done by + selecting <literal>shell</literal> from the + <literal>Fixit</literal> menu. Just type <command>echo -P + > /boot.config</command>, exit the shell, quit + &man.sysinstall.8; and watch your newly installed system boot + with an active serial console.</para> + </sect2> </sect1> </chapter> Comments? /s/Udo -- Enjoy the beauty and power of root 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?20021015195849.GA76747>