# [SOLVED] Make a USB Boot CD for Ubuntu



## Done_Fishin (Oct 10, 2006)

Has anyone tried this ??

I have a Toshiba Laptop that has a boot from CD function but otherwise the only other USB option is boot from USB Floppy. 

I have a working Ubuntu CD2USB image of 8.04 & 9.04 on 20GB 2.5inch drives. ON PC's where there is an option for Hard disk boot selection or Boot from USB, these drives allow me to boot into Ubuntu.

On this laptop however there appears to be a major flaw (IMHO) in the BIOS that does NOT let you boot from a USB drive unless it is a Floppy.

Searching the web I came across this site 

*Make a USB Boot CD for Ubuntu*


that helps you build a BOOT CD that allows you to boot from a USB device, however after making and burning the .iso file to a CD, when I try to boot from either of my USB BOOTABLE CD2USB drives, it looks like the boot procedure proceeds normally (loads from drive, see the graphical Ubuntu page with the moving bar) then everything stops at a black screen and the following 



> BusyBox V1.1.3 (Debian 1:1.1.3-5ubuntu12) Built-in shell (ash)
> Enter 'help' for a list of built-in commands .
> 
> (initramfs)


typing help brings up a load of commands, none of which help me to understand where I go from here .. I figure that the laptop has some safeguard or whatever that is blocking me from booting properly. The 9.04 CD when booting from the CD/DVD drive gets to a login window asking for username and password, it doesn't happen on any other PC I use to boot from .. 

are there any commands that I can use to continue the boot procedure or debug why I am stuck at this point .. there is a continue command but it doesn't appear to do anything

I have just tried booting the USB drive via the Boot CD from a PC that allows a USB boot to take place normally .. and I get to that same point .. so I have either burnt it incorrectly or there is something wrong with the way I have burnt it .. 

anyone any ideas please


----------



## wmorri (May 29, 2008)

*Re: Make a USB Boot CD for Ubuntu*

Hi Fishin,

What you run into isn't really a bad thing. Busybox is a very limited virtual terminal, similar to the terminal in the GUI. What I would try is the command "startx" w/o quotes. It should boot into the gui for you and allow you to load the livecd. 

This whole deal with booting a cd to boot a usb seems very odd to me. I don't understand why you can't just create a bootable flash drive. I know that Fedora has a program like that, let me see if I can find one for Ubuntu.

Here is a program that will do what you want from windows. It is called unetboot. See if it works for you.

Cheers!


----------



## Done_Fishin (Oct 10, 2006)

*Re: Make a USB Boot CD for Ubuntu*

My Sister gave me a faulty Toshiba Quosmio G20 laptop, which is now 99% repaired and I want to have a Linux externally bootable OS on it
It's quite nice but does not allow boot from USB EXCEPT Boot from USB Floppy, which to my mind and in our line of work, makes it a a very limited "tool"

I had seen the article above some time back and decided to use it in conjunction with CD2USB since the application DC2USB works fine on PC's that have the boot from USB capability.

Both drives I am using boot fine from USB BOOT 
trying to Boot Ubuntu Live 9.04 on the laptop, brings up a username and password logo that I do not get when Booting Live 8.04. 
The Live 9.04 boots normally on my other 3 PC's.

I tried using the USBimage writer method but it refused to allow me to use my spare laptop hard drives hence the switch to CD2USB. I don't have any spare Flash drives to try it out on .. 

startx brings back the response that startx: not found


note .. 

some sites suggest that it might have to do with a CD in the drive .. I removed the boot cd as soon as ubuntu showed to be loading but still ended up at the same point.

Another site suggested that it might have to do with system drivers .. apart from the possibility that it's losing contact with the USB drive .. I am ruling out the use of SATA and IDE drives since the laptop is SATA whilst the desktop has IDE .. 

I'll keep looking around the web around the web and see what else I can dig up.


----------



## wmorri (May 29, 2008)

*Re: Make a USB Boot CD for Ubuntu*

Fishin,

Do you know if there are any new bois drivers for that laptop. If there are you might want to try to flash them and then see if that gives you the option to boot from the USB. I am not to sure about this problem, I have never seen it before.

Cheers!


----------



## ahmorrow (May 5, 2009)

*Re: Make a USB Boot CD for Ubuntu*

I was thinking the same thing wmorri. Maybe your BIOS just doesn't support booting from USB. Go to the manufacturers website and search for the BIOS drivers or a utility to FLASH the bios.

