Friday, October 23, 2009

How to create an Ubuntu All-in-one Live DVD

Get started by downloading all the desktop ISO images using Bittorrent.

I prefer to use the Terminal (Applications-Accessories-Terminal), and all below commands are to be entered in the Terminal. Since this is a slightly advanced topic, I assume that anyone trying this is familiar with the Terminal, paths, autocompletion, apt-get, etc.

Create a directory to hold your AIO (All-in-one) DVD structure, and copied the required files into it:

mkdir -p ~/ubuntuaio/isos
cp /downloads/cdimages/*buntu* ~/ubuntuaio/isos/

You will need Grub4dos; you can download it from here; (I used version 0.4.4, check all available versions here) extract the archive, and continue:

cp /downloads/grub4dos-0.4.4/grldr ~/ubuntuaio/

Create a suitable menu.lst file in the same directory which contains grldr; here's a sample below:

#start menu.lst

# This is a sample menu.lst file. You should make some changes to it.

timeout 30
default /default

title Ubuntu LiveCD
find --set-root /isos/ubuntu-9.04-desktop-i386.iso
map /isos/ubuntu-9.04-desktop-i386.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper iso-scan/filename=/isos/ubuntu-9.04-desktop-i386.iso quiet splash --
initrd /casper/initrd.gz
boot


title Kubuntu LiveCD
find --set-root /isos/kubuntu-9.04-desktop-i386.iso
map /isos/kubuntu-9.04-desktop-i386.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper iso-scan/filename=/isos/kubuntu-9.04-desktop-i386.iso quiet splash --
initrd /casper/initrd.gz
boot


title Xubuntu LiveCD
find --set-root /isos/xubuntu-9.04-desktop-i386.iso
map /isos/xubuntu-9.04-desktop-i386.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper iso-scan/filename=/isos/xubuntu-9.04-desktop-i386.iso quiet splash --
initrd /casper/initrd.gz
boot


title MythBuntu LiveCD
find --set-root /isos/mythbuntu-9.04-desktop-i386.iso
map /isos/mythbuntu-9.04-desktop-i386.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper iso-scan/filename=/isos/mythbuntu-9.04-desktop-i386.iso quiet splash --
initrd /casper/initrd.gz
boot

title commandline
commandline

#end menu.lst

You are now ready to create a DVD image. Ensure that you have enough free space left (approx 0.7GB per live CD included in your AIOLiveDVD / upto 9GB if you plan to use dvdisaster as outlined below). Give the command

cd ~
mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o ubuntuaio.iso ubuntuaio/


This will create an ubuntuaio.iso DVD image in your home directory that can be burnt to any DVD+/-R/W.
One additional (optional) step: If you have more than 25% free space on your DVD, use dvdisaster to fill up the blank space in the DVD with ECC/RS02 (Error Correction Codec / Embedded ECC) so that your DVD can be read even with slight scratches on the surface:

dvdisaster -i ubuntuaio.iso -mRS02 -c

The ubuntuaio.iso image is now ready! You can test it out in virtual box, or by burning it on a rewriteable DVD.

Thursday, October 22, 2009

I've been trying to make an Ubuntu All In One (AIO) live DVD for quite a while now. You can follow my progress (or lack thereof) on this thread at ubuntuforums.org.

Despite various attempts, about 15 physical "coaster" DVDs, I have not managed to succeed; until I read this post about (not-very-aptly-named) Grub4DOS.

This gave me the clue that I needed to create the UbuntuAIO Live DVD of my dreams.

Shown below are screenshots (Taken while running the UbuntuAIO in VirtualBox) :

bootup grub screen to select desired LiveCD:


Xubuntu LiveCD launch screen:



Kubuntu LiveCD launch screen:



Mythbuntu LiveCD launch screen:




You can also take a peek at this video showing off the Ubuntu AIO Live DVD.

In a later post, I will put details on how to make a custom Live DVD, though it's really laughably simple; it just involves copying the live ISO images to a single directory, then creating a relevant "menu.lst" file and copying it and "grldr" from Grub4DOS to the correct locations. This directory is then converted to an ISO image that can be burnt to DVD. Exact details here.