[syslinux] ONTIMEOUT LOCALBOOT -1 and menu.c32 -

Nazo nazosan at gmail.com
Tue Dec 27 18:06:22 PST 2005


On 12/27/05, Nathaniel Griswold <griswold at upl.cs.wisc.edu> wrote:
> On Tue, Dec 27, 2005 at 04:54:21PM -0600, Nazo wrote:
> > On 12/27/05, Nathaniel Griswold <griswold at upl.cs.wisc.edu> wrote:
> > > On Tue, Dec 27, 2005 at 01:55:24PM +0100, Harald_Jensas at Dell.com wrote:
> > > > Hi,
> > > >
> > > > I am having some problem with LOCALBOOT and menu.c32
> > > > Anyone who can see what I am doing wrong?
> > >
> > Like when he selects "Boot from harddrive" from the menu, the
> > ontimeout should boot the harddrive correctly rather than reloading
> > the menu.
> >
> > If I had to hazard a guess, I'd say that what's going on here is that
> > menu.c32 actually supports and handles localboot.  Last I checked,
> > syslinux & extlinux don't actually support localboot.  Mind you, "last
> > I checked" applies to a good number of versions ago when it was in the
> > todo list, and perhaps it has been implemented by now?  Anyway, so
> > far, the only sure-fire way I've ever found to boot the harddrive is
> > to use chain.c32.  It's not 100% perfect since some systems out there
> > don't boot from the "first harddrive" (in particular SATA I think
> > would show up more along the lines as hd4 if you turn on IDE
> > emulation, or perhaps not at all if you don't turn it on.)  At least
> > it can be manually specified while localboot just simply fails on many
> > bioses (such as one of my systems.)
>
> yes, it doesn't really seem like using the -1 argument would be
> a consistent thing to depend on ...
>
> LOCALBOOT type [ISOLINUX, PXELINUX]
>     On ISOLINUX, the "type" specifies the local drive number to
>     boot from; 0x00 is the primary floppy drive and 0x80 is the
>     primary hard drive. The special value -1 causes ISOLINUX to
>     report failure to the BIOS, which, on recent BIOSes, should
>     mean that the next boot device in the boot sequence should
>     be activated.
>
> it all seems kind of inconsistent. is there even a good way to do
> this on all (even older) bioses
>
> -nate
>
Well, I was referring to chain.c32 when I said it wasn't 100%. 
Localboot -1, as you showed right there is a lot further.  But, to
answer your question, chain.c32 is the best overall solution.  Like I
said, it maybe won't work with SATA (I don't have one, so can't test)
and if it does it will definitely not see the SATA drive as hd0, which
is the normal choice for "first harddrive."  Then there are going to
be the occasional systems where the boot drive isn't ide 0, port 0, so
the harddrive you want to boot won't be hd0.  I suppose we could glob
messed up MBR in there where hd0 0 won't work or main boot partitions
being something other than hd0 1 (like me for example -- my main os is
on hd0 2.)  Still, overall, hd0 0 is going to work on the majority of
systems at least.  I do recommend that if you go the chain.c32 route,
you don't disable user specified manual settings.  If you do, you'll
need to at least create one entry for every likely harddrive situation
(which I think, with the addition of SATA, will mean up to 8 drives
max -- assuming chain.c32 can handle that, and again I have no way of
testing this.)  The advantage of localboot -1 is that it lets the bios
itself handle things so that it SHOULD move on to the next boot device
whether it be scsi, sata, or even usb.  If only bios manufacturers
could be bothered to actually standardize any more than is 100%
necessary (yeah, don't hold your breath on that one.)

Personally, I'm using "chain.c32 hd0 0" for things like my flash
drives.  Works fine for all my systems anyway.  It's what I generally
recommend since it will at least work on just about any system.




More information about the Syslinux mailing list