Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/distrib/notes/common There's a lot of overlap between platfo...



details:   https://anonhg.NetBSD.org/src/rev/3bed98480e4d
branches:  trunk
changeset: 526412:3bed98480e4d
user:      mbw <mbw%NetBSD.org@localhost>
date:      Fri May 03 05:17:30 2002 +0000

description:
There's a lot of overlap between platforms for configuring netboot
servers.  Store those procedures here.  This first version includes the
netboot stuff from hp300, macppc, next68k, and sparc.

diffstat:

 distrib/notes/common/netboot |  682 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 682 insertions(+), 0 deletions(-)

diffs (truncated from 686 to 300 lines):

diff -r b271d29f3553 -r 3bed98480e4d distrib/notes/common/netboot
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/distrib/notes/common/netboot      Fri May 03 05:17:30 2002 +0000
@@ -0,0 +1,682 @@
+.\"    $NetBSD: netboot,v 1.1 2002/05/03 05:17:30 mbw Exp $
+.\"
+.\" Copyright (c) 1999-2001 The NetBSD Foundation, Inc.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\"    must display the following acknowledgement:
+.\"        This product includes software developed by the NetBSD
+.\"        Foundation, Inc. and its contributors.
+.\" 4. Neither the name of The NetBSD Foundation nor the names of its
+.\"    contributors may be used to endorse or promote products derived
+.\"    from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.\"
+.
+.(enum
+Introduction
+.Pp
+To netboot a \*M, you must configure one or more servers to provide
+information and files to your \*M (the 
+.Sq client ).
+If you are using
+.Nx
+(any architecture) on your netboot server(s), the information
+provided here should be sufficient to configure everything.  Additionally,
+you may wish to look at the
+.Xr diskless 8 
+manual page and the manual pages for each daemon you'll be configuring.
+If the server(s) are another operating system, you should consult the
+NetBSD Diskless HOW-TO, which will walk you through the steps necessary to
+configure the netboot services on a variety of platforms. 
+.Lk http://www.netbsd.org/Documentation/network/netboot/
+.if !\n[next68k] \{\
+.Pp
+You may either netboot the installer so you can install onto a locally
+attached disk, or you may run your system entirely over the network.
+.\}
+.Pp
+Briefly, the netboot
+process involves discovery, bootstrap, kernel and filesystem stages.
+In the first stage, the client discovers information
+about where to find the bootstrap program.
+Next, it downloads and executes the bootstrap program.
+The bootstrap program goes through another disovery phase to determine
+where the kernel is located.
+The bootstrap program tries to mount the NFS share containing the kernel.
+Once the kernel is loaded, it starts executing.
+.ie !\n[next68k] \{\
+For RAM disk kernels, it mounts the RAM disk filesystem and begins
+executing the installer from the RAM disk.  For normal
+(non-RAM disk) kernels, the
+.\}
+.el The
+kernel tries to mount the NFS share that had the kernel and starts
+executing 
+.if !\n[next68k] the installation tools or
+.Xr init 8 .
+.ie \n[hp300] \{\
+All supported \*M systems use HP's proprietary RMP (the 
+.Xr rbootd 8
+daemon) for the first discovery stage and bootstrap download stages.  The
+bootstrap program uses DHCP for its discovery stage.
+.\}
+.el .ie \n[macppc]:\n[next68k] \{\
+All \*M systems use BOOTP for the discovery stage.
+.\}
+.el .ie \n[sparc] \{\
+All \*M systems use a combination of RARP and BOOTPARAMS for the discovery 
+stage.
+.\}
+.if !\n[hp300] \{\
+TFTP is used in the bootstrap phase to download the bootstrap program, 
+.ie \n[macppc] \{\
+.Pa ofwboot.xcf .
+.\}
+.el .ie \n[next68k] \{\
+.Pa boot .
+.\}
+.el .ie \n[sparc] \{\
+.Pa boot.net ,
+which has been linked to a file name appropriate to the client's
+architecture and IP address as described in the TFTP section below.
+.\}
+.\} \" ! !\n[hp300]
+NFS is used in both the kernel and filesystem stages to download the
+kernel, and to access files on the file server.
+.Pp
+We will use 
+.Sq Li "CC:CC:CC:CC:CC:CC"
+as the MAC address (ethernet hardware address) of your netboot client
+machine.  You should have determined this address in an earlier stage.  In
+this example, we will use 
+.Sq Li 192.168.1.10
+as the IP address of your client and
+.Sq Li client.test.net
+as its name.  We will assume you're providing all of your netboot services
+on one machine called
+.Sq Li server.test.net
+with the client's files exported from the directory
+.Pa /export/client/root .
+You should, of course, replace all of these with the names, addresses,
+and paths appropriate to your environment.
+.Pp
+You should set up each netboot stage in order (i.e. discovery,
+bootstrap, kernel, and then filesystem) so that you can test them as you
+proceed.
+.Pp
+.It
+.if \n[hp300] \{\
+.Xr rbootd 8
+.Pp
+Get
+.Pa SYS_UBOOT
+from the
+.Pa installation/misc
+directory of the distribution.
+.Pp
+.(disp
+.No # Ic "mkdir -p /usr/mdec/rbootd"
+.No # Ic "cp SYS_UBOOT /usr/mdec/rbootd"
+.No # Ic "chmod -R a+rX /usr/mdec/rbootd"
+.disp)
+.Pp
+Create 
+.Pa /etc/rbootd.conf
+with the following line:
+.(disp
+CC:CC:CC:CC:CC:CC SYS_UBOOT
+.disp)
+.Pp
+You will need to start the
+.Ic rbootd .
+If it's already running, you will need to 
+restart it to force it to re-read its configuration file.
+If the server is running
+.Nx 1.5
+or later, you can achieve this with:
+.Pp
+.(disp
+.No # Ic "/etc/rc.d/rbootd restart"
+.disp)
+.Pp
+.It
+.\} \" ! \n[hp300]
+.if \n[hp300]:\n[macppc]:\n[next68k] \{\
+.ie !\n[hp300] \{\
+.Xr dhcpd 8 
+in 
+.Xr bootpd 8
+compatible mode
+.Pp
+.\}
+.el \{\
+.Xr dhcpd 8 
+.Pp
+The bootstrap program uses DHCP to discover the location of the kernel.
+.\}
+Put the following lines in your 
+.Pa /etc/dhcpd.conf
+(see
+.Xr dhcpd.conf 5
+and
+.Xr dhcp-options 5
+for more information):
+.(disp
+ddns-update-style none;
+                # Do not use any dynamic DNS features
+                #
+allow bootp;    # Allow bootp requests, thus the dhcp server
+                # will act as a bootp server.
+                #
+authoritative;  # This is the authoritative DHCP server for this subnet
+                #
+subnet 192.168.1.0 netmask 255.255.255.0 {
+                # Which network interface the server will
+                # listen on.  The zeros indicate which
+                # range of addresses are allowed to connect.
+}
+group {
+                # Set of parameters common to all clients
+                # in this "group".
+                #
+        option broadcast-address        192.168.1.255;
+        option domain-name              "test.net";
+        option domain-name-servers      dns.test.net;
+        option routers                  router.test.net;
+        option subnet-mask              255.255.255.0;
+                #
+                # An individual client.
+                #
+        host client.test.net {
+                hardware ethernet       CC:CC:CC:CC:CC:CC;
+                fixed-address           192.168.1.10;
+                #
+                # Name of the host (if the fixed address
+                # doesn't resolve to a simple name).
+                #
+                option host-name        "client";
+.if !\n[hp300] \{\ 
+                #
+                # Name of the bootloader or kernel
+                # to download via tftp.
+                #
+.ie \n[macppc] \{\ 
+                filename                "ofwboot.xcf";
+.\}
+.el .ie \n[next68k] \{\ 
+                filename                "boot";
+.\}
+.\}
+                #
+                # The path on the NFS server.
+                #
+                option root-path        "/export/client/root";
+.if \n[next68k] \{\ 
+                #
+                #next68k machines require non-RFC1048 BOOTP
+                #
+                always-reply-rfc1048 false;
+.\}
+        }
+ #you may paste another "host" entry here for additional clients on this network
+}
+.disp)
+.Pp
+You will need to make sure that the
+.Pa dhcpd.leases
+file exists.
+.Pp
+.(disp
+.No # Ic "touch /var/db/dhcpd.leases"
+.disp)
+.Pp
+You will need to start the
+.Ic dhcpd .
+If it's already running, you will need to 
+restart it to force it to re-read its configuration file.
+If the server is running
+.Nx 1.5
+or later, you can achieve this with:
+.Pp
+.(disp
+.No # Ic "/etc/rc.d/dhcpd restart"
+.disp)
+.Pp
+.\} \" ! \n[hp300]:\n[macppc]:\n[next68k]
+.if \n[sparc] \{\
+.Xr rarpd 8
+and
+.Xr rpc.bootparamd 8
+.Pp
+Create an
+.Pa /etc/ethers
+file with the following line:
+.Pp
+.(disp
+CC:CC:CC:CC:CC:CC     client
+.disp)
+.Pp
+Add your client to the server's
+.Pa /etc/hosts
+file:
+.Pp
+.(disp
+192.168.1.10 client
+.disp)
+.Pp
+You will need to start the
+.Ic rarpd .
+If it's already running, you will need to 
+restart it to force it to re-read its configuration file.
+If the server is running
+.Nx 1.5
+or later, you can achieve this with:
+.Pp
+.(disp
+.No # Ic "/etc/rc.d/rarpd restart"



Home | Main Index | Thread Index | Old Index