aboutsummaryrefslogtreecommitdiff
path: root/en_US.ISO8859-1/articles/diskless-x/article.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'en_US.ISO8859-1/articles/diskless-x/article.sgml')
-rw-r--r--en_US.ISO8859-1/articles/diskless-x/article.sgml349
1 files changed, 0 insertions, 349 deletions
diff --git a/en_US.ISO8859-1/articles/diskless-x/article.sgml b/en_US.ISO8859-1/articles/diskless-x/article.sgml
deleted file mode 100644
index 692ea3367f..0000000000
--- a/en_US.ISO8859-1/articles/diskless-x/article.sgml
+++ /dev/null
@@ -1,349 +0,0 @@
-<!--
- The FreeBSD Documentation Project
-
- $FreeBSD: doc/en_US.ISO_8859-1/articles/diskless-x/article.sgml,v 1.3 1999/11/15 22:55:44 phantom Exp $
--->
-
-<!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>Diskless X Server: a how to guide</title>
-
- <authorgroup>
- <author>
- <firstname> Jerry</firstname>
- <surname>Kendall</surname>
- <affiliation>
- <address>
- <email>jerry@kcis.com</email>
- </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
- terminal required first creating a diskless system with minimal
- utilities mounted via NFS. These same steps were used to create 2
- separate diskless systems. The first is <hostid
- role="fqdn">altair.kcis.com</hostid>. A diskless X terminal that I
- run on my old 386DX-40. It has a 340Meg hard disk but, I did not want
- to change it. So, it boots from <hostid
- role="fqdn">antares.kcis.com</hostid> across a Ethernet. The second
- 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
- <filename>config.sys</filename>/<filename>autoexec.bat</filename> files)
- 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>
-
- <programlisting>[menu]
-menuitem=normal, normal
-menuitem=unix, unix
-[normal]
-....
-normal config.sys stuff
-...
-[unix]</programlisting>
- </example>
-
- <example>
- <title><filename>autoexec.bat</filename></title>
-
- <programlisting>@ECHO OFF
-goto %config%
-
-:normal
-...
-normal autoexec.bat stuff
-...
-goto end
-
-:unix
-cd \netboot
-nb8390.com
-
-:end</programlisting>
- </example>
- </sect1>
-
- <sect1>
- <title>Getting the network boot programs (On the server)</title>
-
- <para>Compile the 'net-boot' 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
- required. Make a backup of the original in case it gets foobar'd. When
- the build is done, there should be 2 MS-DOS executables,
- <filename>nb8390.com</filename> and <filename>nb3c509.com</filename>.
- One of these two programs will be what you need to run on the diskless
- 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,
- use the <filename>nb3C509.com</filename> boot program. If you are not
- sure which you have, try using one, if it says <errorname>No adapter
- found</errorname>, try the other. Beyond that, you are pretty much on
- your own.</para>
- </sect1>
-
- <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:&gt;</prompt> <userinput>cd \netboot</userinput>
-<prompt>C:&gt</prompt> <userinput>nb8390</userinput>
-
-<prompt>Boot from Network (Y/N) ?</prompt> <userinput>Y</userinput>
-
-BOOTP/TFTP/NFS bootstrap loader ESC for menu
-
-Searching for adapter..
-WD8013EBT base 0x0300, memory 0x000D8000, addr 00:40:01:43:26:66
-
-Searching for server...</screen>
-
- <para>At this point, my diskless system is trying to find a machine to act
- as a boot server. Make note of the <literal>addr</literal> line above,
- you will need this number later. Reset the diskless system and modify
- your <filename>config.sys</filename> and
- <filename>autoexec.bat</filename> files to do these steps automatically
- for you. Perhaps in a menu. If you had to run
- <command>nb3c509.com</command> instead of <command>nb8390.com</command>
- the output is the same as above. If you got <errorname>No adapter
- found</errorname> at the <literal>Searching for adapter...</literal>
- 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
- grep</command>. Once you have it, send it a HUP signal. Do this by
- <command>kill -HUP &lt;pid&gt;</command>. This will force inetd to
- re-read its config file.</para>
-
- <para>Did you remember to note the <literal>addr</literal> line from the
- output of the boot loader on the diskless system? Guess what, here is
- where you need it.</para>
-
- <para>Add an entry to <literal>/etc/bootptab</literal> (maybe creating the
- file). It should be laid out identical to this:</para>
-
- <programlisting>altair:\
- :ht=ether:\
- :ha=004001432666:\
- :sm=255.255.255.0:\
- :hn:\
- :ds=199.246.76.1:\
- :ip=199.246.76.2:\
- :gw=199.246.76.1:\
- :vm=rfc1048:</programlisting>
-
- <para>The lines are as follows:</para>
-
- <informaltable frame="none">
- <tgroup cols="2">
- <tbody>
- <row>
- <entry><literal>altair</literal></entry>
- <entry>the diskless systems name without the domain name.</entry>
- </row>
-
- <row>
- <entry><literal>ht=ether</literal></entry>
- <entry>the hardware type of 'ethernet'.</entry>
- </row>
-
- <row>
- <entry><literal>ha=004001432666</literal></entry>
- <entry>the hardware address (the number noted above).</entry>
- </row>
-
- <row>
- <entry><literal>sm=255.255.255.0</literal></entry>
- <entry>the subnet mask.</entry>
- </row>
-
- <row>
- <entry><literal>hn</literal></entry>
- <entry>tells server to send client's hostname to the
- client.</entry>
- </row>
-
- <row>
- <entry><literal>ds=199.246.76.1</literal></entry>
- <entry>tells the client who the domain server is.</entry>
- </row>
-
- <row>
- <entry><literal>ip=199.246.76.2</literal></entry>
- <entry>tells the client what it's IP address is.</entry>
- </row>
-
- <row>
- <entry><literal>gw=199.246.76.1</literal></entry>
- <entry>tells the client what the default gateway is.</entry>
- </row>
-
- <row>
- <entry><literal>vm=...</literal></entry>
- <entry>just leave it there.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <note>
- <para>Be sure to setup the IP addresses correctly, the addresses above
- are my own.</para>
- </note>
-
- <para>Create the directory '/tftpboot' on the server it will contain the
- configuration files for the diskless systems that the server will serve.
- These files will be named 'cfg.&lt;ip&gt;' where &lt;ip&gt; is the IP
- address of the diskless system. The config file for 'altair' is
- /tftpboot/cfg.199.246.76.2. The contents is:</para>
-
- <programlisting>rootfs 199.246.76.1:/DiskLess/rootfs/altair
-hostname altair.kcis.com</programlisting>
-
- <para>The line <literal>hostname altair.kcis.com</literal> simply tells
- the diskless system what its fully qualified domain name is.</para>
-
- <para>The line <literal>rootfs
- 199.246.76.1:/DiskLess/rootfs/altair</literal> tells the diskless
- system where its NFS mountable root filesystem is located.</para>
-
- <note>
- <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 'altair' is:</para>
-
- <literallayout>/
-/bin
-/etc
-/tmp
-/sbin
-/dev
-/dev/fd
-/usr
-/var
-/var/run</literallayout>
-
- <para>The actual list of files is:</para>
-
- <screen>-r-xr-xr-x 1 root wheel 779984 Dec 11 23:44 ./kernel
--r-xr-xr-x 1 root bin 299008 Dec 12 00:22 ./bin/sh
--rw-r--r-- 1 root wheel 499 Dec 15 15:54 ./etc/rc
--rw-r--r-- 1 root wheel 1411 Dec 11 23:19 ./etc/ttys
--rw-r--r-- 1 root wheel 157 Dec 15 15:42 ./etc/hosts
--rw-r--r-- 1 root bin 1569 Dec 15 15:26 ./etc/XF86Config.altair
--r-x------ 1 bin bin 151552 Jun 10 1995 ./sbin/init
--r-xr-xr-x 1 bin bin 176128 Jun 10 1995 ./sbin/ifconfig
--r-xr-xr-x 1 bin bin 110592 Jun 10 1995 ./sbin/mount_nfs
--r-xr-xr-x 1 bin bin 135168 Jun 10 1995 ./sbin/reboot
--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>Don't forget to run <command>MAKEDEV all</command> in the
- <filename>dev</filename> directory.</para>
-
- <para>My <filename>/etc/rc</filename> for <hostid>altair</hostid>
- is:</para>
-
-<programlisting>#!/bin/sh
-#
-PATH=/bin:/
-export PATH
-#
-# configure the localhost
-/sbin/ifconfig lo0 127.0.0.1
-#
-# configure the ethernet card
-/sbin/ifconfig ed0 199.246.76.2 netmask 0xffffff00
-#
-# mount the root filesystem via NFS
-/sbin/mount antares:/DiskLess/rootfs/altair /
-#
-# mount the /usr filesystem via NFS
-/sbin/mount antares:/DiskLess/usr /usr
-#
-/usr/X11R6/bin/XF86_SVGA -query antares -xf86config /etc/XF86Config.altair > /dev/null 2>&1
-#
-# Reboot after X exits
-/sbin/reboot
-#
-# We blew up....
-exit 1</programlisting>
-
- <para>Any comments and all questions welcome.</para>
- </sect1>
-</article>
-
-<!--
- Local Variables:
- mode: sgml
- sgml-indent-data: t
- sgml-omittag: nil
- sgml-always-quote-attributes: t
- End:
--->