If that doesn't work then I don't know what to tell you.


----------



## Done_Fishin (Oct 10, 2006)

*Re: Make a USB Boot CD for Ubuntu*

Yes the BIOS doesn't support or give an option for booting from USB as I stated above .. it only has a Boot from USB Floppy option also as said above .. I have also read the User Manual .. :laugh:

I already downloaded and installed the latest BIOS .. as far as my experiences with BIOS's go .. this one's cr*p .. and I see very little or no change in the functionality after doing the BIOS Upgrade.

I have also now burnt a second CD and tried it on my Dual core E8400 3.00Ghz PC .. both CD's give me the same error yest a boot from USB will work ..



> Error 23: Error whilst parsing number
> 
> press any key to continue.


I am beginning to think that the boot method of using CD to boot the USB is wrong .. maybe losing the USB connection 

That means I need to find a way to mount the usb drive then boot from it .

If I remember correct "ls" should give me a list of devices shoudn't it .. 
ls usb should show me usb devices 
better get on the net and search for some CLI .. :laugh:


----------



## ahmorrow (May 5, 2009)

*Re: Make a USB Boot CD for Ubuntu*

Ubuntu has a program that does it. System-->Administration-->USB Startup Disk Creator

Please tell me you've tried that.


----------



## wmorri (May 29, 2008)

*Re: Make a USB Boot CD for Ubuntu*

Yes,

lsusb, is the correct command to use to find out what is connected via usb. I am starting to run out of ideas. I am glad that you know the power of the google search too! :smile:

Cheers!


----------



## Rome5 (Nov 25, 2008)

*Re: Make a USB Boot CD for Ubuntu*

When building the CD, did you make any changes to the initrd image? The busybox prompt is run from the initrd file system, which means there was a failure somewhere along the line when trying to load the root file system. In your case, because your install's on a USB drive, it's probably because either the necessary modules are not being loaded or you're trying to boot from a device that has not been mounted. 

If you have a livecd, pop it in. Mount the USB drive under /mnt/ubuntu (just the / file system) and then run the following:

```
cat /mnt/ubuntu/etc/initramfs-tools/modules
```
posting the output here. (you can change the mount point, just be sure to edit the command along with it)

If you make changes to initrd you'll need to rebuild the image and then burn the CD again, but that should be it.

#_Note:_ Busybox is actually quite a powerfull little tool. It's not a terminal itself, just a single program that contains many many programs within it. It's a space saver yet still gives you something to work with.

# You may also want to get rid of the 'quiet' and 'splash' options from the kernel line. At least when trying to figure out what's failing.


----------



## Done_Fishin (Oct 10, 2006)

*Re: Make a USB Boot CD for Ubuntu*

To quote from the link that I gave for the BootCD at

http://www.pendrivelinux.com/usb-boot-cd-for-ubuntu-810/



> How to Create a CD to Boot Ubuntu from USB
> 
> The following process will enable you to create a Boot CD that can be used to Boot Ubuntu 8.10 from a USB Flash drive on systems that do not natively support booting from USB.
> 
> ...


I burnt the image from Windows using "open with nero" 

I have NEVER tried burning a (Bootable) CD from within Ubuntu .. 

It is conceivable that having been written in windows it might not work .. but I really don't think that it's the case .. although I won't ruke out anything

I'll check out your idea regarding



> If you have a livecd, pop it in. Mount the USB drive under /mnt/ubuntu (just the / file system) and then run the following:
> 
> 
> ```
> ...


and post again later


----------



## ahmorrow (May 5, 2009)

*Re: Make a USB Boot CD for Ubuntu*

I've had MANY issues with booting from a USB Optical drive, and I've never really tried booting from a USB flash drive, but there may be some of the same issues there.


----------



## Done_Fishin (Oct 10, 2006)

*Re: Make a USB Boot CD for Ubuntu*

Heres what you wanted .. had to browse my PC to find the proper command 


[email protected]:~$ cat /mnt/ubuntu/etc/initramfs-tools/modules

*cat: /mnt/ubuntu/etc/initramfs-tools/modules: No such file or directory*


[email protected]:~$ cat /etc/initramfs-tools/modules

# List of modules that you want to include in your initramfs.
#
# Syntax: module_name [args ...]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
# sd_mod

[email protected]:~$ update-initramfs

*update-initramfs is disabled since running on a live CD*

[email protected]:~$


----------



## Rome5 (Nov 25, 2008)

*Re: Make a USB Boot CD for Ubuntu*

You'll want to create a new iso but this time, configure initrd with a few additional modules and a delay to allow the drive time to mount.

Again, run from a live cd and open a terminal.
commands are in red, notes in blue.

1.

```
[color=red]mkdir -p ubcd/boot/grub[/color]
```

2.

```
[color=red]cp /usr/lib/grub/i386-pc/stage2_eltorito ubcd/boot/grub[/color]
```

3.

```
[color=red]nano ubcd/boot/grub/menu.lst[/color]
```
Add the following:

```
title Run Ubuntu 8.10 from USB DISK
root (cd)
kernel /boot/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper noprompt cdrom-detect/try-usb=true persistent 
initrd /boot/initrd.gz
boot

