Re: [PATCH] THE LINUX/I386 BOOT PROTOCOL - Breaking the 256 limit (ping)

H. Peter Anvin
2006-08-27T21:40:05Z

Andi Kleen wrote:
> On Sunday 27 August 2006 21:32, H. Peter Anvin wrote:
>> Andi Kleen wrote:
>>> Just increasing that constant caused various lilo setups to not boot
>>> anymore. I don't know who is actually to blame, just wanting to
>>> point out that this "obvious" patch isn't actually that obvious.
>>>
>> How would that even be possible (unless you recompiled LILO with the new
>> headers)? There would be no difference in the memory image at the point
>> LILO hands off to the kernel.
>
> AFAIK the problem was that some EDD data got overwritten.
>
>> In order to reproduce this we need some details about your "various LILO
>> setups", or this will remain as a source of cargo cult programming.
>
> You can search the mailing list archives, it's all in there if you don't
> belive me.
>

Found the references. This seems to imply that EDD overwrites the area
used by LILO 22.6.1. LILO 22.6.1 uses the new boot protocol, with the
full pointer, and seems to obey the spec as far as I can read the code.
I'm going to try to run it in simulation and observe the failure that way.

However, something is still seriously out of joint. The EDD data
actually overlays the setup code, not the bootsect code, and thus there
"shouldn't" be any way that this could interfere. My best guess at this
time is that either the EDD code or LILO uses memory it's not supposed
to use, and the simulation should hopefully reveal that.

Sorry if I seem snarky on this, but if we can't get to the bottom of
this we can't ever fix it.

-hpa