[syslinux] After USB boot problems on Gigabyte GA-M55Plus-S3G

Thomas Schmitt
2014-01-23T08:43:49Z

Hi,

Ronald F. Guilmette wrote:
> one wonders who it is, exactly
> that would be doing the "misperceiving".  The BIOS?

I would assume so. But one will have to check out the source
code of SYSLINUX or ask Peter Anvin about this.


> Would it be at all helpful for me to go back now and try to reproduce
> the steps that I took/followed to create each of those two USB stick,

For my wiki enhancement project, it would be interesting
to see whether SYSLINUX tool mkdiskimage can bring the stick
into a state that is suitable for a SYSLINUX based installation.
E.g. Clonezilla.

Telling from the existing documentation i would try this
on a Linux system, if the stick is larger than 1 GiB:

  mkdiskimage -F /dev/sdX 0 255 63

(With /dev/sdX being the proper device address.)

If you can heal the stick, then you may next try to find out
how it got ill.


> Some BIOSes have been reported (in particular, certain versions of
> the Award BIOS) that cannot boot USB keys in "USB-HDD" mode.

Yours can. Ady's test image does not bear a ZIP-disk layout.


> If your answer is "yes",

Yes, it is. For the wiki.


> Your method of calculating number of cylinders, although explained,
> is still just slightly opaque.

"Slightly" is a slight understatement. It is obscure.
I don't think that it is the SYSLINUX wiki job to tell how
to program a correct partitioning tool. My plan is to just
state a few geometries which - by SYSLINUX developers - are
repeatedly mentioned as best practice.

E.g. i got the "64x32 or 255x63" prescription first from Peter Anvin,
when i implemented isohybrid production in xorriso.


> Is the divisor *always* exactly 2048, i.e. 64*32 in all cases, for
> all USB drives in all systems?

64x32 is recommended for disks or images <= 1 GiB.
Above that limit, the cylinder address would become larger
than 1023, which is the limit that can be stored in the
Cylinder fields of a MBR partition table.

255x63 reaches that limit shortly before a size of 8 GiB.

For sizes above, CHS has only ornamental value ... i hope.


> Is the divisor *always* exactly 2048, i.e. 64*32 in all cases, for
> all USB drives in all systems?

It is chosen by the partitiong tool and it seems convention
to publish the factors in the H and S values of end CHS.
(Ady's image did not follow that convention, though.)


> Also, once I do all the steps in that document,

With mkdiskimage it reduces to

* Make sure to operate on the disk which you want to equip with SYSLINUX.

* Make a backup of the disk content. It will be gone after this procedure
  is done.

* Run mkdiskimage

The first two steps are not actually in the scope of SYSLINUX.
But i mention them, because of the possibly high level of
adrenaline in the blood of the reader, when she/he is looking
for reasons of failure.


> >This might involve the need to learn how to perform the
> >advised mkdiskimage run on systems other than Linux.

> Huh?  Why would it?

In case you want to do it on FreeBSD or MS-Windows. It's up to you.
I would like to see non-Linux examples which are confirmed to work.


> To answer your question about Windows however, there *is* no
"usual"
> drive letter for _anything_

The question was rather whether the proper argument for mkdiskimage
on MS-Windows would be a drive letter "X:" or something else.

Or whether mkdiskimage is supposed to work on MS-Windows at all.
(I am quite confident with FreeBSD, because there i'd try /dev/da0.)


Ady wrote:
> > If a user doesn't know what "create a new DOS partition
table" means,
> > there are many ways to find out, including a web search.

Ronald F. Guilmette wrote:
> I know what it means, but I have (at least) three different ways to
> do it that I can think of right off the top of my head,

That's why i want to show some tangible examples.
The main wiki shows installation instructions for "NT/2K/XP",
"DOS", "Linux". Best would be to have examples for all
those.


> My point is that just commanding a user to "create a new DOS partition
> table" may not be sufficiently specific to achieve the desired result,
> as some or all of these tools may perhaps be creating partitions in
> a manner that is incompatible... with some thing or another.

That's why i want to show mkdiskimage examples after having
told the users that they may use their usual partition tool.


> In fact, the more I think about it, the more I think that it is
> rather entirely ill-advised for Clonezilla to have four different
> recommended install procedures for Windows and an additional three
> different procedures for Linux.

I agree.
But that is really out of the scope of SYSLINUX.

My excuse as Clonezilla developer would probably be that
for any image there is a mainboard which lets it fail.
Another excuse is that Clonezilla development does not
know the size of your target device. So an image will
probably waste some GB if not adjusted by partition editing.

But hey. I am here because i help producing ISOLINUX images.
I am all in for images.


> Nor should any such ordinary end-luser
> ever feel the need to look at ANY PART of the Syslinux Wiki.

That's an important point when judging the scope of wiki
articles.
The SYLINUX wiki is for people who install SYSLINUX and some
self-chosen (Linux) kernel with its associated files.

It shall also give hints (not complete explanations) what
might have gone wrong if booting fails.
I try to enhance it in respect to disk layout.
As Ady stated, there are many other portential reasons for
failure. (This is stated now in my wiki sketch.)


> The way to make all of this stuff maximally simple for real end-lusers
> (including me) is for the Syslinux project to STRONGLY suggest to its
> direct user base that they all make it a point to distribute simple,
> pre-partitioned, pre-formatted dd-able images.

If the SYSLINUX developers agree, then this could be stated
prominently at the web site and in the documentation.
But i would expect that several SYSLINUX users step up and
tell why they cannot follow this advise.


Have a nice day :)

Thomas