NetBSD/usr.sbin/ndbootd/ndbootd.8

154 lines
4.7 KiB
Groff

.\" $NetBSD: ndbootd.8,v 1.4 2002/02/02 01:21:00 wiz Exp $
.\" <<Id: ndbootd.8,v 1.2 2001/05/15 14:42:25 fredette Exp >>
.\"
.\" Copyright (c) 2001 Matthew Fredette. 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 Matthew Fredette.
.\" 4. The name of Matthew Fredette may not be used to endorse or promote
.\" products derived from this software without specific prior written
.\" permission.
.\"
.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
.\"
.Dd May 9, 2001
.Dt NDBOOTD 8
.Os
.Sh NAME
.Nm ndbootd
.Nd
.Tn Sun
Network Disk (ND) Protocol server
.Sh SYNOPSIS
.Nm
.Op Fl s Ar boot2
.Op Fl i Ar interface
.Op Fl w Ar windowsize
.Op Fl d
.Ar boot1
.Sh DESCRIPTION
.Nm
is a server which supports the
Sun Network Disk (ND) Protocol.
This protocol was designed by Sun before they designed
.Tn NFS .
ND simply
makes the raw blocks of a disk available to network clients. Contrast
this with the true namespace and file abstractions that
.Tn NFS
provides.
.Pp
The only reason you're likely to encounter ND nowadays is if you have
an old Sun 2 machine, like the 2/120 or 2/50. The Sun 2 PROMs can
only use ND to boot over the network. (Later, the Sun 3 PROMs would
use
.Tn RARP
and
.Tn TFTP
to boot over the network.)
.Pp
.Nm
is a very simple ND server that only supports client reads for
booting. It exports a disk that the clients consider to be
.Pa /dev/ndp0
(ND public unit zero). The disk is available only to clients that are
listed in
.Pa /etc/ethers
and have valid hostnames.
(Sun 2 PROMs don't do RARP, but they do learn their IP
address from the first ND response they receive from the server.)
.Pp
.Ar boot1
is a file containing the mandatory first-stage network boot
program, typically
.Pa /usr/mdec/bootyy .
The layout of the exported disk is:
.Bl -bullet -offset indent
.It
block 0: normally a Sun disklabel (but ignored by the PROM)
.It
blocks 1-15: the first-stage network boot program
.El
.Pp
With the
.Fl s Ar boot2
option,
.Nm
will also make a second-stage network
boot program available to clients, typically
.Pa /usr/mdec/netboot .
When
.Ar boot2
is a filename, that file is the single second-stage network boot program
to be served to all clients.
.Pp
When
.Ar boot2
is a directory name, typically
.Pa /tftpboot ,
.Nm
finds a
client's second-stage network boot program by turning its IP address
into a filename in that directory, in the same manner later Sun 3
PROMs do when TFTPing (i.e., if a client has IP address 192.168.1.10,
.Nm
expects to find
.Pa /tftpboot/C0A8010A.SUN2
).
.Pp
When used in this last manner with an ND-aware first-stage boot program,
.Nm
serves the same purpose in the Sun 2 netboot process as
.Xr tftpd 8
serves in the Sun 3 netboot process.
.Pp
Any second-stage network boot program always begins at block 16 of the
exported disk, regardless of the length of the first-stage network
boot program.
.Pp
All first- and second-stage network boot programs must have all
executable headers stripped off; they must be raw binary programs.
.Pp
The remaining options are:
.Bl -tag -width "directory"
.It Fl i Ar interface
Only listen for ND clients on interface
.Ar interface .
Normally
.Nm
listens for clients on the first non-loopback IP interface
that is up and running.
.It Fl w Ar windowsize
This adjusts the window size of the ND protocol. This is
the number of 1-kilobyte packets that can be transmitted before
waiting for an acknowledgement. Defaults to 6.
.It Fl d
Run in debug mode. Debugging output goes to standard error
and the server will not fork.
.El
.Sh FILES
.Bl -tag -width Pa -compact
.It Pa /etc/ethers
.It Pa /etc/hosts
.\" .It Pa /tftpboot
.El
.Sh SEE ALSO
.Xr tftpd 8
.Sh BUGS
Whether or not there is a second-stage network boot program, the
exported disk appears to all clients to have infinite length. The
content of all blocks not used by the first- or second-stage network
boot programs is undefined. All client reads of undefined blocks
are silently allowed by the server.