To create a bootable USB drive from the ISO I listed below use this utility: usb-creator-gtk (ubuntu's utility fails.)

Following these steps, literally, step by step, from I have get to mount /proc and then receive: root@Colin-PC:/# mount /proc warning: can't open /etc/mtab: No such file or directory mount: can't find /proc in /etc/fstab or /etc/mtab root@Colin-PC:/# mount /sys warning: can't open /etc/mtab: No such file or directory mount: can't find /sys in /etc/fstab or /etc/mtab

The next command succeeds. On I go. I have made it successfully to the section, "Graphical installer, optional step" I will proceed with this step as I see potential value in this feature.

AFTER THOUGHT: The graphical installers take over 400mb of space in terms of pure .debs. if not 500mb. This will SIGNIFICANTLY slow down the boot process when these features are invoked as squash uncompresses the filesystem in realtime.

Upon apt-get install ubiquity-frontend-gtk, after package installation, I was prompted for "Linux command line" for configuring grub-pc. I haven't the faintest clue what to put here. Leaving it blank. The next screen for grub-pc prompts for kernel parameters, two are given. quiet and splash. Makes sense. I'd imagine what I left blank was expecting kernel /boot/vmlinuz-kernelversion or something of the like. About to find out Smile :-)

Dpkg output: Setting up ubiquity-ubuntu-artwork (1.99.22) ... Setting up ubiquity-casper (1.194) ... dpkg: dependency problems prevent configuration of ubiquity:

  • ubiquity depends on console-setup (>= 1.34ubuntu2); however:

    • Package console-setup is not configured yet.

dpkg: error processing ubiquity (--configure):

  • dependency problems - leaving unconfigured

No apport report written because the error message indicates its a followup error from a previous failure.

  • dpkg: dependency problems prevent configuration of ubiquity-frontend-gtk:
  • ubiquity-frontend-gtk depends on ubiquity (= 1.99.22); however:
    • Package ubiquity is not configured yet.

dpkg: error processing ubiquity-frontend-gtk (--configure):

  • dependency problems - leaving unconfigured

Setting up xfonts-encodings (1:1.0.2-3) ... No apport report written because the error message indicates its a followup error from a previous failure.

  • Setting up xfonts-utils (1:7.4+1ubuntu1) ...

Setting up x-ttcidfont-conf (32) ... Updating font configuration of x-ttcidfont-conf... Cleaning up category cmap.. Cleaning up category cid.. Cleaning up category truetype.. Updating category truetype.. Updating category cid.. Updating category cmap..

Setting up gnome-system-tools (2.28.0-0ubuntu1) ...

Setting up grub-common (1.97~beta3-1ubuntu5) ... Setting up grub-pc (1.97~beta3-1ubuntu5) ...

Creating config file /etc/default/grub with new version

Processing triggers for libc-bin ... ldconfig deferred processing now taking place Processing triggers for initramfs-tools ... Processing triggers for python-support ... Errors were encountered while processing:

  • console-setup ubiquity ubiquity-frontend-gtk

E: Sub-process /usr/bin/dpkg returned an error code (1)

Not good. Will continue on and see what happens. I will redo the squashfs and skip this step if it's broken. Smile :)

Both graphical installer apt-gets break. Here is the second step's output:

Errors were encountered while processing:

  • console-setup ubiquity ubiquity-frontend-kde ubiquity-frontend-gtk

E: Sub-process /usr/bin/dpkg returned an error code (1)

D'oh! FYI. I used the Jaunty bootstrap. Should be stable. lol.

rm /etc/resolv.conf FAILED

umount -l -f /proc FAILED umount -l -f /sys FAILED umount /dev/pts worked

cp chroot/boot/vmlinuz-2.6.**-**-generic image/casper/vmlinuz FAILED replaced with: sudo apt-get install linux-generic then sudo cp /boot/vmlinuz-2.6.31-10-generic chroot/boot sudo cp /boot/initrd.img-2.6.31-10-generic chroot/boot

Skipped Splash Screen section.

