How to Setup Ubuntu Server/FOG 1.2.0/Create Univeral Windows 7 Image using Sysprep - Step-by-Step

  • [B]EDIT[/B] - [I]Because I was bone idle when I put this on here I omitted the links from the text, I did include them in the downloaded version though, however because a few people have been asking about the links. I have now fixed them in this tutorial! Sorry about that :)[/I]

    This guide has been pieced together from a multitude of sources across the internet then adjusted to be in-line hopefully with the current FOG version of 1.2.0. I can’t take credit for the information in here, people who have struggled before me have provided all this information to help. As I have worked on my initial implementation of the FOG environment I found the resources and write-ups from the various groups extremely valuable. While much of this information exists already, it was spread across a number of sources and required numerous cross references to make my installation function to the level it has. I have tested my universal image across numerous PC’s and laptops of differing makes and model and so far it has worked flawlessly every time.

    This is a write-up to provide guidance on the installation of an Ubuntu Server OS, the FOG (Free Open-Source Ghost) imaging software, configuring FOG, then creating and deploying hardware independent images.

    This tutorial is divided into the following sections
    []· Installing Ubuntu Server
    ]· Configuring and Updating Ubuntu Server
    []· Installing FOG Software
    ]· Configuring your FOG Installation
    []· Workstation Universal Image Creation
    ]· Uploading Your Reference Image to FOG
    I’d like to give a nod to the Ubuntu Forums, the FOG Project community, the Team and the Spiceworks Community.
    []· FogProject
    ]· Ubuntu Forums
    []· Spiceworks Community
    ]· Driverpacks
    What I’ve hoped to accomplish is provide a one-stop resource for FOG installation guidance as well as a number of tweaks I’ve made to increase efficiency. I can’t guarantee that every option I’ve used will be the best option for your environment, so I highly encourage a test environment that allows you to make any necessary tweaks before a full roll out. If you notice any errors in the document or have suggestions for improvement, please feel free to correct me/comment.

    []Go to [URL=‘’][/URL] . Click Download -> Ubuntu Server and for best results pick the LTS distribution. If you’d prefer a GUI you can utilize the desktop system, but I’m breaking down line by line commands for the server CLI so it won’t be necessary. (I used 10.04 LTS but that’s due to my server hardware more than anything. That said FOG has installed and worked flawlessly on this release)
    ]Preferably create a VM, otherwise this can be installed on physical hardware.
    []Minimum of 512MB of RAM, usage is low on the server OS.
    ]Minimum 1 NIC, preferably Gigabit connectivity.
    []If using VLANS, be sure to set the VM in a network that can both route and broadcast to necessary client machines.
    ][B]NOTE[/B] To utilise FOG across subnets/VLANS you must insure that IGMP Multicast is enabled across your switches!!
    3. Leave the Ubuntu install settings at defaults, when it asks you to add packages select none. We’re looking for a JEOS installation (Just Enough Operating System) the less extraneous software this box runs the better.
    4. When it prompts you to create the user account, set it to whatever you want. I used FogUser. Realise that Linux logons are case sensitive for username and MAKE SURE TO WRITE DOWN YOUR CONFIGURED USER INFORMATION!!!
    5. Now wait for the server to reboot.

    Congratulations! You’ve now installed Ubuntu! We’ll step through configuring the server OS for usage and making sure all necessary packages and updates are installed.


    1. Logon with the credentials you configured.
    2. First we want to set the IP of the server so that it doesn’t require DHCP and that DNS is properly configured.
      • Type sudo vi /etc/network/interfaces
      • Press Insert and navigate through the file with the arrow keys.
      i. Using your environments IP schema configure it per my example. Italics are lines that need to be added. [I]NOTE Included IPs are examples only and will vary for your deployment![/I]

    [FONT=Courier New]1.#The loopback network interface[/FONT]
    [FONT=Courier New] lo[/FONT]
    [FONT=Courier New]3.iface lo inet loopback[/FONT]
    [FONT=Courier New]4.[/FONT]
    [FONT=Courier New]5.#The primary network interface[/FONT]
    [FONT=Courier New] eth0[/FONT]
    [FONT=Courier New]7.iface eth0 inet [B][I]static### Set to static IP[/I][/B][/FONT]
    [B][I][FONT=Courier New]8.address[/FONT][/I][/B]
    [B][I][FONT=Courier New]9.netmask[/FONT][/I][/B]
    [B][I][FONT=Courier New]10.gateway[/FONT][/I][/B]
    [B][I][FONT=Courier New][/FONT][/I][/B]
    [B][I][FONT=Courier New]12.broadcast[/FONT][/I][/B]
    [B][I][FONT=Courier New]13.dns-domain ## Your internalDomain Name[/FONT][/I][/B]
    [B][I][FONT=Courier New]14.dns-search[/FONT][/I][/B]
    [B][I][FONT=Courier New]15.dns-nameservers enter your DNS server[/FONT][/I][/B]
    [CENTER][B][I][U][FONT=Courier New]addressesseparatedbya space[/FONT][/U][/I][/B][/CENTER]

    • Also, if you are using a proxy that requires authentication you will need to allow open access for the FOG server. Depending on your configuration it may be difficult getting Ubuntu to authenticate properly.
    8. At the command line type the following commands.
    • sudo apt-get update
    • sudo apt-get upgrade
    • This will find any necessary updates and upgrade any packages that need it
    9. Restart the server if necessary. (sudo shutdown –r now)
    10. Now that networking and server updates are taken care of, we are ready to begin installing the FOG software.


  • Thank you very much for your job, Liam!

    Now I am working in my Final Project of Technical Computer Science Career.

    This document will help me much more reading a lot of documents 🙂

    If I have any questions, can I use this same thread to ask? Thanks in advance,

    T. Capablo.

  • Hello Liam,

    I do appreciate the time you spent creating this document. I wanted to get clarification on one of the steps to make sure im not missing anything.

    The step near the end of the setup, where it says:
    • Set MYSQL_PASSWORD to the password you configured in the FOG
    • Confirm MYSQL_USERNAME is set to root account

    I defined a MySQL password during the install of FOG. Do i need to go in and set it again in the location you referenced? Root is not enabled in Ubuntu by default. I am not sure if this is saying i need to enable root and set that as the username for MySQL?

    i am able to open <fog server>/fog/management

  • Hi Liam. Regarding the Virtualbox, is there a way to share with me your snapshot file? If you agree, I can provide you my onedrive so you can upload it.
    Thanks so much. It could safe us a good time 🙂

  • [quote=“Liam Sullivan, post: 34656, member: 23009”]I used Oracle virtualbox. Free and works perfectly every time[/quote]

    Hi Liam. First of all, congrats for your post! Just in case, would be posible share with us a snapshot of your standard VM?
    Thank you!

  • Sorry about the links, I’ve fixed all these in the tutorial now. Only took me 4 months to get round to it lol 🙂

  • Developer

    [quote=“Corneliu Mahu, post: 39812, member: 27456”]… after uploading the image to fog, my reference pc keeps restarting, do you know what could be? [/quote]

    with only those details to work with, no.
    but, again, this is not the right place to ask that kind of question. if you post this question in the right section, i’ll try to help you.
    it is for the benefit of all that tutorial threads are kept free of unrelated clutter.

  • [quote=“Junkhacker, post: 39800, member: 21583”]sysprep is not required, fog has a built in mechanism for license key changing per host, and tutorial threads are NOT the place to ask questions about general fog usage methods[/quote]

    Sorry Junkhacker, just everywhere in the forums where I was searching for help, it was said to sysprep the windows, that’s why i asked here about that. Thanks for the answer: short and good.
    By the way, may be you know, after uploading the image to fog, my reference pc keeps restarting, do you know what could be? Appreciating your help and answers. I saw you helping lot of people on the forums, and I followed your help files to finish my fog install. I’ve installed fog on RedHat 6 and it works very good.

  • Developer

    sysprep is not required, fog has a built in mechanism for license key changing per host, and tutorial threads are NOT the place to ask questions about general fog usage methods

  • I would like to say a big thank you to Liam for the detailed description, and I’ve one question, may be it was already answered but: It is possible to upload a Windows 7 image to fog without sysprep it? I have one image, with all the drivers and apps I need, ready for a Dell desktop which we have in our company. All the desktops are the same specs: RAM, CPU, HDD. The only thing it microsoft key, they have their own key for activation. It is possible to make a exact clone/copy as Macrium Reflect doing? Can someone answer my question please? Thanks P.S.: I’m new to linux.

  • [FONT=Times New Roman]This is very nice Topic for Server/FOG 1.2.0/[/FONT].

  • [quote=“SouperGrover, post: 38925, member: 27066”]Why do you use undionly.kpxe instead of pxelinux.0 for the bootimage? When I used the value you gave, the PXE boot could never find the file. Is this a file that got generated someplace else?


    Starting with 0.33B(?) FOG moved to iPXE from PXE. iPXE is using undionly.kpxe whereas PXE uses pxelinux.0 from /tftpboot. Assuming you’re running 0.33B or later, your DHCP option 67 should be undionly.kpxe, not pxelinux.0 as FOG used to use - option 66 should still be the FOG server IP. Sounds like your DHCP server isn’t set to the correct bootfile (undionly.kpxe)

  • Why do you use undionly.kpxe instead of pxelinux.0 for the bootimage? When I used the value you gave, the PXE boot could never find the file. Is this a file that got generated someplace else?


  • I would also mention a part in the guide to check the box in [B]Host Menu > Join Domain after image task.[/B]

  • None of the -here links seem to be active in the howto?

  • Great tutorial. I was trying to follow some of the hyperlinks in the guide, but they’re not working?
    " So what we want to do is look at the DriverPacks repository - here"
    “20. First download the Windows Automated Installation Kit (WAIK) for Windows 7 – Here”
    “vi. You can also configure Taskbar and Start Menu settings to apply to all users. Technet Article”

    Question about the driver packs. Does it search for the best driver out of that /inf/ folder or the first one it comes to? I’m planning on dumping the extracted driver cab files from Dell’s website for each model.

  • Developer

    This post is deleted!

  • Is there a tutorial on how to add images to the PXE menu?

  • Excellent job on documenting all of this - I know it took time. Much appreciated!

  • Developer

    [quote=“Leandro Silva, post: 35095, member: 24513”]Hello

    i’m trying to make the install but i’m having a lot of troble with the tftp, if i’m in the fog server i can test the transference successful with this command:
    tftp -v -c get undionly.kpxe

    but when i try to do the same from a host i get a time out i already tried two tftp clients for windows and get time out from both, i can connect to the fog and ping it but not use tftp.

    I already tried to disable ufw and i get the same error.

    I’m using Ubuntu server 10.04.4[/quote]

    Open a thread in the correct section, this thread is suppose to be the instructions to set up only, not a discussion on the issues and how to solve them.