[syslinux] Continue HD boot option?

Nazo nazosan at gmail.com
Thu Aug 24 22:43:14 PDT 2006


On 8/24/06, Gustavo Guillermo Pérez <gustavo at compunauta.com> wrote:
> El Jueves, 24 de Agosto de 2006 09:56, Herman van Heerden escribió:
> > Hi,
> >
> > I have boon Googling quite a bit on this, but is it possible:
> >
> > I want to build an ISOLINUX boot CD, but want one of the option to be
> > "Continue booting from hard drive" and thus disregard booting from the
> > kernel on the CD.  Is it possible?  Or what can I do to force a HD boot
> > from ISOLINUX.CFG?
> from syslinux.doc inside the syslinux package (did you read the doc?)
>
>   LOCALBOOT type                        [ISOLINUX, PXELINUX]
>         On PXELINUX, specifying "LOCALBOOT 0" instead of a "KERNEL"
>         option means invoking this particular label will cause a local
>         disk boot instead of booting a kernel.
>         The argument 0 means perform a normal boot.  The argument 4
>         will perform a local boot with the Universal Network Driver
>         Interface (UNDI) driver still resident in memory.  Finally,
>         the argument 5 will perform a local boot with the entire PXE
>         stack, including the UNDI driver, still resident in memory.
>         All other values are undefined.  If you don't know what the
>         UNDI or PXE stacks are, don't worry -- you don't want them,
>         just specify 0.
>         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.
>
> This labels forks for me on isolinux.cfg :
>
> label harddisk
>   localboot 0x80
>   append SLX=0x80
>
> label floppy
>   localboot 0x00
>   append SLX=0x00
>
> except on some weird Compaq BIOSes, Works.
> And the append line I can't remember where it cames from, should work without
> it, I guess some patch for gfxboot that I still using for impress.
>
> --
> Gustavo Guillermo Pérez
> Compunauta uLinux
> www.compunauta.com
>
> _______________________________________________
> SYSLINUX mailing list
> Submissions to SYSLINUX at zytor.com
> Unsubscribe or set options at:
> http://www.zytor.com/mailman/listinfo/syslinux
> Please do not send private replies to mailing list traffic.
>
>

Yes, that should work most of the time.  On some BIOSes, localboot
won't work though.  It uses a code in the standard, but, well, you
know how it is with BIOSes if you've hung around here very long.  The
general impression I have is that if it turns on and boots, they stamp
an ok on it and ship it out.

The alternative, should you need it is to use the chainloader, which
is the chain.c32 moudule (in the com32/modules folder of the syslinux
archive.)  You load this and append either "hd# #" or "fd#" and it
will boot the drive and partition that you gave it (I think you can
get away with not specifying a partition for the harddrive as well.)
It starts numbering drives from 0 (eg hd0 corresponds roughly to
/dev/hda) and it starts numbering partitions from 1.  The reason it
numbers partitions from 1 is because if you specify 0 it tells it to
boot the MBR.

Localboot hasn't been a high priority in syslinux due to the fact that
the chainloader exists and that so many BIOSes are completely
unreliable with localboot.  It should more or less guarantee as close
to 100% compatibility as you get.  So, here's a sample line from a
bootable DVD I made:

LABEL cont
	MENU LABEL Continue Bootup
	KERNEL chain.c32
	APPEND hd0 0

I set this as the default timeout on my boot disc and if no one
presses a key within a certain period of time it continues the bootup
process -- kind of like how the Windows installation discs use.




More information about the Syslinux mailing list