Fog is a Linux-based, free and open source computer imaging solution for Windows XP and Vista that ties together a few open-source tools with a php-based web interface. Fog doesn’t use any boot disks, or CDs; everything is done via TFTP and PXE. Also with fog many drivers are built into the kernel, so you don’t really need to worry about drivers (unless there isn’t a linux kernel module for it). Fog also supports putting an image that came from a computer with a 80GB partition onto a machine with a 40GB hard drive as long as the data is less than 40GB.
Fog also includes a graphical Windows service that is used to change the hostname of the PC, restart the computer if a task is created for it, and auto import hosts into the FOG database. The service also installs printers, and does simple snap-ins.
This is a very basic overview of how FOG works. The FOG server, by default, provides DHCP, NFS, PXE, FTP, HTTPD, and WOL services to the clients on the network. All computers on the network should have PXE boot as their first boot device, then as is shown by client 1, FOG will chose if the machine should boot the FOG image, or to the local hard disk. Client 2 in the diagram is pushing an image to the server and storing it using NFS, where it could later be pushed down to other computers. The manager is the machine that controls all the tasks of the FOG server. The manager can be any web enabled device from an IPod touch with Safari to a XP desktop top running IE.