I had FOG running on Ubuntu it was very slooow 12-16 hours to take an image
I made a couple of changes and everything started to fail
Attempting to do a virus load failed
doing a memory test Failed
doin another image failed …
So I figured let me start over - I am using dnsmasq to do the PXE boot
Will attempt using the following steps (using the latest version of fog)
sudo -i
Get the tar file
wget did not for so I downloaded the current version to FTP server
logon to fog server
sudo -i
ftp to ftpServer
bin
get fog_1.1.0.tar.gz
exit
Extract the tar file
tar -xvzf fog_1.1.0.tar.gz
cd fog_1.1.0/bin
3.Start the Install
./installfog.sh
The following commands are for the installfog.sh installer information. Change the relevant values for your particular system.
Type 2 and press Enter for Ubuntu installation.
Type N and press Enter for Normal installation
Supply IP Address, it SHOULD be the static IP address you set up earlier, if it is not please revert to step 5 and try again.
Type N and press Enter setup a router address for the DHCP Server.
Type N and press Enter to set up DNS.
Type N and press Enter to leave the default Network Card the same.
Type N to use FOG for DHCP Service.
Type N to not install Additional Languages.
Type N to donate and press Enter.
Do the install
Type Y to continue
Next it will begin the install
Press ENTER to acknowledge the MySQl server message
NOTE: I set up MySQL with default passwords for MYSQL
Answer N when asked if I left the MySQL password Blank
Enter the password you used for MySQL and press enter
Enter the Password again and press enter.
Do the Database Schema Installer
Now we need to set up the web GUI for FOG. You will be preseted with a URL [url]http://(serveripaddress)/fog/management[/url].
Copy and past that into your browser and the click on the Install/Upgrade Now button
Press [Enter] key when database is updated/installed.
Type N to send your install information to the Project, and it will take some time to complete.
Script done, Install logged to file is /var/log/foginstall.log
apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
=======================
How ProxyDHCP works
When a PXE client boots up, it sends a DHCP Discover broadcast on the network, which includes a list of information the client would like from the DHCP server, and some information identifying itself as a PXE capable device.
A regular DHCP server responds with a DHCP Offer, which contains possible values for network settings requested by the client.Usually a possible IP address, subnet mask, router (gateway) address, dns domain name, etc.
Because the client identified itself as a PXEClient, the proxyDHCP server also responds with a DHCP Offer with additional information, but not IP address info. It leaves the IP address assigning to the regular DHCP server. The proxyDHCP server provides the next-server-name and boot file name values, which is used by the client during the upcoming TFTP transaction.
The PXE Client responds to the DHCP Offer with a DHCP Request, where it officially requests the IP configuration information from the regular DHCP server.
The regular DHCP server responds back with an ACK (acknowledgement), letting the client know it can use the IP configuration information it requested.
The client now has its IP configuration information, TFTP Server name, and boot file name and it initiate a TFTP transaction to download the boot file.
Environment
Tested working with:
OS Version FOG Version
Ubuntu 10.04 LTS x64 Fog 0.29
Ubuntu 10.04 LTS x32,x64 Fog 0.32, Fog 1.0.1, Fog 1.1.0
Ubuntu 11.04 x32, x64 Fog 0.32, Fog 1.0.1, Fog 1.1.0
Ubuntu 12.04, 12.10 LTS x32, x64 Fog 0.32, Fog 1.0.1, Fog 1.1.0
Ubuntu 13.04, 13.10 x32, x64 Fog 0.32, Fog 1.0.1, Fog 1.1.0
dnsmasq
LTSP Server, further documentation at Ubuntu LTSP/ProxyDHCP.
Edit /etc/exports to look like this:
vi /etc/exports
/images *(ro,async,no_wdelay,insecure_locks,no_root_squash,insecure)
/images/dev *(rw,async,no_wdelay,no_root_squash,insecure)
apt-get install dnsmasq
vi /etc/dnsmasq.d/ltsp.conf
add the following
Sample configuration for dnsmasq to function as a proxyDHCP server,
enabling LTSP clients to boot when an external, unmodifiable DHCP
server is present.
The main dnsmasq configuration is in /etc/dnsmasq.conf;
the contents of this script are added to the main configuration.
You may modify the file to suit your needs.
Don’t function as a DNS server:
port=0
Log lots of extra information about DHCP transactions.
log-dhcp
Dnsmasq can also function as a TFTP server. You may uninstall
tftpd-hpa if you like, and uncomment the next line:
enable-tftp
Set the root directory for files available via FTP.
tftp-root=/tftpboot
The boot filename.
#dhcp-boot=pxelinux.0
dhcp-boot=undionly.kpxe,172.16.50.254
rootpath option, for NFS
dhcp-option=17,/images
kill multicast
dhcp-option=vendor:PXEClient,6,2b
Disable re-use of the DHCP servername and filename fields as extra
option space. That’s to avoid confusing some old or broken DHCP clients.
dhcp-no-override
PXE menu. The first part is the text displayed to the user. The second is the timeout, in seconds.
pxe-prompt=“Press F8 for boot menu”, 10
The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86,
Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI
This option is first and will be the default if there is no input from the user.
#pxe-service=X86PC, “Boot from network”, pxelinux
pxe-service=X86PC, “Boot from network”, undionly
A boot service type of 0 is special, and will abort the
net boot procedure and continue booting from local media.
pxe-service=X86PC, “Boot from local hard disk”, 0
If an integer boot service type, rather than a basename is given, then the
PXE client will search for a suitable boot service for that type on the
network. This search may be done by multicast or broadcast, or direct to a
server if its IP address is provided.
pxe-service=x86PC, “Install windows from RIS server”, 1
This range(s) is for the public interface, where dnsmasq functions
as a proxy DHCP server providing boot information but no IP leases.
Any ip in the subnet will do, so you may just put your server NIC ip here.
Since dnsmasq is not providing true DHCP services, you do not want it
handing out IP addresses. Just put your servers IP address for the interface
that is connected to the network on which the FOG clients exist.
If this setting is incorrect, the dnsmasq may not start, rendering
your proxyDHCP ineffective.
#dhcp-range=172.16.50.254,proxy
dhcp-range=172.16.8.167,proxy,255.255.0.0
This range(s) is for the private network on 2-NIC servers,
where dnsmasq functions as a normal DHCP server, providing IP leases.
dhcp-range=192.168.0.20,192.168.0.250,8h
For static client IPs, and only for the private subnets,
you may put entries like this:
dhcp-host=00:20:e0:3b:13:af,10.160.31.111,client111,infinite
restart your dnsmasq service
sudo service dnsmasq restart
Make a symlink for the undionly.kpxe file so dnsmasq can find it.
cd /tftpboot
sudo ln -s undionly.kpxe undionly.0