2011-04-20 02:56:37     Product Updates

Document created by Aaronwu Employee on Aug 26, 2013
Version 1Show Document
  • View in full screen mode

2011-04-20 02:56:37     Product Updates

Dale Gifford (UNITED STATES)

Message: 100018   

 

I have a product that is based on the Blackfin, uCLinux, and U-Boot. Before I release the product to production I was contemplating different ways to perform firmware upgrades in the field. That is, for product that has already shipped to customers, if I create improved firmware, fix bugs, add features, etc, what is the best way to package up my updates and deliver them? If the users can download my updates and get them onto the hardware platform, is there a utility, like the standard Linux package utilities that works well for the Blackfin and uCLinux? I can imagine that in the future I might fix a bug in U-Boot, the uClinux kernel or device drivers that are statically linked with the kernel, or applications that reside on the file system. I could make shell scripts and package things up myself, but that seems like it could get tedious. I'm wondering if anybody else has attacked this problem and found an elegant solution?

QuoteReplyEditDelete

 

 

2011-04-20 03:09:07     Re: Product Updates

Mike Frysinger (UNITED STATES)

Message: 100019   

 

this isnt really a Blackfin or a uClinux-dist question.  it sounds like you want to update the u-boot or kernel image in flash, so once you have the file on the board, you can write it to the relevant /dev/mtd entry.  at least for parallel or spi flashes, as nand writing should be done through the `nandwrite` helper.

 

how you actually get the updated file onto the board is fairly product specific.  does the user put in a memory stick ?  upgrade over USB ?  upgrade over the network ?  telnet into the system ?  ssh into the system ?  use some on-board GUI ?  use a web interface ?

QuoteReplyEditDelete

 

 

2011-04-20 15:19:22     Re: Product Updates

Dale Gifford (UNITED STATES)

Message: 100046   

 

You're correct Mike, updating the U-Boot or kernel image is just as you mentioned, write the image to the correct /dev/mtd entry.

 

The user has many options for getting the update onto the target hardware, USB, Serial, FTP, Telnet, etc. The product has the ability to use all of the above.

 

But what I was more concerned with is creating a single file, something like a pkg file, that would contain any necessary scripts to execute along with the associated files that contain the updated binary objects. I'd prefer a single file, so that there is just one thing to copy over to the target platform. And then on the target platform the package is unarchived and necessary scripts are executed to perform the update.

 

I was wondering if there was already a utility that others are using that would automate the creation of the bundle, and then something on the blackfin that would unarchive the bundle and execute the scripts.

QuoteReplyEditDelete

 

 

2011-04-20 19:38:54     Re: Product Updates

Mike Frysinger (UNITED STATES)

Message: 100049   

 

you mean like `tar` ?

Attachments

    Outcomes