Previous | Next | Table of Contents

Introduction (hp700-specific), Diskless NetBSD HOW-TO

Client hardware requirements

Setting up the client hardware

How is the kernel loaded? or How do I boot a different kernel?

The file that you want to have rbootd or tftpd serve to your client is called SYSNBSD. Uncompress the SYSNBSD.gz found under the installation/lifboot directory of the snapshot. This file is large because it contains the kernel that your machine will boot and run.

This is because the NetBSD/hp700 boot program only knows how to use the firmware to load a kernel from the very same Logical Interchange Format (LIF) volume that contained the boot program. This is why every time you recompile the kernel, you need to use the mkboot program to rebuild the LIF volume served by rbootd or tftpd. Otherwise, you'll just load the old kernel the next time you reboot.

For example, to rebuild the LIF volume /usr/mdec/rbootd/SYSNBSD from the kernel in /usr/obj/sys/arch/hp700/compile/GENERIC, you might do:

cd /usr/obj/sys/arch/hp700/compile/GENERIC
ln -sf /usr/obj/sys/arch/hp700/stand/boot/boot ./boot
mkboot -v boot netbsd /usr/mdec/rbootd/SYSNBSD
Note that this assumes that you have a suitable mkboot program, compiled for the host, in your PATH. mkboot is found under sys/arch/hp700/stand/mkboot and should be compilable on any NetBSD host.

How the Boot ROM starts loading from a diskless server (older models)

HP intended for older Series 700 machines (and Series 300/400 models) to entirely use the RMP (Remote Maintenance Protocol) for all things diskless (including filesystem). To keep things simple, the NetBSD folks have only implemented the bootstrapping procedure (known as rbootd), wherein the Boot ROM gets the initial bootloader. Here's what happens when you power on your hp700:

  1. The Boot ROM runs through a bunch of hardware checks
  2. The Boot ROM checks for the bootloader in various places (see above)
  3. When it gets to checking the ethernet, it will broadcast an RMP Boot Request packet
  4. If it gets a response, it will send another request (this time asking for the name(s) of the bootloaders on that server)
  5. If the user selects that device to boot, the server will send the bootloader to the client using RMP
  6. The Boot ROM will transfer control to the bootloader and it will load the kernel from the same location as the bootloader.
  7. The bootloader will transfer control to the kernel, and the kernel will start looking for the root filesystem (usually assumed to be a NFS mount).
  8. The kernel sends a BOOTP request looking for the machine's IP address and the location of the root filesystem, so you will need a BOOTP daemon on your NFS server.

How the Boot ROM starts loading from a diskless server (newer models)

HP finally got smart and started using the standard technique of BOOTP/TFTP to locate a bootloader and kernel. The DHCP server in BOOTP-compatible mode can be used instead of the BOOTP daemon. Here's what happens when you power on your hp700:

  1. The Boot ROM runs through a bunch of hardware checks
  2. The Boot ROM checks for the bootloader in various places (see above)
  3. When it gets to checking the ethernet, it will broadcast a BOOTP discovery packet
  4. If it gets a response, it will send another request (this time asking for the name of the bootloaders on that server)
  5. If the user selects that device to boot, the Boot ROM will download the bootloader using TFTP.
  6. The Boot ROM will transfer control to the bootloader and it will load the kernel from the same server using NFS.
  7. The bootloader will transfer control to the kernel, and the kernel will start looking for the root filesystem (usually assumed to be a NFS mount).
  8. The kernel sends a BOOTP request looking for the machine's IP address and the location of the root filesystem.

Begin setting things up (suggested order):

  1. rbootd (for earlier models)
  2. dhcpd (in BOOTP-compatible mode) or bootpd
  3. tftpd (for later models)
  4. nfs
  5. client filesystem
  6. finishing up

Previous | Next | Table of Contents
NetBSD Home Page
NetBSD Documentation top level

(Contact us) $NetBSD: intro.hp700.html,v 1.4 2007/08/01 15:36:01 kano Exp $
Copyright © 1998-2004 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.