public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* RE: [ECOS] Redboots CRC checking
@ 2004-07-07 14:54 Winkler Andreas
  2004-07-07 14:57 ` Gary Thomas
  0 siblings, 1 reply; 7+ messages in thread
From: Winkler Andreas @ 2004-07-07 14:54 UTC (permalink / raw)
  To: 'eCos Discussion'

Hi,

> It looks like the patch I gave you before was a little incorrect.  Try
> applying this change and let me know how it works.

Thank you, Gary, this works fine:
	RedBoot> e
	Can't execute Linux - invalid entry address
	RedBoot>
Redboot keeps control. That's what i wanted to achieve.

> n.b. I'm doing this a little blind as I currently have no ARM hardware
> online.

So we worked together as a team. You had the knowledge and i got the
hardware to test. :-))

Best Regards
Andreas

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

^ permalink raw reply	[flat|nested] 7+ messages in thread
* RE: [ECOS] Redboots CRC checking
@ 2004-07-07 13:41 Winkler Andreas
  2004-07-07 13:57 ` Gary Thomas
  0 siblings, 1 reply; 7+ messages in thread
From: Winkler Andreas @ 2004-07-07 13:41 UTC (permalink / raw)
  To: 'eCos Discussion'

Hi,

i first had to buy a flash programmer and to make some holidays.
Now after some weeks i am again struggling with this old problem.
Remember:
I got a Patch from Gary Thomas for the "Linux exec", to
respect the CRC failure.

In an earlier mail i wrote:
> > after applying the patch i rebuilt Redboot and tried it.
> > But it doesn't work.
> > So i looked into the patch. The concerned file should be
> > pachages/hal/arm/arch/current/src/redboot_linux_exec.c.
> > There i find an addon 
> >     if (entry == (unsigned long)NO_MEMORY) {
> >         diag_printf("Can't execute Linux - invalid entry 
> address\n");
> >         return;
> >     }
> > For me this doesn't look like a CRC check.
> > Or did I make a mistake in building Redboot?

Gary Thomas answered: 
> No - the "fis load" command will set 'entry_address' to 'NO_MEMORY' if
> there is a CRC error.  This code should catch that and cause 
> the 'exec'
> command to fail.  Of course, it can only do this if you do not specify
> an entry point address.
> 
> Exactly what does it do?  Perhaps you could print the value of 'entry'
> when it gets to this point.

I added this print command (entry printed as %x) and got the following:

	RedBoot> fi loa kernel
	** Warning - checksum failure.  stored: 0x7ca3fe54, computed:
0xdde742c4
	RedBoot> e
	entry = 6000000
	Using base address 0x01008000 and length 0x000ba7c8
	Uncompressing Linux...........

	invalid compressed format (err=1)

	-- System halted

This means, that the CRC check is working out. But the exec command doesn't
respect this and is starting the defect kernel.
I had expected, that the exec command wouldn't start the kernel after
recognizing
the CRC failure. Therefore the value of entry should have been 0xffffffff.
Where does this value 0x6000000 come from?

Best Regards
Andreas

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

^ permalink raw reply	[flat|nested] 7+ messages in thread
[parent not found: <BCB494E8B7BF2D40B56D1164C67BC2A801B168BF@kher443a.ww004.siemens.net>]
* [ECOS] Redboots CRC checking
@ 2004-05-27 13:22 Winkler Andreas
  2004-05-27 14:40 ` Gary Thomas
  0 siblings, 1 reply; 7+ messages in thread
From: Winkler Andreas @ 2004-05-27 13:22 UTC (permalink / raw)
  To: eCos Discussion

Hi,

after some troubles i got the CRC checking to work. But it doesn't work as i
expected.
I need the CRC checking to prevent Redboot from executing a corrupted
kernel.
But Redboot only prints a message while loading.
The execute command tries to start the kernel, and look what happens:

RedBoot> fi loa kernel
** Warning - checksum failure.  stored: 0x7ca3fe54, computed: 0xdde742c4
RedBoot> e
Using base address 0x01008000 and length 0x000ba7c8
Uncompressing Linux...........

invalid compressed format (err=1)

 -- System halted

This system is defect for the use of a customer.
I expected Redboot to not start the kernel with the checksum error.
This would enable the start of a backup kernel in a startup script.
Is there an existing solution for my request or must i implement it by
myself?

Regards
Andreas

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2004-07-07 14:57 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-07-07 14:54 [ECOS] Redboots CRC checking Winkler Andreas
2004-07-07 14:57 ` Gary Thomas
  -- strict thread matches above, loose matches on Subject: below --
2004-07-07 13:41 Winkler Andreas
2004-07-07 13:57 ` Gary Thomas
     [not found] <BCB494E8B7BF2D40B56D1164C67BC2A801B168BF@kher443a.ww004.siemens.net>
2004-05-28 14:41 ` Gary Thomas
2004-05-27 13:22 Winkler Andreas
2004-05-27 14:40 ` Gary Thomas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).