MondoRescue supports image deployment using Pre eXecution Environment (PXE)
Linux deployments with PXE is documented at http://syslinux.zytor.com/pxe.php
Multiple parameters are available at restore time for PXE support:

broadcast   Network broadcast to setup on the device (e.g. 192.168.1.255)
dhcp        The LAN interface is automatically setup from DHCP
            (replaces ipaddr, netmask, broadcast, gateway)
gateway     The default gateway to setup (e.g. 192.168.1.254)
hwaddr      MAC address of the device to use to restore through (optional)
ipaddr      IP Address to setup on the device (e.g. 192.168.1.1)
ipdev       Device name (e.g. eth2)
iproute     Additional static route (uses "route add" syntax with : separator)
            (e.g. iproute="-net:192.168.8.0:netmask:255.255.255.0:dev:eth3)
mountpoint  Mount point on the Remote Network server to use 
            (if NFS, should be in /etc/exports of the NFS server)
netfsmount  Server and mountpoint on which the ISO is available (optional)
            (if SSHFS the server part can be of the form user@server)
netfsopt    Contains options passed to the mount command (optional)
netfspath   Local path on the remote server where image is located (optional)
netmask     Netmask to setup on the device (e.g. 255.255.255.0)
proto       Protocol to use for mounting the remote share 
            (default is NFS, sshfs and smbfs are also available)
ramdisk_size Size of the RAM disk where the initrd is exploded
server      IP address of the Remote Network server

To use it, on your deployment server, add the following line to your conf file:
label mondo
        kernel vmlinuz-mondo
        append initrd=initrd-mondo load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=131072 selinux=0 rw root=/dev/ram iso acpi=off apm=off devfs=nomount exec-shield=0 pxe [proto=nfs|sshfs|smbfs] [prefix=machine] [ipconf=(ipdev:ipadr:netmask:broadcast:gateway|ipdev:dhcp)] [hwaddr=M:A:C:A:D:R] [netfsmount=server:mountpoint] [netfsopt=-o option][netfspath=local_path] [ping=#] [iproute=-net:netdest:[netmask:Nm]gw:GW] ...

The [] mean this parameter is optional
The () mean that you have a choice with the '|' meaning 'or'

The initrd and kernel file come from the first bootable media 
created by mondoarchive. To get them, please issue:

# mount /path/to/mondorescue-1.iso /mnt/cdrom -o loop
# cp -a /mnt/cdrom/vmlinuz /var/tftpboot/vmlinuz-mondo
# cp -a /mnt/cdrom/initrd.img /var/tftpboot/initrd-mondo
# umount /mnt/cdrom

Thus the PXE ROM will boot mondo's kernel and mondo's initrd in memory and will append all the right configuration options (as you find in isolinux.cfg on the first bootable media) to which you need to add the keyword pxe.
(You need to have backup your data using the NFS option of mondoarchive)

If you used the -p option of mondoarchive, you may specify the real name of mondo images to use during restore. To do that use prefix=machine on the initrd line, after the pxe keyword, to load the ISO images saved with -p machine.
Without prefix keyword, the name of the images used during archiving with the -p option will be used (they may differ). If -p wasn't used then the name mondorescue-1.iso, ... will be used.

During boot mondorestore will start your NFS configuration and mount mondo's content from the network rather than from a physical media. You may alter the IP configuration stored from the original machine by passing the ipconf option describing respectively the IP address, netmask, broadcast and default gateway you want to setup for the machine, separated by ':'. Or alternatively, you may specify the dhcp keyword so that a DHCP request is made to get those information. In the 2 cases, you have to mention on which physical interface those parameters should apply. On some configurations, you may also want to increase the number of ping queries made before the NFS mount, which is of 3 by default, using the ping option and give the number you want. If you have a different NFS server for the deployment than for the archiving, you can also precise it through the netfsmount option. The structure on both server under the mountpoint has to be the same.

CAVEAT: the limit to the number of char on the append line is 255. Use symlinks to reduce the size of your path if needed.

NOTE: If you don't have selinux=0 on the boot line, you may have issues restoring extended attributes on your filesystem and thus be unable to log on at next reboot after restore.

Please report any problem around that tool to bruno_at_mondorescue.org

$Id: README.pxe 3173 2013-07-29 07:08:58Z bruno $

2013-07-25 adds support for iproute
2011-10-09 adds support for hwaddr
2009-12-05 nfsopt added tp allow for custom options at mount time
2009-09-09 Changed to netfs for multi protocol support (nfs, sshfs, ...)
2009-05-07 nfspath added to allow redeployment from another NFS directory
2006-06-10 nfsmount added to allow redeployment from another NFS server
2006-06-02 ipdev added to allow redeployment on another interface
2005-12-18 new ipconf and ping option
2005-12-14 detailed explanations on where to find initrd and kernel
