[ECOS] Re: Re: unable to execute linux kernel with Redboot
Mon Sep 4 10:34:00 GMT 2006
On Monday 04 September 2006 12:20, Claudio Scordino wrote:
> >>>>> Jan van de Wijdeven writes:
> > Hi,
> > I'm unable to run a linux kernel from the Redboot bootloader. I'm
> > using a XScale board through a serial port.
> > First I load the zImage into memory with the "load" command. Then I
> > give the "exec" command. This doesn't do anything and I have to reset
> > the board. I've been trying to find a solution and some people speak
> > of an entry point for the linux kernel. My redboot manual states this
> > to be 0xc0008000 for the SA1100, but since this processor is similar
> > to the XScale I tried that one.
> > Here's the command I give:
> 0xc0008000 is the kernel entry point, not the zImage entry port. And its
> wrong for XScale.
> RedBoot> exec 0xc0008000 -c "console=ttyS0,115200n8"
> > Using base address 0x00017c00 and length 0x000b1660
> > Then nothing happens.
> No surprise.
> > Can anyone tell me what I'm doing wrong? The redboot manual doesn't
> > give me any more information.
> You need to find out where the zImage wants to be. This depends on the
> kernel version with later zImage being relocatable. If not relocatable,
> you want to use ZTEXTADDR. ZTEXTADDR is a physical address, so you need
> to convert to virtual address for RedBoot to use for the load command.
> ZTEXTADDR is typically defined in arch/arm/boot/Makefile.
> So, assume ZTEXTADDR is 0xA0080000. Just clear the top bits to get the
> virtual address in RedBoot (at least for most XScale boards). In this
> case, 0x80000. Therefore, something like this should work:
> RedBoot> load -r -b 0x80000 zImage
> RedBoot> exec -b 0x80000 -l 0 -c "console=ttyS0,115200" 0xA0080000
> Note that the last part of the exec command is the physical address.
> This should also work for a relocatable zImage.
I'm having the same problem with my IXDP465 board with RedBoot 2.02.
My documentation suggests to use
load -r -v -b 0x01600000 zImage
load -r -v -b 0x00800000 ramdisk.gz
which does not work.
My linux-2.6.x/arch/arm/boot/compressed/Makefile sets ZTEXTADDR to 0, so
based on Mark's instructions, my RedBoot commands would be something like
RedBoot> load -r -b 0x0000 zImage
RedBoot> exec -b 0x0000 -l 0 -c "console=ttyS0,115200" 0x000000
which is very odd, and probably makes no sense.
Any suggestion is welcome.
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
More information about the Ecos-discuss