[syslinux] Proposal for Chain-Loadable LDLINUX.SYS
Shao Miller
sha0.miller at gmail.com
Wed Jan 2 03:15:24 PST 2013
On 1/2/2013 01:51, H. Peter Anvin wrote:
> On 01/01/2013 06:32 PM, Shao Miller wrote:
>> On 12/31/2012 16:02, Gert Hulselmans wrote:
>>> A LDLINUX.SYS that confirms to the (a) multiboot specification might
>>> be a possibiltity to consider.
>>> The multiboot entry point can be a different one than the normal entry
>>> point (e.g doesn't need to load
>>> the rest of LDLINUX.SYS from disk).
>>
>> This is true, but there's still the complication of the "missing"
>> ldlinux.bin VBR code. If this "missing" VBR code could be added to
>> ldlinux.sys, then such a multiboot entry-point could rebuild ldlinux.bin
>> in memory the same way as the current flow yields.
>>
>> I believe that the build process currently simply chops ldlinux.bin up
>> to get ldlinux.sys. It probably wouldn't be terrifically complicated to
>> chop it up and then put it together again in a different order to result
>> in an ldlinux.sys with the VBR code somewhere in it, but my original
>> proposal ends up having ldlinux.bin == ldlinux.sys, so no more chopping
>> (except in the installers).
>>
>> Time to review the (a) multiboot specification, anyway. Thanks. :)
>>
>
> The installers is where the chopping happens anyway. However, the
> chainloaded ldlinux.sys doesn't want to run the VBR; instead it should
> run a different piece of code in lieu of the VBR and the disk-loader
> code. In Syslinux 5+ there really isn't a lot that piece of code would
> have to do.
Oh, my mistake. I thought the build process chopped ldlinux.bin up so
the VBR and ldlinux.sys could be separate blobs for the installers. Or
maybe that's what you're talking about. I was actually talking about
the installers doing chopping when they're run.
But ok, I've read the multiboot specification found here
http://www.gnu.org/software/grub/manual/multiboot/multiboot.html
and will review how that might fit with ldlinux.bin. I guess the EDD
checking that makes up a fair portion of the VBR code would just be
reproduced elsewhere.
Just for fun, maybe it'd be neat to leave room for some possible future
hybridization in ldlinux.sys, such as:
- Current style
- Multiboot (thinking about tackling this)
- Linux x86 kernel-format
- DOS .EXE
Although launching from DOS could obviously have complications from DOS
hooks, TSRs, and a generally stale device state, plus .sys isn't .exe,
so'd have to be renamed unless launched from config.sys (so why bother).
- Shao Miller
More information about the Syslinux
mailing list