6.2 Booting from a network

It is sometimes very useful to boot from a network, especially when you
use a machine which has no local disk. In this case, you need to obtain
a kind of Net Boot rom, such as a PXE rom or a free software
package like Etherboot. Such a Boot rom first boots the machine,
sets up the network card installed into the machine, and downloads a
second stage boot image from the network. Then, the second image will
try to boot an operating system actually from the network.

GRUB provides two second stage images, nbgrub and
pxegrub (see Images). These images are the same as the
normal Stage 2, except that they set up a network automatically, and try
to load a configuration file from the network, if specified. The usage
is very simple: If the machine has a PXE rom, use
pxegrub. If the machine has an NBI loader such as Etherboot, use
nbgrub. There is no difference between them except their
formats. Since the way to load a second stage image you want to use
should be described in the manual on your Net Boot rom, please
refer to the manual, for more information.

However, there is one thing specific to GRUB. Namely, how to specify a
configuration file in a BOOTP/DHCP server. For now, GRUB uses the tag
`150', to get the name of a configuration file. The following is an
example with a BOOTP configuration:

Note that you should specify the drive name (nd) in the name of
the configuration file. This is because you might change the root drive
before downloading the configuration from the TFTP server when the
preset menu feature is used (see Preset Menu).

See the manual of your BOOTP/DHCP server for more information. The
exact syntax should differ a little from the example.