DiskOnChip 2000 and Millenium support in GRUB bootloader

Mark Meade mark at lakeshoremicro.com
Fri Mar 1 21:51:39 EST 2002


On Thu, 28 Feb 2002, Ilguiz Latypov wrote:

> I changed stage1/doc_stage1{,b}.S so that the GRUB firmware
> will correctly replace the BIOS extension initialization code of DoC
> Millennium.

Ilguiz,

I've downloaded your latest GRUB patches, and I've discovered a few minor problems:

1) Some BIOS's don't like extensions without correct checksums.  I modified doc_stage1.S
and added Makefile calls to the "makerom" program (originally found in /mtd/boot).  This
fixes the checksum problem; now the code to install the int 19 handler will be executed.

2) For some reason, my BIOS won't let me override the int 19 handler.  To get around this,
I changed it to an int 18 handler, and this works fine when the BIOS is set to boot from
"Network".  Using int 18 rather than 19 also allows me to boot from the hard drive without
having to remove the DOC.

IMHO, it might be a good idea to allow the use of int 18 or int 19 as a compile time
option.

3) I made additional minor changes in doc_stage1.S to save and restore the doc segment
correctly.   The boot block on a Millennium is an XIP block; _start is not running at
0x20000 in this case.

At this point, I get all the way to the "Jumping to Grub" message, and then it locks up.
I suspect that there might be a problem in the logic that copies stage2 from the DOC to
0x8200.  I haven't found any documentation on Millennium pipeline reads, so I might need
some help here :-).

I'm an open source newbie, so if you think these changes will do you any good, let me know
how to get them to you.

Regards,

Mark











More information about the linux-mtd mailing list