[color=blue]# [i]I removed the 'quiet' and 'splash' options just to help pinpoint a problem if you do run into one.[/i][/color]
```
*CTRL*+*X* and then press y to save.


4.

```
[color=red]cp /cdrom/casper/initrd.gz ~/ubcd/boot[/color]
```

5.

```
[color=red]cp /cdrom/casper/vmlinuz ~/ubcd/boot[/color]
```

6.

```
[color=red]sudo nano /etc/initramfs-tools/modules[/color]
```
Add the following lines to the modules file:

```
usbcore
usb-storage
uhci_hcd
ohci_hcd
ehci_hcd
sd_mod
scsi_mod
```
*CTRL*+*X* and then press y to save.


7.

```
[color=red]sudo nano /etc/initramfs-tools/initramfs.conf[/color]
```
Add the following line:

```
WAIT=10

[color=blue]# [i]10 = 10 seconds which should be more than enough time. 5-6 seconds might be better but just to be sure, I'd stick with 10.[/i][/color]
```
*CTRL*+*X* and then press y to save.


8.

```
[color=red]sudo mkinitramfs -o ubcd/boot/initrd.gz [i]2.6.2*[/i][/color]

[color=blue]# [i]Replace the '2.6.2* with the actual kernel version from the Ubuntu install. You'll want to mount the USB drive (you can open a separate terminal) and 'ls' the /boot directory ('[/color][color=red]ls /boot[/color][color=blue]'). Should be something like 2.6.2?-?-generic.[/i][/color]
```

9.

```
[color=red]mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o usbcd.iso ubcd[/color]
```

It shouldn't make a difference which OS you burn the iso from as long as it remains bootable and not a data cd. If all goes well, you can certainly tweak the settings with the delay and the splash screen.


----------



## Done_Fishin (Oct 10, 2006)

*Re: Make a USB Boot CD for Ubuntu*

Rome, my friend, you are my hero .. 
ray: ray: ray: ray: ray:

I have now booted into Ubuntu 9.04 from my laptop, using a USB adapter & a 2.5" 20GB HDD, following your instructions exactly and I am writing this from within the said boot

Ubuntu 9.04 had been installed on the HDD using instructions from the CD2USB site 

A million thanks .. I shall be scrutinising your code to see what it all means and hopefully learn something from you!


----------



## ahmorrow (May 5, 2009)

Oh my... not only did he do all of the work, he even formatted it to look pretty. I think he likes you Fishin'


----------



## Done_Fishin (Oct 10, 2006)

ahmorrow said:


> Oh my... not only did he do all of the work, he even formatted it to look pretty. I think he likes you Fishin'


the sign of a MASTER at his work .. he explains what to do so that even a dummy like me can follow the steps and IT WORKS at the end .. 

It also means that others searching for a way to do the same can try to figure out the steps and even make minor changes for similar applications :wave:


----------



## Rome5 (Nov 25, 2008)

The 'modules' and 'initramfs.conf' are just config files which you can tweak to customize your initrd or initramfs. You added in the modules required to load a USB device and gave a delay. The 'mkinitramfs' command rebuilds the image using the config files and the new additions. Initrd is a mini file system (initramfs -- run from RAM) that does the dirty work of loading your actual root file system.

Glad it worked!


----------



## ahmorrow (May 5, 2009)

0.0 Now he's just showing off


----------



## Done_Fishin (Oct 10, 2006)

@ahmorrow .. as they say .. if you have it .. use it :laugh:


----------

