Okay, after looking at the USB stuff it's getting pretty clear that the
few BIOS vendors that are left is going straight to hell, and that with
any new media they introduce they are going to find new ways to screw up
20-year-old interfaces. It seems pretty necessary to go and support
EBIOS at this time.
The problem is that it takes a *very* space-constrained boot sector and
adds over 100 bytes of code; over a 25% space increase. Clearly not
possible. Thus, I'm looking at what options there are.
Clearly, discontinuing CBIOS support is not an option either (as much as
I'd like to), so that's right out. Nor is it possible to decide at
install time, since you might be booting in another machine.
The one thing that seems possible to go is the automatic search for
LDLINUX.SYS. The boot sector can hard-code the location of this file,
or perhaps only the beginning of it. This means the file cannot be
moved, but it's already standard that a file with the System attribute
set shouldn't be moved. It also means it's no longer "just a
file"; it
will not be possible to copy it or write it with anything other than the
syslinux installer, to the extent it ever was.
This might be complex to do in the Win32 installer, but there is always
raw filesystem access to fall back upon.
So, that's the bad, and the ugly. The good news is that this should
make FAT32 support fall in quite naturally, which it most certainly
isn't at the moment (because FAT32 changes the way the root directory
works.)
So, anyway, I wanted everyone's opinion before I set out on what is a
significant recoding project. I do NOT expect to do this for 2.12,
because I want to get those changes out there, but more likely I'll call
that version 2.20.
-hpa