<?xml version="1.0"?>
<!DOCTYPE webpage
 PUBLIC "-//NetBSD//DTD Website-based NetBSD Extension//EN"
        "http://www.NetBSD.org/XML/htdocs/lang/share/xml/website-netbsd.dtd">

<webpage id="docs-network-netboot-index">
<config param="desc" value="Diskless NetBSD HOW-TO"/>
<config param="cvstag" value="$NetBSD: index.xml,v 1.4 2009/09/13 18:43:25 snj Exp $"/>
<config param="rcsdate" value="$Date: 2009/09/13 18:43:25 $"/>
<head>

<!-- Copyright (c) 1998-2005
	The NetBSD Foundation, Inc.  ALL RIGHTS RESERVED. -->

  <title>Diskless NetBSD HOW-TO</title>
</head>

<sect1 id="intro">
  <title></title>

  <para>This guide is intended to help you set up the server(s) necessary
    to boot a NetBSD workstation over the network.  The steps this HOW-TO
    describe do not require you to have any OS installed on your client
    machine, or even a hard drive on that machine (thus the name diskless).
    The intent is to run NetBSD on a machine without any local storage
    (e.g., hard drive), although the directions in this document describe how
    to netboot a machine to the point where you can install NetBSD on a hard
    drive if you do not have any OS currently on your machine. This HOW-TO
    does <emphasis>not</emphasis> describe the actual install procedure, 
    only the steps leading up to running the install tools.
    This HOW-TO is intended as a <emphasis>supplement</emphasis> to the 
    official installation notes. You should read those before attempting 
    to use this HOW-TO.</para>

  <para>If you have a small hard drive, it is still probably worthwhile to
    install the bootloader, a small root partition, and a small swap 
    partition on it, as it will boot and run significantly faster than 
    over the network.</para>

  <para>This HOW-TO is rather long in the attempt to cover as many 
    permutations of hardware and OS as possible. If you're impatient, 
    you may try reading the &man.diskless.8; man page. Read the 
    introduction page(s) to determine if your hardware and boot rom
    version are capable of booting off a LAN.</para>

  <orderedlist>
    <listitem><ulink url="intro.html">Introduction</ulink>
    
    <itemizedlist>
      <listitem><ulink url="intro.alpha.html">alpha-specific</ulink></listitem>
      <listitem>arm32-specific (coming soon)</listitem>
      <listitem>cobalt (see the <ulink 
	url="../../../ports/cobalt/faq.html">FAQ</ulink>)</listitem>
      <listitem><ulink url="intro.hp300.html">hp300-specific</ulink></listitem>
      <listitem><ulink url="intro.hp700.html">hp700-specific</ulink></listitem>
      <listitem><ulink url="intro.i386.html">i386-specific</ulink></listitem>
      <listitem>luna68k (see the <ulink 
	url="../../../ports/luna68k/install.html">Installation notes</ulink>)</listitem>
	<listitem><ulink 
	  url="intro.macppc.html">macppc-specific</ulink></listitem>
	<listitem>mvme68k-specific (coming soon)</listitem>
	<listitem><ulink 
	  url="intro.next68k.html">next68k-specific</ulink></listitem>
	<listitem>ofppc-specific (coming soon)</listitem>
	<listitem><ulink url="intro.pmax.html">pmax-specific</ulink></listitem>
	<listitem>sgimips (see the <ulink 
	  url="../../../ports/sgimips/faq.html">FAQ</ulink>)</listitem>
	<listitem><ulink 
	  url="intro.sun.html">sparc-specific</ulink></listitem>
	<listitem><ulink 
	  url="intro.sun.ofw.html">sparc64-specific</ulink></listitem>
	<listitem><ulink 
	  url="intro.sun2.html">sun2-specific</ulink></listitem>
	<listitem><ulink 
	  url="intro.sun.html">sun3-specific</ulink></listitem>
	<listitem><ulink 
	  url="intro.vax.html">vax-specific</ulink></listitem>
      </itemizedlist>
    </listitem>

    <listitem>Setting up the platform-specific bootloader
      <itemizedlist>
	<listitem><ulink url="mop.html">Setting up the <code>mop</code> server</ulink> (vax)</listitem>
	<listitem><ulink url="nd.html">Setting up the <code>nd</code> server</ulink> (sun2)</listitem>
	<listitem><ulink url="rbootd/">Setting up the <code>rbootd</code> server</ulink> (hp300, hp700)</listitem>
	<listitem><ulink url="rarp.html">Setting up the <code>rarp</code> server</ulink> (sparc, sun2, sun3)</listitem>
	<listitem><ulink url="bootpd.html">Setting up the <code>bootpd</code> server</ulink> (alpha, macppc, next68k, pmax)</listitem>
	<listitem><ulink url="dhcpd.html">Setting up the <code>dhcpd</code> server</ulink> (i386, macppc, sparc64)</listitem>
	<listitem>Setting up <ulink url="local.html">local</ulink> bootblocks, but netbooting everything else</listitem>
      </itemizedlist>
    </listitem>

    <listitem>Setting up the daemons to transfer the kernel
      <itemizedlist>
	<listitem><ulink url="bootparams.html">Setting up the <code>rpc.bootparamd</code> server</ulink></listitem>
	<listitem><ulink url="tftpd.html">Setting up the <code>tftp</code> server</ulink></listitem>
      </itemizedlist>
    </listitem>

    <listitem><ulink 
      url="nfs.html">Setting up the <code>NFS</code> server</ulink></listitem>
    <listitem><ulink 
      url="files.html">Setting up the filesystem</ulink></listitem>
    <listitem><ulink 
      url="finish.html">Finishing up your installation</ulink></listitem>
  </orderedlist>

  <para>If you are interested in helping this document cover other
    NetBSD ports, or have any other comments or suggestions, please contact
    Michael Wolfson <email>mbw@NetBSD.org</email>,
    or the <ulink 
    url="http://www.NetBSD.org/cgi-bin/feedback.cgi">NetBSD WWW group</ulink>.
    A quick run-down of what's necessary for a new client architecture is 
    <ulink url="todo.newclientarch.txt">available</ulink>.</para>

  <para>Finally, even if you do not have another Unix system available
    for serving the diskless machine, you can use a
    <ulink url="http://www.afn.org/~raub/netbsd/bootpw95.html">Windows
    PC as a BOOTP/TFTP/NFS/FTP server</ulink>. Most of the
    platform-dependent information in this HOW-TO still applies if
    you do it that way.</para>
    
