[uClinux-dev] Need some help on a Firmware upgrade implementation !

David McCullough davidm at snapgear.com
Sat Aug 13 09:40:23 EDT 2005

Jivin Sreecharan Sivadevuni lays it down ...
> Hi all, 
>          I have a 4MB Intel TE28F320 flash card on my
> board on which I am using an uClinux2.4.24 image and
> an CRAMFS filesystem. I want to implement a Firmware
> upgrade feature development, for this I need to
> overwrite the 'image.cramfs' filesystem on the flash.
> Q1: Is it possible to overwrite the filesystem on
> flash while I am still executing on it ?

While you would think not, it can be done.
We use netflash to reflash new images over executing
filesystems.  There can be gotchas, always best to reboot
from a single running app that does the update.

> Q2: Does the MTD support available on uClinux2.4.24,
> support the above flash card that I am using and if
> yes can I accomodate a JFFS2 filesystem assuming I
> have 2.5 MB of flash space available after kernel; my
> current 'image.cramfs' takes 1.7MB of flash space.

No idea.  Though why start using JFFS/MTD when you can
just use ext3 if you want a journaled FS ?

> Q3: Is a bootloader implementation a better option ?
> OR is there any other possible way I can achieve this,
> with a User level application, assuming I want to use
> CRAMFS only. for eg. Can I temporarily use a
> RAMdisk/initrd filesystem to boot up and then down
> load a 'image.cramfs' image over network and write
> this image to the flash. Is this a feasible solution.
> please comment.
> I would appreciate answers to any of the above
> questions please let me know if I am missing something

Have a look at what netflash can do for you.  It pulls
images over the net and writes them into various kinds
of devices (blkmem/MTD/disk).  Be sure to check your
config options.  By default it writes to /dev/flash/image,
just point that to the appropriate device or use command
line options to tell it the device to use,


David McCullough, davidm at cyberguard.com.au, Custom Embedded Solutions + Security
Ph:+61 734352815 Fx:+61 738913630 http://www.uCdot.org http://www.cyberguard.com

More information about the uClinux-dev mailing list