Steps taken from my more expansive answer on customizing a 12.04 LiveCD
Creating a custom 12.04 CD with Ubuntu-2D as the default using Ubuntu-Builder
1. Get Ubuntu Builder and your source ISO
Ubuntu Builder automates many of the preliminary steps that had to be done by hand (mount ISO, extract squashfs, create chroot, etc.) It gives you Synaptic and a "graphical" chroot as well (Unity UI).
Download the latest version deb from here, and install with Software Centre or
Also download the Ubuntu Desktop ISO you're planning to work with.
2. Ubuntu Builder Basics
Start Ubuntu Builder from the Launcher. I recommend you set all three fields to "Ubuntu" (like the actual LiveCD), because setting custom fields led to Software Center crashing. When you install, you can choose your own username, machine name, etc. as always.
Load your ISO; I loaded the 64-bit with the Local Disk option, although Ubuntu Builder should be able to download the ISO if you want it to.
- The buttons on the right are self-explanatory.
Console gives you a CLI chroot, while
Desktop gives you a graphical one!, i.e. a LiveCD session itself (this one may take a while to load). Note that the
Select DE/WM does an incomplete job sometimes, so it's better to install via apt-get/Synaptic.
3. Updating and setting Ubuntu 2D as the default
Note: All this can also be done from Synaptic if you are more comfortable with that.
You can edit the
sources.list with the button (or via the console) to add your own mirrors, ppas, etc; you can then update all packages with
sudo apt-get update and
sudo apt-get (dist)upgrade
ubuntu-2d as the default shell: from the CLI chroot, run:
/usr/lib/lightdm/lightdm-set-defaults -s ubuntu-2d
4. Build, test and install!
Build button in Ubuntu Builder to begin building the custom Live-CD ISO. UB automatically handles the cleanup, etc. that previously had to be done manually.
The ISO can be found in
/home/ubuntu-builder; you can test it using the built-in QEMU, or in another virtual machine.
It can be "burned" to USB like the normal ISO, using Unetbootin (recommended), or