• About me
    Computers
  • OpenBSD
  • What I do

  • My Photos
  • Selected Photos
    Distractions
  • Ice Climbing Pages
  • Rock Climbing
  • Alpine Climbing
  • Mtn Biking
  • Scrambling
  • Backpacking
  • Music
  • My LandCruiser
  • Netbooting Sun SPARC machines

    This document is entirely based on the OpenBSD diskless(8) manual page. While that page is correct and complete, it covers all architectures. It also covers running machines completely diskless and usually people just want to boot off the network temporarily just to install. I've easily done this a hundred times, and yet it's easy to forget a step. I've created the list below for my own use, specifically for netbooting Sun SPARC machines.

    You'll need a machine on the same network as the target machine from which to netboot off of (a server). These steps refer to what you need to do on the server:

    • Find the client's Ethernet address (from the PROM) and add it to /etc/ethers
      a:b:c:d:e:f myclient

    • Start the reverse ARP daemon:
      # rarpd -d -f (start in foreground so you can see what's going on)

    • Assign an IP address of your choice by adding an entry to /etc/hosts:
      10.0.0.107 myclient

    • Enable tftp in /etc/inetd.conf and restart inetd. By default it runs in the /tftpboot directory.

    • Place the ofwboot.net file (the bootloader) in /tftpboot.

    • Make a link to a filename named as the client's IP address in hex:
      # ln -s ofwboot.net 0A00006B
      (you can calculate with `echo 10.0.0.107 | awk -F\. '{ printf "%02X%02X%02X%02X\n", $1, $2, $3 ,$4 }'`

    • Edit /etc/bootparams and add an entry for myclient:
      myclient	root=server:/export/myclient/root \
      		swap=server:/export/myclient/swap

    • Start rpc.bootparamd (in foreground to see debug info):
      # rpc.bootparamd -d

    • Add /export/myclient/root to /etc/exports and configure NFS properly if that hasn't been done already (requires portmap and nfsd). The client will try to mount that directory and look for the kernel there. Example /etc/exports entry:
      /export -alldirs -maproot=0 -network 10.0.0 -mask 255.255.255.0

    • Copy the ramdisk (bsd.rd) to the proper path:
      # cp bsd.rd /export/myclient/root/

    Once this is all done, go back to the client's PROM and type at the "ok" prompt:

    boot net bsd.rd

    You should see the rarpd and rpc.bootparamd logs and the client should obtain the boot program from TFTP, afterwards booting bsd.rd from the specified root... good luck, refer to diskless(8) for more.