This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: exec vmlinux from redboot
- From: Gary Thomas <gary at mlbassoc dot com>
- To: ml dot ecos at ringle dot org
- Cc: eCos Discussion <ecos-discuss at ecos dot sourceware dot org>
- Date: Fri, 12 Aug 2005 07:43:48 -0600
- Subject: Re: [ECOS] exec vmlinux from redboot
- References: <200508120016.02035.ml.ecos@ringle.org>
On Fri, 2005-08-12 at 00:16 -0400, Jon Ringle wrote:
> Hi,
>
> I'm working on porting eCos/Redboot to our platform. I used as a template for
> the port the edb7xxx platform. I managed to get the flash on my platform
> working (Intel 28F160B3) and got the ethernet operational.
>
> Now I am trying to load a linux kernel and have run into a snag. It seems that
> the execution goes into do_exec() ok, but something goes wrong in the
> trampoline code at the end of do_exec(), since I get no further output.
> Below is a sample session. Does anyone have any ideas on how to troubleshoot
> this?
>
> Thanks,
>
> Jon
>
> CS8900A[0x40000300] - type: 0x630e, rev: 0x0800
> CS8900 - status: 0x02d6 (EEPROM present)
> Got EEPROM ESA
> ESA 08:88:12:34:56:78
> Ethernet eth0: MAC address 08:88:12:34:56:78
> IP: 172.22.64.253/255.255.0.0, Gateway: 172.22.0.1
> Default server: 172.22.0.1
>
> RedBoot(tm) bootstrap and debug environment [ROM]
> Non-certified release, version UNKNOWN - built 22:19:08, Aug 11 2005
>
> Platform: Comdial MP1000 (ARM 720T)
> Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
>
> RAM: 0x00000000-0x00fd7000, [0x0000cae0-0x00fb4000] available
> FLASH: 0xe0000000 - 0xe0800000, 32 blocks of 0x00020000 bytes each.
> RedBoot> load -h 172.22.64.255 vmlinux
> Using default protocol (TFTP)
> Type: 2, Machine: 40, Version: 1, Entry: 0xc0038000, PHoff: 0x00000034/32/1, SHoff: 0x0014f8a8/40/9
> Program header: type: 1, off: 0x00008000, va: 0xc0038000, pa: 0xc0038000, len: 1332020/1816488, flags: 7
> Entry point: 0xc0038000, address range: 0xc0038000-0xc017d334
How did you even load this into RAM? The addresses are Linux virtual
addresses (0xCxxxxxxx), but that doesn't correspond to your RAM. Also,
one normally loads the 'zImage' version, rather than the raw 'vmlinux'
Try loading the binary version (zImage):
RedBoot> lo -r -b 0x38000 zImage
> RedBoot> exec
> Using base address 0xc0038000 and length 0x00145334
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss