This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
AW: cat zImage >/dev/mtd1 does not work
- From: "Neundorf, Alexander" <Alexander dot Neundorf at jenoptik dot com>
- To: "ecos-discuss" <ecos-discuss at ecos dot sourceware dot org>
- Date: Fri, 19 Jan 2007 08:48:46 +0100
- Subject: AW: [ECOS] cat zImage >/dev/mtd1 does not work
> 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