BEFORE I CREATE THE MANIFEST I PULL GASP, Geany, and GASP-GAMES via the BZR repositories and Geany via apt-get install geany: sudo chroot chroot/ Restore /etc/resolv.conf with the text "nameserver x.x.x.x" no quotes. so apt-get & bzr works. apt-get install bzr mkdir gasp bzr branch lp:gasp-core/0.3.x mv 0.3.x/ gasp mkdir gasp-games cd gasp-games bzr branch lp:gasp-games cd .. mkdir gasp-lessons bzr branch lp:gasp-lessons cd .. exit (to exit the chroot)

On to the manifest creation:

When it comes time to paste in: for i in $REMOVE do

  • sudo sed -i "/${i}/d" image/casper/filesystem.manifest-desktop

done it'll give you > prompt at the end, press enter to complete the process

Compress the chroot with: sudo mksquashfs chroot image/casper/filesystem.squashfs -e chroot/boot

Anything I left out, I followed instructions and they worked. Produced the ISO image.

Grab the ISO at:

Use the USB Creator Utility to create the bootable USB stick.


I have been using Linux since I was in the 7th grade. I took Linux up seriously in my high school years at Yorktown High School's Computer Science class, taught by JeffreyElkner.

I first heard of Ubuntu in January of 2005. I have since installed Ubuntu on all my boxes. I attended Ubuntu Down Under in Sydney, Australia.

I will participate on Ubuntu's DCTeam and actively help to pioneer the creation of Edubuntu.

Documentation on making a modified version of Sugar on a Stick per Jeff Elkner's specifications:

First, download Sugar on a Stick from:

Mount the ISO readwrite by creating a new directory, eg, /home/colin/newiso, then sudo mount -o loop -t iso9660 /home/colin/Desktop/soas-strawberry.iso /home/colin/newiso You now have readwrite access to that ISO image and can modify it as you please.

Creating a Live USB Customized Ubuntu 9.04 stick:

Acquire boot.img.gz from: This contains the initial VFAT filesystem with the kernel, initrd, etc, syslinux, etc. All essential to the boot process.

Plug in your usb drive

Unmount the usb drive: type umount /dev/sxx1 (or whatever device your pen drive is).

say you downloaded boot.img.gz to /home/jeff/Downloads, perform cd /home/jeff/Downloads

MAKE THE VFAT FILESYSTEM FIRST on /dev/sxx1 or you will be limited to 782M (as if you typed mkfs.vfat /dev/sxx) as that is the partition table setup of boot.img.gz

Type sudo zcat boot.img.gz > /dev/sxx1 (this will extract the contents of boot.img.gz onto the usb stick), enabling you to boot off the USB drive.

If you get a permission denied message when you try this, type: sudo chmod 666 /dev/sxx1 and then type sudo zcat boot.img.gz > /dev/sxx1 (that should remedy the problem.)

Unplug and plug USB drive back in. This will cause usb stick to mount automatically. If not, mount it manually, via sudo mount /dev/sxx1 /mountpoint

Now, we have a USB drive formatted as VFAT, we need to copy the root filesystem recursively with the flags -R and -L for cp to ensure proper duplication of the filesystem of the modified Ubuntu distribution. I highly recommend using VirtualBox to create the modified Ubuntu distribution as that provides you with a clean Ubuntu 9.04 install or using a small 20gb partition that you can triple boot to for a clean workspace. Therefore, you can modify the distribution as you wish without any additional bloatware that you do not want.

I have found that after you sudo zcat boot.img.gz > /dev/sxx1 the partition size is only 782M! That's not nearly enough for the whole Ubuntu filesystem to fit! So instead, I wiped /dev/sxx and used mkfs.vfat on /dev/sxx1 to ensure full usage of the space available and re-ran sudo zcat boot.img.gz Then I performed cp -R -L /copy(the root filesystem) /chroot/(the usb drive)

To best accomplish copying the root filesystem of your converted .vdi (expand) is to mount the .raw image via loopback then chroot into that environment. Example:

Reboot using usb and enjoy!

Now this is how to create a bootable USB image of Ubuntu 9.04. BUT. We want to modify the contents of the ISO image to include GASP, GASP games and geany.

ColinApplegate (last edited 2009-09-25 21:08:02 by colin-applegate)