FOG is a Linux-based, free and open source computer imaging solution for Windows XP, Vista and 7 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. 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.
FOG is best implemented on a dedicated server, any spare machine you have. We recommend that you have sufficient hard drive space as each image you make is usually between 5 and 10 GB. Using a RAID array allows imaging multiple computers simultaneously without much performance degradation. A gigabit NIC is recommended. For faster image compression and decompression, provide as much processor and RAM as you can make available.
* FOG is easy for end user. The end user no longer needs to worry about NIC drivers to image a computer, this is all handled by the kernel. FOG management is done via an easy to use web GUI.
* FOG is centralized. Most of tasks done on FOG don’t require the user to visit the client PC. For example if you imaging a computer all you need to do is start the task. After the task is started WOL will turn the computer on if it is off, PXE will load the OS, DHCP will give it an IP address, FOG will tell the server it is in progess, and PartImage will image your computer. Then when imaging is done FOG will tell PXE not to boot the machine to the fog image and your computer boots up. After the computer is booted, if the FOG service is installed, FOG will change the computer’s hostname and that computer is ready to use!
* FOG is easy to access. All you need is a web browser to image a computer, no client software required. We have heard of organizations using FOG who image computers from an iPOD touch or iPhone.
* FOG is Powerful. With features like virus scanning, memory testing, disk wiping, testdisk, and file recovery, FOG does more than just imaging.
* FOG can grow with you. The FOG server can be broken down and run across multiple machines. For example, your NFS, apache, PXE, and DHCP services can all run on different servers to maximize performance.
* FOG is community driven. Is a feature missing in FOG that you would really love to see? If so, let us know and we will do our best to include it in FOG.
* FOG is well documented. The FOG WIKI contains a user guide which is over 50 pages long!
* FOG is free. Whether you have 2 computers or 20,000 computers in your organization, FOG is free!
Installation of FOG:
We are going to install FOG in latest Ubuntu 13.10 saucy salamander.
First of all download the FOG from their official website http://www.fogproject.org
#sudo mkdir -p /opt/fog-setup
#wget –c http://kaz.dl.sourceforge.net/project/freeghost/FOG/fog_0.32/fog_0.32.tar.gz
#tar –xzf fog_0.32.tar.gz
#mv fog_0.32 fog
It ask do you wish to continue Enter : Yes
Select the distribution of linux machine ,mine is ubuntu ,so I selected choice: 
For server installation mode select mode: Normal
Enter the ip address of Fog server : 192.168.31.20
You dont need to set up a router IP but I will in case I ever use the server for DHCP.
Enter the ip address of the Router: 192.168.31.20
Enter the ip address of the DNS server: 192.168.31.20
Would you use DHCP for FOG server Enter: Yes
Install additional language packages: Yes
After checking your entered details , then press : Yes
For ubuntu 13.10 some error will be come , when installing FOG , because of old updation of FOG. It will perfectly install in ubuntu 11.04
When its shows error like this , don’t worry we need to patch with the lastest Udpcast.
Setting up and building UDPCast…Failed!
You can get the patch of udpcast from the FOG wesite after creating an account.
#tar xzf udpcast-20120424.tar.gz
#mv attachment.patch.txt attachment.patch
#mv attachment.patch udpcast-20120424/
#patch -p1 < attachment.patch
#mv udpcast-20120424 udpcast-20071228
#tar czf udpcast-20071228.tar.gz udpcast-20071228
#mv udpcast-20071228.tar.gz /opt/fog-setup/fog/packages
Browse to http://localhost/fog/management
Default username : fog
Click to log in. You can now reach this webpage from anywhere on the network where your server is installed by using it’s ip address. eg http://192.168.31.20/fog/management I would reccomend putting an A record in your DNS called FOGSERVER this will make things easier to remember.
That’s it , now you can add hosts and images for your client machine to boot … for managing fog server and client configuration follow the documention of FOG server
After adding images and client boot up through PXE it show like this…