Ubuntu

Comment 4 for bug 398241

John S. Gruber (jsjgruber) wrote :

I was remiss in not thanking you before for submitting your bug report. Thank you for making Ubuntu better.

What version of usb-startup-disk-creator are you using? If you are using a release CD knowing which one
would probably answer the question.

I was able to track down the problem my computer was having creating the "Boot error" message--it was a
problem in the disk formatting performed by the system on the behalf of usb-startup-disk-creator. I recall
from last winter than Sandisk Cruzer's have a problem in how they are formatted from the factory. I reformatted it from Ubuntu (Intrepid, I believe) and was then able to boot from it. Reformatting it from Karmic (or, I believe, Jaunty) would not help.

I don't have enough information to know if the problem I discovered is the same as yours. If you would like to
try my fix you certainly may. You would have to install a new version of the package dosfstools from my PPA
and then reformat your usb-stick. Of course this will erase your puppy linux and anything else on your usb-stick.

Also be very careful to specify the right location for your usb stick--you don't want to wipe out your hard disk.
usb-startup-disk-creator seems to do pretty well leaving my hard disk off the candidate list but I don't know
about yours.

To install the package on the machine you are using usb-startup-disk-creator from, please see:

https://launchpad.net/~jsjgruber/+archive/ppa

and click on the technical details link. I believe you can also navigate from here directly to the package deb
file if you would rather not add my ppa to your list of software sources.

After installing the package you would start the usb-starup-disk-creator program and ask it to format the usb-disk. This should format the drive correctly. Then proceed with the usb-startup-disk-creator program asking it to install the image you want, setting the persistance slider if you want. When done the drive should be bootable if our problems are the same.

Please let me know how you do, or if you have any questions.

==============================

Technical details for you or for others interested.

To boot a usb-hard-disk partition my BIOS requires two DOS boot sector data items to be set in an expected way. The hidden sectors field must be non-zero (and should point to the boot sector within the entire disk). The drive number in the volume info structure should be 0x80 to indicate that the partition is a hard disk (in
addition to the FAT media byte which can signal the same thing). A reference operating system I have on hand set these fields as above but current dosfstools mkdosfs programs set them to zero. There was a period of time when the dosfstools mkdosfs program did set the drive number to 0x80 and set the hidden sectors field to the size of a track, but this setting won't work for unpartitioned devices such as floppy drives and the code to set these fields was dropped when the floppy problem was noticed. See debian problem reports #303442 and #489292.

The problem can be confirmed as occuring or as gone by simply formatting a bootable partition and then installing syslinux on it. A Boot error will either occur here or, if successful, a syslinux prompt will be issued.