1) Grub installs its own INT13 handler
2) Near the end of the chain loading process, Grub loads an image of the Linux 
kernel into memory which wipes out their Int13 handler.
3) Right before grub transfers control to the kernel to boot, grub makes a call 
to a function to turn off the floppy drive.
4) The call to the floppy code then makes an Int13 call to the handler which 
has been overwritten by the kernel and thereby results in the red screen.

This text seems to be contradictory. INT13 handler is installed if drivemap is useful only with chainload. But then it mentions Linux loading. Also the call to stop floppy doesn't call BIOS:
static inline void
grub_stop_floppy (void)
{
  grub_outb (0, GRUB_FLOPPY_REG_DIGITAL_OUTPUT);
}
May I see the configfile in question?
Also GRUB does calculate the safe place based on memory layout, looking at code I see the problem that it's calculated before installing drivemap hook. While this should be fixed, I see no reason to use drivemap with Linux.
_end quoted text_

Regards,
Iain Barker - Platform Engineering, Acme Packet.
[[email protected]]


_______________________________________________
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel



--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko


_______________________________________________
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to