Ubuntu Server or Cleint

  • Looking to install FOG on Ubuntu 12.

    I typically use Ubuntu Server instead of the client

    Is that OK ? – Since the server is lighter (less baggage) will there be missing components that FOG requires from the client install ???

  • 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

    1. 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
    get fog_1.1.0.tar.gz

    1. Extract the tar file

    tar -xvzf fog_1.1.0.tar.gz
    cd fog_1.1.0/bin

    3.Start the Install

    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.

    1. 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.

    1. 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.

    1. 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

    1. 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.
    2. 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.
    3. 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.
    4. 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.
    5. The regular DHCP server responds back with an ACK (acknowledgement), letting the client know it can use the IP configuration information it requested.
    6. 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.
      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

    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:


    Log lots of extra information about DHCP transactions.


    Dnsmasq can also function as a TFTP server. You may uninstall

    tftpd-hpa if you like, and uncomment the next line:


    Set the root directory for files available via FTP.


    The boot filename.


    rootpath option, for NFS


    kill multicast


    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.


    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.


    This range(s) is for the private network on 2-NIC servers,

    where dnsmasq functions as a normal DHCP server, providing IP leases.


    For static client IPs, and only for the private subnets,

    you may put entries like this:


    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

  • Developer

    If you run into issues with Ubuntu, I recommend debian like VincentJ, its the base from which Ubuntu is built. The terminal commands are the same as in Ubuntu, it’s just an all around stable build.

  • Thanks all for the replies 12.04.4 64bit LTS it is

  • Developer

    FOG does not require a Desktop version of the Linux OS, actually a LTS version is recommended as long as you are comfortable working with a cli and not a GUI.

  • Developer

    i use Ubuntu 12.04 LTS server myself.

  • Moderator

    the installer uses Apt to install stuff,

    I run on Debian and I’ve not had major problems.

Log in to reply