This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: unable to execute linux kernel with Redboot
- From: Mark Salter <msalter at redhat dot com>
- To: list at kiekerjan dot isdronken dot nl
- Cc: ecos-discuss at sources dot redhat dot com
- Date: Mon, 5 Apr 2004 15:23:52 -0400 (EDT)
- Subject: Re: [ECOS] unable to execute linux kernel with Redboot
- References: <40718665.9080204@kiekerjan.isdronken.nl>
>>>>> 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.
--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