[syslinux] "pre-OS"

n schembr nschembr at yahoo.com
Sat Oct 7 08:08:56 PDT 2006


Ok, syslinux is what it is, and I love the way it just works. 

I looked up linuxBios and found what I was looking for. 
A project in 2000 called  "LOBOS (Linux OS Boots Linux OS): Booting a Kernel in 32-bit Mode”
 
It looks like this would do what I need, but I can't find any working code. 

I like the Idea of booting a simple fail safe system and restarting a production kernel.  Yes, UML- Linux would let me do some of this.  I need to also look at UML. 


Thank you for your time,

Nicholas A. Schembri
State College, PA USA

----- Original Message ----
From: Josh Lehan <jlehan at scyld.com>
To: H. Peter Anvin <hpa at zytor.com>
Cc: Luis.F.Correia <Luis.F.Correia at seg-social.pt>; syslinux at zytor.com
Sent: Friday, October 6, 2006 4:54:51 PM
Subject: [syslinux] Question about a "pre-OS", was Re:  scope creep

H. Peter Anvin wrote:
> You're missing the point... he wants console output on his USB serial 
> dongle, which is hellishly hard to support (since serial port isn't one 
> of the BIOS-provided "USB legacy features", syslinux would have to 
> include a full-blown USB stack.)

That would be a huge, but very useful, project.  Quite beyond the scope 
of SYSLINUX, though.

My understanding of SYSLINUX is this, correct me if I'm wrong:

SYSLINUX is a bootloader, which means that it focuses on booting OS's 
from the device presented to it by the BIOS.  There are 4 main API's 
that have evolved over time, with varying support in various BIOS's, for 
possible use by bootloader programs: floppy (INT 13 device 0x00), "fixed 
disk" (INT 13 device 0x80 and a different set of calls), CDROM "El 
Torito", and PXE (the UNDI stack).

SYSLINUX comes in various flavors, to support all of these: SYSLINUX or 
EXTLINUX (floppy and hard drive), ISOLINUX (CDROM), and PXELINUX (PXE).

What SYSLINUX doesn't do, though, is discover new devices and add 
additional BIOS support for them.  There is a patchwork of other 
projects that do this:

Smart Boot Manager (emulates CDROM support, to chain-boot from floppy/HD 
to CD, if BIOS can't directly boot from CD)

Etherboot (emulates a PXE BIOS, for network cards that don't have 
built-in PXE, to chain from floppy/HD to PXE)

There's probably others, but I forgot.

Now, a question:

Does anybody know of a project underway to do something on a greater 
scope, that is, kind of a "pre-OS" to discover all bootable devices and 
add BIOS-like support for them?

Something could be written that would do all the USB discovery and 
setup, and so on, and then install BIOS-like API support for them, so 
that the system could end up successfully booting from those devices, 
even when the real BIOS couldn't do it directly.

This would be useful for USB, FireWire, PXE, ATAoE, iSCSI, various other 
exotic protocols, various older nonstandard devices, and pretty much 
anything that can be discovered and booted from.  It would be something 
that could start from something as simple as a floppy, and then chain 
from there to any other device.

Would such a thing be possible?  Is there a designated "safe area" in 
low-640K memory that a software driver could run at, that wouldn't get 
clobbered by whatever is being chain-booted into?

For example, let's say I have a Linux USB key with SYSLINUX on it, but 
my BIOS doesn't let me boot from USB.  So, I run this "pre-OS" to boot 
from floppy.  It discovers my USB key and provides a driver that sets it 
up as a BIOS-like device (probably "fixed disk"), and chain-boots to 
that.  Is there a designated area of memory that the "pre-OS"'s USB 
driver can still safely sit at, even though SYSLINUX will load again 
from USB and take control?

Josh

_______________________________________________
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.








More information about the Syslinux mailing list