[syslinux] Chainloading DRMK

Gene Cumm gene.cumm at gmail.com
Wed Aug 18 14:43:26 PDT 2010


On Sun, Aug 1, 2010 at 13:59, Gert Hulselmans <gerth at zytor.com> wrote:
> Gene Cumm wrote:
>> DRMK (Dell Real Mode Kernel), now used in their DOS-based diagnostic
>> images (probably about 2-4 years), has a rather unusual entry into the
>> IO file (DELLBIO.BIN; similar to IO.SYS and IBMBIO.COM).  After
>> fumbling around with it over the last few days, I _think_ I've figured
>> out the quirks of this entry point (and successfully tweaked chain.c32
>> to do such).
>>
>> dl Usual; drive number
>> bp 0
>>
>> cs 0x0070
>> ss 0
>> ds Location of relocated boot sector code that loaded it; only used
>> for 1 data element then initialized.
>>
>> The following registers are initialized by DELLBIO.BIN prior to use:
>> ax, cx, si, di, sp, and es.
>>
>> fs and gs were 0 but are not used by DELLBIO.BIN.
>>
>> I believe bx is a remnant from loading DELLBIO.BIN and probably
>> initialized by DELLBIO.BIN prior to use.  On entry it is equal to the
>> file size & 0xFC00.
>>
>> In addition to those register values, it also must have a value of
>> 0x0000003f (little endian, of course) at ds:[bp+28].  I still need to
>> trace around to find what that's used for.
>>
>> Gert Hulselmans, thank you for your help and making others aware that
>> it couldn't be chainloaded from Syslinux.
>>
>> --
>> -Gene
>>
> Just for the people who wonder about the idea of chainloading DRMK (Dell
> Real Mode Kernel). It started at this topic:
> http://www.boot-land.net/forums/index.php?showtopic=12052&st=10
>
> @ Gene Cumm
> Thanks for spending some time on it to figure it all out.
>
> -Gert Hulselmans

Of course, life is never simple and different versions are behaving
differently.  Still trying to work out how they're different and how
to accommodate them.

-- 
-Gene




More information about the Syslinux mailing list