This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: AW: cat zImage >/dev/mtd1 does not work


Thanks very much Alex. That makes things clear.

Now for the CDL (please excuse me since I'm a newbie
to RedBoot), could you explain more? Do I need to build
Redboot with the correct options and store it in the
flash?

Thanks again.
Wei

--- "Neundorf, Alexander" <Alexander.Neundorf@jenoptik.com> wrote:

> > Von: ecos-discuss-owner@ecos.sourceware.org
> > 
> > Hi, 
> > 
> > I'm running snapgear-3.4.0 on an IXDP425 board with RedBoot as 
> > the bootloader and I want to
> > be able to upgrade my kernel and filesystem, i.e., zImage and 
> > ramdisk.gz on the flash, under Linux.
> > 
> > So I shipped the zImage and ramdisk.gz onto the running system
> > and did
> >     # cat zImage >/dev/mtd1
> >     # cat ramdisk.gz >/dev/mtd2
> > 
> > after eraseall the two partitions. To my surprise, when I reboot,
> > RedBoot gave 
> >                         RedBoot> fis load ramdisk             
> >                 
> >                         ** Warning - checksum failure.  
> > stored: 0x33dbe19b, computed:
> >                         0xc9d7dfef                            
> >                 
> >                         RedBoot> fis load kernel              
> >                 
> >                         ** Warning - checksum failure.  
> > stored: 0xfb99dd45, computed:
> >                         0x788bb713                            
> >                 
> >                         RedBoot> exec -c 
> > "console=ttyS0,115200 root=/dev/ram0 
> >                         initrd=0x00800000,6M 
> > mem=32M@0x00000000" 0x01600000   
> >                         Can't execute Linux - invalid entry 
> > address           
> > and refused to boot.
> > 
> > I understand here the newly flashed images (as it was not 
> > done in RedBoot but in the OS) may
> > not have the same checksum as RedBoot calculated for the 
> > earlier images. And this caused the problem.
> 
> When Redboot stores an image, it stores:
> -the actual data length
> -the size of the "partition"
> -the calculated checksum
> 
> If the checksum doesn't match, it fails.
> If the actual size of the kernel is bigger than what it stored in the FIS, it won't load
> everything and it probably will not work.
> 
> You could:
> -disable the checksum in Redboot, I think this is possible via a cdl option
> -when storing the kernel via Redboot, use the partition size also as data length, so it will
> always load everything as long as it fits in the partition.
> 
> Bye
> Alex
> 
> --
> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
> 
> 



 
____________________________________________________________________________________
It's here! Your new message!  
Get new email alerts with the free Yahoo! Toolbar.
http://tools.search.yahoo.com/toolbar/features/mail/

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]