Andy Kennedy wrote:> Personal background:
> Much of my experience is with C on Linux (from 1994). I can read
> Assembly, however, not write it well (I have had formal training in
> Assembly on the I386, however, never used it).
>
> The system:
> An AMD 586 embedded system with AM29F040 Chip(s) on board. These two
> flash chips make up the BIOS and the primary storage. The system was
> designed and built for use with Caldera Dr. DOS with a proprietary file
> system "Flash File System" on it. The BIOS recognizes the flash
and
> maps it into memory in 64kb segments. I'm not completely sure how the
> BIOS loads Dr. DOS, however, I did find (via a hex editor) what appears
> to be a MBR at the zero offset of the zeroth page of the flash.
>
> What I need:
> BIOS maps the pages of the flash via calls to a specific port with an
> 8-bit argument. I want to modify (or have someone help me modify)
> Syslinux to be able to grab a kernel off the raw pages of the flash.
>
> For someone with experience creating boot loaders, this wouldn't be a
> tough task. However, I am not that person. If you kind people would
> direct me to a good resource so that I can complete this task, I'd be
> exceedingly pleased (or, if you'd be willing to assist me [write what I
> need], I may be able to shift USD toward you).
>
Hi there,
If the BIOS makes the flash look like a hard disk (int 13h), then
syslinux can just use it as-is. This is actually the most likely scenario.
Otherwise, you have to modify the routine "getlinsec" in the SYSLINUX
MBR (ldlinux.asm and extlinux.asm) to load the data from your flash
instead of from disk via int 13h.
-hpa