This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: At redboot, why go command can't execute a linux kernel


On Tue, 2004-10-19 at 07:46, Gary Thomas wrote:
> On Tue, 2004-10-19 at 01:26, Andrew Lunn wrote:
> > On Tue, Oct 19, 2004 at 02:16:00AM -0400, Daniel Yu wrote:
> > > Hi all:
> > > 	I am using the ixp425 + coyote. After porting the redboot to the
> > > machine, all things run well. But , when i load the linux kernel into ram
> > > and use "go" command to run it, the screen freezed forever. The only way to
> > > run linux kernel on my machine is the "exec" command. What's wrong with it?
> > > At the previous board: coyote based machine, "go" and "exec" command both
> > > can run the linux kernel.
> > 
> > Go is not intended to start the Linux kernel. If it did work, that was
> > only by chance. The only supported way to start the Linux kernel is
> > via exec.
> 
> This is why there are two commands :-)  For most platforms, the ARM
> included, Linux assumes that memory management has been turned off
> and some other things set up by the boot loader (RedBoot in this case)
> before starting.  The 'go' command simply jumps into a piece of code
> whereas the 'exec' command sets up the appropriate boot time structures,
> turns off the MMU, etc.
> 

And finally, the reason that it worked before was that older kernels
were designed to work with the go command on IXP4xx boards. The original
ixp4xx RedBoot did not have the exec command. Later, the exec command
was added and the kernel support was changed to make use of exec rather
than go.

--Mark



-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]