[ECOS] Linux with Redboot on EP7312

Adam Bezanson bezanson@netaudiotech.com
Fri Nov 1 05:58:00 GMT 2002


Hi,

I've got RedBoot running great on my EDB7312 (using the EDB7xxx port)
I'm trying to get a Linux kernel (2.4.13-ac4-rmk1), which I've built
myself, running on Redboot. I've verified that this kernel runs
on my platform by using the original SmartFirmware that came with the
Platform.

I can't seem to get the image to work with Redboot.

Looking at the System.map file of my newly built kernel I think the entry
point
is 0xc0028000 by looking at these lines:
c0028000 ? __init_begin
c0028000 ? stext
This seems to make sense for my target. Since when I tested the kernel on
the other
bootloader, I see this on the console:
Linux image loaded
ELF image moved into place, entrypoint=0xC0028000

Now My DRAM starts at 0x00000000-0x00ffffff as mapped by Redboot
Physically, it's 0xc0000000-0xc0ffffff. I've added a macro to
plf_io.h in the edbxxx/includes area that returns 0xc0000000 + <argument
passed>
for the CYGARC_PHYSICAL_ADDRESS.

In my cdl file, I've added my HAL_PLATFORM_MACHINE_TYPE to 131 and
CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS to 0x00610000 (this should be high
enough and
out of the way)

Now I've setup CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS to 0x00010000
and the same value for CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
For the tags, CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS I've used 0x00200000.

then I try to load my kernel,
load -b 0x300000 vmlinux

It loads fine into memory and seems to have a size of 0x122617.

then trying to exec it.
exec -b 0x300000 -l 0x122617 -c "root=/dev/nfs
nfsroot=10.0.0.109:/nfs_export"

Then Nothing....

On 1 note, I added diag_printf's to plf_io.h and my CYGARC_PHYSICAL_ADDRESS
only gets called 3 times. Looking at redboot_linux_exec.c, I think it should
be called 5 times.
The last call seems to be made right after the MMU is disabled???

Anyways I wanted to pass these settings by the list to see if I was doing
something wrong.
Also, should I expect the kernel output on the console (ttyS0)? or should I
pass in a
console=ttyS0,38400?

Should I be using zImage rather then vmlinux?

Any help would be appreciated.

Thanks,
Adam







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



More information about the Ecos-discuss mailing list