1) Setup the hardware - older PCI network cards may require a little cable from the card to the motherboard, onboard adaptors don't.
2) Setup the BIOS - enable WOL in the BIOS, usually under the Power->APM screen, may be a separate entry or covered by something like "Allow PCI/PCIe devices to wake the PC"
3) Check the driver supports WOL, as root run
Supports Wake-on: g
ethtool -s eth0 wol g
4) Stop the kernel from powering off the network card at shutdown. Most distributions call "halt" with the "-i" parameter at the end of the shutdown scripts. That "-i" powers off the network card. Under Ubuntu we can stop this by editing /etc/default/halt as root
# Default behaviour of shutdown -h / halt. Set to "halt" or "poweroff".
# Enable WOL
5) Find the MAC address of the system by running
6) Power down the machine and check the lights on the network interface are still on.
7) On the machine that will boot up the other one, install "wakeonlan" e.g.
sudo apt-get install wakeonlan
You can now do