How do I download now

Chris Caudle chris at chriscaudle.org
Tue Dec 30 21:58:51 UTC 2003


On Tue December 23 2003 6:34 am, Chris Sparks wrote:
> I would like to use my Disk On Chip to load my RTEMS application or even
> use it for my loader.

Not a problem.
You still need GrUB on a floppy to get started.  There are other ways, but 
that will be the easiest.
Go to the GrUB web page, and check the documentation, you will need to be 
familiar with some commands for installing the first part of GrUB onto the 
master boot record (the first sector).
http://www.gnu.org/software/grub/grub.html

> Since I am using the PC 686 BSP I would like to know more of how the
> BIOS knows where to go to boot from.

There are two steps involved.  The first is figuring out which devices can 
be accessed as block devices. For devices on the motherboard, that support 
is typically included in the BIOS ROM of the motherboard.
For added devices, there are a set of defined addresses where cards can 
provide their own support routines to be accessed from BIOS (known as the 
Option ROM).  
For block devices, like hard drives, the option ROM provides a service 
routine for interrupt 13, which is a software interrupt used by the BIOS 
for block access.  I forget the details, but from what I remember you can 
think of it as a wrapper around an IDE programmed I/O style interface.
Disk-On-Chip modules provide an option ROM which contains a driver for 
accessing the Flash ROM within the D-O-C as a block device.  The driver 
also has additional features, like sector remapping with write wear 
levelling, I think bad sector remapping is handled by the driver, etc.  
That means that if you use D-O-C for more than just boot, you need the 
driver compiled into your application.
CompactFlash is typically connected to an IDE style controller, so I think 
you shouldn't notice any difference between CF and a real hard drive.

To get GrUB onto either, you follow the instructions in the GrUB 
documentation for installing GrUB onto a hard drive.  That typically 
involves booting a floppy (or some other media with GrUB on it, such as an 
extra hard drive that you have already installed GrUB on), and issuing 
commands at the GrUB command prompt to copy the boot sector from the media 
you just booted onto the new media.
I think you also need to copy some additional files to the device.  The 
details are covered in the documentation.
http://www.gnu.org/software/grub/manual/html_mono/grub.html#Installation

hope that helps, 
Chris Caudle





More information about the users mailing list