diff options
| author | Wolfram Schneider <wosch@FreeBSD.org> | 1998-08-24 23:43:17 +0000 |
|---|---|---|
| committer | Wolfram Schneider <wosch@FreeBSD.org> | 1998-08-24 23:43:17 +0000 |
| commit | 159c929bcb096c2e6b917cd3ed31621038fb6d95 (patch) | |
| tree | fab069d047de34e0c3aee701f10e0dcd97b03ad1 /en_US.ISO_8859-1/tutorials | |
| parent | fa596a38cde4cb9cb52a8293fd5240794c2db4fd (diff) | |
Notes
Diffstat (limited to 'en_US.ISO_8859-1/tutorials')
| -rw-r--r-- | en_US.ISO_8859-1/tutorials/disklessx/Makefile | 4 | ||||
| -rw-r--r-- | en_US.ISO_8859-1/tutorials/disklessx/disklessx.docb | 287 |
2 files changed, 289 insertions, 2 deletions
diff --git a/en_US.ISO_8859-1/tutorials/disklessx/Makefile b/en_US.ISO_8859-1/tutorials/disklessx/Makefile index 086d200c36..1f97515c64 100644 --- a/en_US.ISO_8859-1/tutorials/disklessx/Makefile +++ b/en_US.ISO_8859-1/tutorials/disklessx/Makefile @@ -1,5 +1,5 @@ -# $Id: Makefile,v 1.2 1997-07-01 05:38:12 max Exp $ +# $Id: Makefile,v 1.3 1998-08-24 23:43:17 wosch Exp $ -DOCS= disklessx.sgml +DOCS= disklessx.docb .include "../../web.mk" diff --git a/en_US.ISO_8859-1/tutorials/disklessx/disklessx.docb b/en_US.ISO_8859-1/tutorials/disklessx/disklessx.docb new file mode 100644 index 0000000000..9e3ddc2d10 --- /dev/null +++ b/en_US.ISO_8859-1/tutorials/disklessx/disklessx.docb @@ -0,0 +1,287 @@ +<!-- $Id: disklessx.docb,v 1.1 1998-08-24 23:43:17 wosch Exp $ --> +<!-- The FreeBSD Documentation Project --> + +<!DOCTYPE BOOK PUBLIC "-//Davenport//DTD DocBook V3.0//EN"> +<book> +<bookinfo> +<bookbiblio> + +<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 'altair.kcis.com'. 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 'antares.kcis.com' 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> +NOTE: I am sure that there is stuff that needs to be added to this. Please send me any comments.... +</para> + +</abstract> + + +</bookbiblio> +</bookinfo> + + +<chapter><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 config.sys/autoexec.bat 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> +<informalexample><screen> + ---- config.sys ---- + [menu] + menuitem=normal, normal + menuitem=unix, unix + [normal] + .... + normal config.sys stuff + ... + [unix] + ---- + + ---- autoexec.bat ---- + @ECHO OFF + goto %config% + + :normal + ... + normal autoexec.bat stuff + ... + goto end + + :unix + cd \netboot + nb8390.com + + :end + ---- +</screen></informalexample> +</chapter> + +<chapter><title>Getting the network boot programs (On the server)</title> + +<para>Compile the 'net-boot' programs that are located in +/usr/src/sys/i386/boot/netboot. You should read the comments +at the top of the makefile. Adjust as required. !!!! make a +backup of the original in case it gets fobar'd !!! When the build +is done, there should be 2 MS-DOS executables, 'nb8390.com' and +'nb3c509.com'. 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> +</chapter> + +<chapter><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 NB8390.COM. If you have a 3Com 509 based chipset, use the +NB3C509.COM boot program. If you are not sure which you have, +try using one, if it says 'No adapter found', try the other. +Beyond that, you are pretty much on your own.</para> +</chapter> + +<chapter><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> +<informalexample><screen> + My Ethernet adapter is running in WD8013 16bit mode so + I run NB8390.COM + + C:> cd \netboot + C:> nb8390 + + Boot from Network (Y/N) ? Y + + 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></informalexample> + +<para>At this point, my diskless system is trying to find a machine to act +as a boot server. Make note of the addr line above, you will need this +number later. Reset the diskless system and modify your config.sys and +autoexec.bat files to do these steps automatically for you. Perhaps in +a menu. If you had to run 'nb3c509.com' instead of 'nb8390.com' the +output is the same as above. If you got 'No adapter found' at the +'Searching for adapter..' message, verify that you did indeed set the +compile time defines in the makefile correctly.</para> + +</chapter> +<chapter><title>Allowing systems to boot across the network (On the + server)</title> + +<para>Make sure the /etc/inetd.conf file has entries for tftp and bootps. +Mine are listed below:</para> +<informalexample><screen> + ---- /etc/inetd.conf ---- + tftp dgram udp wait nobody /usr/libexec/tftpd tftpd + # + # Additions by who ever you are + bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/bootptab + ---- +</screen></informalexample> +<para>If you have to change the /etc/inetd.conf file, send a HUP signal to +inetd. To do this, get the process ID of inetd with 'ps -ax | grep +inetd | grep -v grep'. Once you have it, send it a HUP signal. Do this +by 'kill -HUP <pid>'. This will force inetd to re-read its config file.</para> + +<para>Did you remember to note the 'addr' 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 /etc/bootptab (maybe creating the file). It should be +laid out identical to this:</para> + +<informalexample><screen> + 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: + + The lines are as follows: + 'altair' the diskless systems name without the domain name. + 'ht=ether' the hardware type of 'ethernet'. + 'ha=004001432666' the hardware address (the number noted above). + 'sm=255.255.255.0' the subnet mask. + 'hn' tells server to send client's hostname to the client. + 'ds=199.246.76.1' tells the client who the domain server is. + 'ip=199.246.76.2' tells the client what it's IP address is. + 'gw=199.246.76.1' tells the client what the default gateway is. + 'vm=...' just leave it there... +</screen></informalexample> +<para>NOTE: +****** Be sure to setup the IP addresses correctly, the addresses +above are my own......</para> + +<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.<ip>' where <ip> is the IP +address of the diskless system. The config file for 'altair' is +/tftpboot/cfg.199.246.76.2. The contents is:</para> + +<informalexample><screen> + ---- /tftpboot/cfg.199.246.76.2 ---- + rootfs 199.246.76.1:/DiskLess/rootfs/altair + hostname altair.kcis.com + ---- +</screen></informalexample> +<para>The line 'hostname altair.kcis.com' simply tells the diskless +system what its fully qualified domain name is.</para> + +<para>The line 'rootfs 199.246.76.1:/DiskLess/rootfs/altair' tells the +diskless system where its NFS mountable root filesystem is located.</para> + +<para>NOTE:!!!!! The NFS mounted root filesystem will be mounted READ ONLY.</para> + +<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> + +<informalexample><screen> + / + /bin + /etc + /tmp + /sbin + /dev + /dev/fd + /usr + /var + /var/run +</screen></informalexample> + +<para>The actual list of files is:</para> + +<informalexample><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></informalexample> +<para>Don't forget to 'MAKEDEV all' in the 'dev' directory.</para> + +<para>My /etc/rc for 'altair' is:</para> + +<informalexample><screen> + #!/bin/sh + # + PATH=/bin:/sbin + 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 +</screen></informalexample> + +<para>Any comments and ALL questions welcome....</para> + +</chapter> +</book> |
