[Nottingham] [Talk] Wednesday 07/04/2010 Install-fest & fix-it evening (Change of event!)

TJ linux at tjworld.net
Tue Apr 6 14:16:14 UTC 2010


On Tue, 2010-04-06 at 13:52 +0100, Martin wrote:

> Welcome to the group!

Thank you.

> > Seeing mention of the install/fix-it topic made me wonder if there's any
> > interest in group examination/playing in the interests of enlightenment,
> > with a bug [1] I'm currently working on.

...

> > Achieving that fix is intense since:
> > 
> > 1) it is machine code/assembly language
> > 2) there are less than 300 bytes for the complete boot-strap code
> 
> Now that is quite an intense squeeze...
> 
> 
> Errr... Is there no BIOS update to fix the source BIOS problem?

No, this a characteristic of Linux on older unsupported PCs :)

> And quite a naive question:
> 
> Can you not use (GRUB ?) boot-strap code to then boot-strap the patched
> GRUB2 boot-strap located elsewhere?

No. This is the boot-strap. The bit that is failing to cope with the
errant BIOS is the bit that has to figure out what other sectors it
needs to fetch the rest of the boot-strap and uses BIOS functions to
fetch it.

It relies upon what the BIOS tells it about where it has been loaded
from so it can request those sectors from the correct device, or on
embedded values in the BIOS Parameter Block area inserted by grub-setup.

> Interesting but rather deep!!

Deep but - unusually for most complex issues of this nature - extremely
simple to understand and fix and, because of the few bytes that need to
be changed (maxmium of 6 maybe), a viable and intriguing introduction to
working with machine-code and assembly to demonstrate the very first
thing that any software-bootable (as opposed to firmware) AT-BIOS
equipped PC has to do.






More information about the Nottingham mailing list