NetBoot Overview

By: Scott Doenges - Revised: 2007-02-08 richard

Introduction

An overview of NetBoot, Apple's diskless workstation.


What is NetBoot?

NetBoot is a powerful and versatile tool for Macintosh network administrators. It allows you to boot any post-iMac Macintosh from a network volume rather than from the local drive. This makes it particularly easy to administer a large group of machines, since they all use the same "NetBoot HD" disk image as their startup disk.

Apple's NetBoot is based on the Linux Netboot "diskless workstation" idea. It is possible to boot Mac clients from a Linux Netboot server (assuming you know how to set it up properly).

System Requirements

NetBoot Admin Server:
Mac OS X Server 10.x
  • PowerMac G3 or G4 with a 400 MHz or faster processor.
  • 256 MB RAM recommended.
  • Two or more 9 GB drives (multiple drives allow NetBoot to more efficiently allocate resources).
  • Gigabit Ethernet; four-port 100Base-T recommended.

    A Server with this configuration could easily support 50 NetBoot clients. The number of clients that a server can support will vary depending on Ethernet speeds, machine speeds, etc.
NetBoot Clients:
Mac OS 9.x
  • iMac, iBook, PowerMac G3 (Blue), PowerMac G4, G4 Cube, FireWire Powerbook, or PowerBook G4.
  • minimum of 64 MB RAM.

Pricing

NetBoot 2 is part of the Mac OS X Server package, which costs $249 for a 10-user license, or $499 for an unlimited license.

More information on Mac OS X Server can be found here.

Software Components

Server:

Mac OS X Server Admin - the Server Admin app allows you to run File and Web services as well as set up DHCP entries for NetBoot clients.
Macintosh Manager - NetBoot amounts to very little without the additional use of the Macintosh Manager server/application. Mac Manager allows you to create complex sets of rules for different NetBoot users/computers.

Client:

Extensions - there are a handful of extensions that you need to have on the NetBoot HD disk image which your clients boot up from.

Installation

If you bought a Server from Apple, NetBoot is already installed and ready to use.

If you'd like to install NetBoot on your own OS X Server, you're not quite so lucky. I found that it was a huge pain to install NetBoot. It is very picky about which version of NetBoot you use with which version of Mac OS X Server. For example, I tried to install NetBoot 2.0 on OS X Server 10.0.3, and couldn't (the only explanation I got was "There were errors during installation, please try again."). So I tried updating the OS X Server to 10.1, and NetBoot 2.0 gave me the same error. I eventually discovered that the only way to get it to install properly was to update OS X to 10.1.1, then run the full installer of NetBoot 2.0.2 (NOT 2.0). Note: It's been reported that this problem can be circumvented by logging in as Root before running the NetBoot installer. Alternately, you could try using an application like Pseudo that lets you run other applications as Root.

Note that if you don't have or don't want to buy a Mac OS X Server, a Linux Netboot server could be used to Netboot your Mac clients (assuming you know how to set it up properly).

NetBoot is also very poorly documented. The NetBoot section of the OS X Admin Guide consists of 10 pages of vague instructions and unclear installation steps, with almost no actual guide on setting up NetBoot HD images or any of the other functions NetBoot supports.

A PDF called "Inside NetBooting", which has much more detailed information than the PDF that comes with the OS X Server, is available below. If you ask me, it still leaves a lot of questions and potential issues unanswered.

Inside NetBooting – PDF-File, 148.3 KB

Setup

Once you have the Mac OS X Server up and running and you've installed NetBoot, all you have to do to enable it is turn on the DHCP/NetBoot service in the Server Admin application. You'll also need to set up a range of IP addresses for your DHCP/NetBoot server to hand out to its clients:


Unfortunately there is no way to assign an IP to a particular hardware address in the Server Admin app. This caused a lot of problems for me since PCs in the same subnet kept grabbing the IPs being offered by the Mac OS X DHCP Server, which prevented my NetBoot clients from getting IPs and starting up. Supposedly the NetBoot server reserves an IP for a Mac once it's connected to the server, but I found this not to be the case - PCs grab the IP if the NetBoot client is shut off. Possible solutions to this would be to use a DHCP Server that supports static IP assignments (to ensure that the same machine always gets the same IP), or make sure that you only use DHCP on machines that you want to be NetBoot clients.

Once you've got your IP range entered in, all you need to do is start up a client and hold down the "N" key. This will cause your client to boot up from the pre-installed OS 9.1 disk image that comes with NetBoot 2 (I believe NetBoot 1 came with an 8.6 image, which will not work with G4s).

While booted off of the NetBoot image on a client computer, you can log in as an Admin and use the "NetBoot Desktop Admin" application to install software and OS upgrades onto the NetBoot HD disk image.

Links

Macintosh NetBoot links:

NetBoot at U of Iowa:
http://www.apple.com/education/hed/aua0202/iowa/ (link dead)

A very comprehensive NetBoot 1.x site with multiple sections:
http://mike.passwall.com/macnc/

ISC DHCP 3.0 Mac Netboot Patch:
http://staff.harrisonburg.k12.va.us/~rlineweaver/macnb/

Mac OS X Server: Netbooting with multiple ethernet ports:
http://www.scms.waikato.ac.nz/~harry/references/macosx/netbooting.html (link dead)

Network Computing - Mac OS X Server On the Right Track:
http://www.networkcomputing.com/1012/1012f44.html

Netbooting Macs from Linux/Unix:
http://frank.gwc.org.uk/~ali/nb/

Macintosh Manager

NetBoot by itself really doesn't amount to much without the additional use of Macintosh Manager, a Server Admin application that gives Admins advanced options to control any number of different machines and user accounts. Click here for an overview of Macintosh Manager.