Greg Haerr writes:
>
>
>
> On Tuesday, May 11, 1999 8:06 AM, Alistair Riddoch [SMTP:[EMAIL PROTECTED]] wrote:
> > Li Rong writes:
> > >
> > > Hi, Everybody,
> > >
> > > I'm a newbie for this discuss group. I have developed
> > > a intelligent network interface card using Amd186 micro-
> > > controller and AMD Pcnet 10Base-T network controller.
> > > I am looking for a embedded linux-like system supporting
> > > TCP/IP stack. I reviewed the source codes and documents
> > > of ELKS project. I noticed that all versions of this project
> > > only supported floppy driver boot. How do I boot the
> > > ELKS from ROM?
> > >
> >
> > Firstly ELKS does not yet have a TCP/IP stack, though work is underway to
> > rectify this.
> >
> > As far as I am aware noone has yet booted ELKS from ROM, and if you wanted
> > to do this you would have to write your own bootstrap code, and tweak
> > the kernel to work from ROM.
> >
> > The actual kernel data and code are compiled an linked into a file called
> > System which can be found in the arch/i86/tools directory. It is a minix
> > format binary which is fairly easy to deal with. The are a few places in
> > the kernel where it is necessary to write to the kernel code segment, but
> > these can be removed if you know the physical location at which the data
> > segment will be located. All the code does is store the kernels data
> > segment so that it can retrieve it later after an interrupt has occured.
>
> Al - What about the idea of fixing the data segment for ELKS, so that
> the mov cs:... instructions can be eliminated? I never really understood the
> ELKS boot up process, but doesn't ELKS on the PC always load, boot, and run
> in the same place?
>
> This would allow ELKS to be used in ROMable systems, which you indicate
> won't run now because of the mov cs: code in the interrupt entry code.
>
The problem with this is that depending on the size of the code segment,
the data segment may be in a different place. If the ds is going to be
hardcoded, this should be an option only used for putting the kernel in ROM
or other similar applications.
Al