</sect1>

<sect1 id="ack">
  <title>Acknowledgements</title>

  <para>The initial version of this HOW-TO and the hp300 section were 
    written by Michael Wolfson.</para>

  <para>Most of the information in these pages were derived from emails sent
    to the NetBSD/hp300 mailing list. In particular, thanks go to:</para>

  <itemizedlist>
    <listitem>Jason Thorpe, for writing all of the diskless software on the
      NetBSD/hp300 end of things (and for being the NetBSD/hp300 port 
      maintainer);</listitem>
    <listitem>YAMAMORI Takenori, for porting <code>rbootd</code> to SunOS, 
      Solaris, NEWS-OS, HP-UX, and a few other OSes and for
      leaving a trail of documentation in his wake;</listitem>
    <listitem>Peter Maydell, for porting <code>rbootd</code> to Linux 
      and providing copious documentation on the process;</listitem>
    <listitem>Klaus Klein, Rainer Kopietz, Stan Brown, and Peter Radcliffe, 
      for figuring out how to get the NetBSD <code>rbootd</code> to work 
      under FreeBSD;</listitem>
    <listitem>Wes Brown, for hints on how to configure HP-UX to 
      use <code>rbootd</code>;</listitem>
    <listitem>Peter Radcliffe for additional FreeBSD and Solaris info, as 
      well as proofreading;</listitem>
    <listitem>Lazaro Daniel Salem, for suggestions on clustering to save 
      disk space;</listitem>
    <listitem>Curt Sampson, for writing the alpha netboot 
      documentation;</listitem>
    <listitem>Bob Lantz,  Dan Mcmahill, Reiner Buehl for detailed pmax 
      information;</listitem>
    <listitem>And, Brian Chase, author of 
      <ulink url="http://vaxarchive.pimpworks.org/swdist/bsd/bdc/VAX-netboot-HOWTO.html">The VAX Network Booting HOWTO</ulink>
      on which much of this HOW-TO is based.</listitem>
  </itemizedlist>
</sect1>
<parentsec url="../" text="NetBSD Documentation: Network"/>
</webpage>

