Build Your Own Custom Ubuntu LiveCD

When I started this project I was surprised of how poor documentation and software was on this subject. My goal was to create a custom Ubuntu liveCD for a group of public computers, change the start-up and background to make it look professional, remove unnecessary programs and add some icons to the desktop for ease of use, that’s it. None of the software packages allowed me to do all of these very simple tasks; they allowed some but now all. I had to the rest of the research myself, gathering hard to find information on the web. Please do not be scared by the shell commands on this article, this is a walkthrough and it is very easy to follow.


There are three software packages that allow you to customize a Ubuntu LiveCD.  Ubuntu Customization Kit, Remastersys and Reconstructor (I tried the installation package, not the website version which costs $5 a month). I discarded Reconstructor because for some reason none of the customizations I made seemed to get transfered to the liveCD image no matter what I did. I could not really use Remastersys because it makes a LiveCD based on a backup of your host; good idea if you have a clean install but I did not. I decided to go with Ubuntu Customization Kit, which has less features but works very well. Unbuntu Customization Kit allows you to set the language, add and remove programs using Synaptic and customize Ubuntu using the configuration editor, etc.

IMPORTANT NOTE BEFORE WE BEGIN: It is a must that your image and your host operating system are the same Ubuntu version. Do not try to customize a Ubuntu 10.10 LiveCD using a host computer running 10.04 or your LiveCD might not work! I learned this the hard way.


Working with Ubuntu Customization Kit

1) Download an image of your favorite Ubuntu version. I decided to go with the latest Ubuntu 10.10, since it boots straight to the liveCD without entering a menu first.

2) Install Ubuntu Customization Kit on your host computer.

3) Start Ubuntu Customization Kit by clicking on Applications -> System Tools -> Ubuntu Customization Kit.

4) Select all desired language packs and the language you want to use as default for your liveCD.

5) Select the desktop environment, for this example we will use gnome which is the one that comes with Ubuntu 10.10.

6) Select the Ubuntu Image you Just downloaded.

7) Name your liveCD.

8 ) Do you want to customize your CD manually during buildong? Select “yes”.

9) Do you want to delete all windows-related files from CD? Select “yes” so that you can have more space on you live CD available for loading programs.

At this point, UCK will start unpacking the files from the ISO image and putting them on a temp directory. We are going to modify these files using the host computer’s terminal, the synaptic and the consoles provided by UCK.

After UCK is finished unpacking the files, the following window will come up:

Package manager: This is basically the same as synaptic, with it you can add or remove any program you wish from the liveCD. If you can’t find the program you are looking for, you probably need to add the source; do this by clicking on Settings -> Repositories on your package manager menu.


Console application: This is the same as your Ubuntu terminal. If you want to get really technical, you can run Gnome Configuration Editor, by typing the following command:

sudo gconf-editor

However we will not be using it for this project.


Continue Building: Self explanatory. Before clicking on this option, make sure you have made absolutely all changes since by clicking this, UCK will start building the final ISO.


Installing or Removing programs

Just use UCK Package Manager (Synaptic) and add or remove anything you wish. You can also add Universe and Multiverse repositories here, by clicking on Setting and Repositories. If you make any changes to the repositories make sure you click on “reload” on the main synaptic window to update the program lists.


Installing Abode Reader and Flash

To install Adobe Reader and Adobe Flash, open the UCK package manager (Synaptic) and click on:

settings -> repositories -> other software tab

There add the following two lines (change the word maverick if you are using a different Ubuntu version):

deb http://archive.canonical.com/ubuntu maverick partner
deb-src http://archive.canonical.com/ubuntu maverick partner

Close the window and don’t forget to hit reload on the main synaptic window, so that synaptic can update its lists. Now Adobe Flash and Adobe Reader should be available on synaptic to be installed.


Remove “Welcome” Window and “Install Ubuntu” Icon From Desktop

If you are going to use the disk as a LiveCD, then the initial “Welcome” window becomes useless. To remove it do the following:

On Ubuntu Customization Kit, open UCK Package Manager and remove Ubiquity.

This will remove the “Install Ubuntu” icon on the desktop as well.


Remove “Samples” Folder

This one is very easy. On the host computer, open a terminal window and type the following (To do this, UCK must have the LiveCD image uncompressed on the host computer’s hard drive. otherwise liveCD temp files won’t exist):


sudo nautilus ~/tmp/remaster-root/etc/skel

There you will find the “Examples” folder, delete it and you are done. To remove “Install Ubuntu 10.10” please read the previous section.


Create Desktop Shortcuts on Your LiveCD

Run liveCD with the ISO image you are going to use as model for your custom LiveCD using Virtualbox or other virtualization program, then create all desktop shortcuts you wish to have on you customized liveCD. Once you have all your shortcuts created, transfer them to you host (your actual computer, not the virtual one). I usually do this by opening a shared folder in the host computer and trasfering everything from the virtual machime to the shared folder in the host through the network.

To customize the desktop on your LiveCD you will have to create a custom folder for it. To do this, open a terminal window on your current operating system (not on UCK’s console window) and type the following command: (To do this, UCK must have the LiveCD image uncmpressed on the host computer’s hard drive. otherwise liveCD temp files won’t exist):


sudo nautilus ~/tmp/remaster-root/etc/skel

There, create a folder called Desktop, (make sure to capitalize the D) and drag the icons you created in your previous liveCD to this new folder.


Change GNOME’s Background

