Avoiding DOC hotplug when Grub fails

Mark Meade mark at lakeshoremicro.com
Thu Aug 8 22:02:07 EDT 2002


Karim Yaghmour wrote:

> As far as I can see by browsing this mailing list archive, one
> has to hotplug the DOC device in order to have the HD come up
> first if Grub fails in some way after having hijacked int 19h.
> This is rather inconvenient, to say the least.

I've recently found an easier way - with the M-Sys ISA Eval card, anyway.  I 
assume the PCI card would be similar.

On the ISA card, there is a jumper used to set the DoC Address (C800, D000, 
etc).  If this jumper is removed, the DoC is no longer recognized by the 
BIOS.

If the DoC has int 19h, simply boot without the jumper in place, and then put 
it back after the hard drive boot has finished.  If you have the MTD stuff 
compiled as modules, don't do the modprobe until after the jumper is 
replaced.   Works great, plus eliminates the risky procedure of hotplugging 
the DoC or Eval card.

> Why not just hijack int 16h (keyboard) while we're at it, write
> a small keyboard int handler, and check if the space-bar (or
> some other key) is held down while Grub is booting? If it is,
> then Grub invokes the BIOS's original int 19h which then proceeds
> normally. If it isn't, then Grub continues with its own load
> procedure.

One potential problem is that the low level Grub code that grabs int 19 is 
limited to 512 bytes.  With all the other things that code has to do, there 
might not be enough room to add another int handler.

Mark




More information about the linux-mtd mailing list