Generally background files are located in /usr/share/backgrounds. Open this directory by issuing the following command on your host computer’s terminal (To do this, UCK must have the LiveCD image uncompressed on the host computer’s hard drive. otherwise liveCD temp files won’t exist):

sudo nautilus ~/tmp/remaster-root/usr/share/backgrounds

Paste your background image in there, making sure to set the wallpaper to the “native” resolution you want displayed. I made mine 1024 X 768 because that is the native resolution of the monitors that I would be using. If you paste the background file using the name “warty-final-ubuntu.png” and replace the one currently there, you can probably skip the following instructions:

Changing files pointing to a different path and background filename (optional)

To change the files to point from the original filename to your background filename, open the “ubuntu-wallpapers.xml” and the “16_ubuntu-wallpapers” files, issuing the following commands on the host computer: (To do this, UCK must have the LiveCD image uncompressed on the host computer’s hard drive. otherwise liveCD temp files won’t exist)

sudo gedit ~/tmp/remaster-root/usr/share/gnome-background-properties/ubuntu-wallpapers.xml

and

sudo gedit ~/tmp/remaster-root/usr/share/gconf/defaults/16_ubuntu-wallpapers

once you have those two files open, look for the following string:

/usr/share/backgrounds/warty-final-ubuntu.png

Change “warty-final-ubuntu.png” to your own background file name.


For XUBUNTU Users:

Please read my soon-to-be-released article “Build Your Own Custom Xubuntu LiveCD”

12 comments:

  1. Pablo Garcia, 1. August 2011, 18:20

    Hi H:
    I am not sure, but read this, it might help you:
    https://help.ubuntu.com/community/CitrixICAClientHowTo

     
  2. H, 1. August 2011, 8:42

    OK, so say i had to install this http://www.citrix.com/English/SS/downloads/details.asp?downloadID=3323
    what would be the APT line for that? or How do i find out the APT line?

    I am really clueless about this.

     
  3. Pablo Garcia, 29. July 2011, 23:56

    Hi H:
    Install it with the package manager, you are probably going to have to add the repositories first though.

     
  4. H, 29. July 2011, 6:18

    Hello there, sorry for bringing up such an old thread its just i am new to Ubuntu and i have been told to make a custom Livecd.

    I am at the APT line part and i am not sure what to put in, I want to install Citrix Receiver into the CD, im not sure how to go about this, it is install on my system as icaclient but how would i go about installing it into the Livecd?

     
  5. Pablo Garcia, 27. June 2011, 12:05

    Hi Shan:

    When you remove Ubiquity following the instructions in the article, this will remove the “Install Ubuntu” icon on the desktop as well. It will leave the “Samples” folder. To remote the “Samples” folder you have to following “Remove Install Menu”. As far as how to edit the buttons on the installation menu, I am not sure. Try asking your question in the Ubuntu forum. However, you probably have to get lucky to get an answer on this subject.

     
  6. shan, 26. June 2011, 21:25

    hi bro…
    i have a problem with my costumize ubuntu.
    what happens if the ubiquity in the removed ?
    while the samples folder “install ubuntu” persists…

    or …
    how to edit the button “try ubuntu” and “install ubuntu” in the ubiquity?
    http://geekyprojects.com/wp-admin/images/create-custom-livecd/livecd-remove-welcome-window.png

    I thank you for your answer…
    and sorry because my english is not good

     
  7. Pablo Garcia, 15. April 2011, 14:34

    Unfortunately I do not have the answer to your question this time. For something as specific as that it is better if you post it on a specialized forum, I do not think the Ubuntu forum will help but you can try. Information on this is unfortunately hard to find.

     
  8. PSR, 14. April 2011, 14:43

    Hi Pablo,

    Thank you very much for the detailed explanation.

    Could please help in disabling automount and starting init script while customizing Live Ubuntu CD?

    Where I can place my init script in Live cd, so that it will start(run) my script after booting?

    Can I place(store) any of my files(ex: some text file for my personal use) in Customized Live CD?

    Thanks in advance

     
  9. Pablo Garcia, 31. March 2011, 11:22

    Hi PSR:
    If you read the section “Working with Ubuntu Customization Kit” it says:

    “At this point, UCK will start unpacking the files from the ISO image and putting them on a temp directory. We are going to modify these files using the host computer’s terminal, the synaptic and the consoles provided by UCK.

    After UCK is finished unpacking the files, the following window will come up:”

    So, whenever you get to a section of the tutorial that has that disclaimer that you asked me about, it just means that you must reach the stage where you have the “Select Items from List” window showing, (This is like the main configuration screen for UCK). When UCK opens that window it will have the files from the CD already transferred to the hard drive so that UCK can work with them to create a new customized ISO.

    I hope it is clear now, it is hard to explain because that window does not have a name, it is just titled “Select items from list”.

     
  10. PSR, 31. March 2011, 5:14

    Hi Pablo,

    Thanks for sharing the info.

    Could you please let me know what is this means?

    “To do this, UCK must have the LiveCD image uncompressed on the host computer’s hard drive. otherwise liveCD temp files won’t exist”

    Thanks
    PSR

     
  11. Pablo Garcia, 1. March 2011, 17:44

    Thanks for the tip Vartan

     
  12. Vartan, 1. March 2011, 17:02

    Thank you verry mutch, to configure all you can on terminal run gnome-propretie-manager and all other ;)

     

Write a comment:


You will receive an email when your comment is answered


2 × = eight

.