[yocto] [rauc] create a rescue image

Mike Looijmans mike.looijmans at topic.nl
Tue Mar 26 07:17:33 PDT 2019


On 26-03-19 12:31, jairo wrote:
> 
> Thank you very much Mike.
> 
> 
> 
>> With NAND you'll probably have a filesystem (jffs2 or UBI) in place.
>> With that, you could just use a package manager like opkg to update
>> sofware. If the box has a network connection, just running "opkg
>> update && opkg upgrade" will install the current releases with the
>> minimum effort. We've been using this on a million boxes and it works
>> fine (until someone decides to patch libc and you get a 300+ package
>> upgrade).
> 
> 
> Is there a public repository with ipk packages, or do I have to create
> my own repository?

OpenEmbedded already created it, it's usually in build/tmp-glibc/deploy/ipk

To turn it into a "feed" just share this directory through http. On my 
development setup, I installed apache and created a symlink to that directory. 
You'll also need to add "distro-feed-configs" to your image (and maybe append 
it a bit to match your system).

> Can opkg solve dependencies well? Can it create problems?

Haven't seen any problems with it, and it installs dependencies along with 
packages.

>> Linux is also capable of upgrading a running system. Basically, copy
>> some
>> executables to a tmp filesystem, remount everything read-only, and
>> change root
>> to the tmp part. Then you can rewrite partitions and reboot.
>>
>> In any case, you should have a u-boot configuration that allows it to
>> be
>> debricked. Typically a USB stick or DFU will do nicely if your board
>> has USB.
>> Or even serial...
> 
> I'm using Barebox, I think there would be no problems out there, the
> bad part of using opkg is that the product should be used by clients
> without much knowledge of linux. In that part I think it would be
> easier for customers to use a update system such as Rauc or any similar

The system that's using ipkg is a TV settop box, and the average user has 
about the intellectual capabilities of a potato.

To actually upgrade, the user selects "settings" and "update software" from 
the main menu using the remote control, and doesn't even have to leave the couch.

(To recover a bricked box, or install from scratch, the procedure is much more 
complicated: Download a zip file, unpack on a USB stick, put it into the 
settop and switch it on. That'd require intellect slightly above your average 
vegetable but is still doable apparently.)

Being user-friendly is about providing a proper wrapper, it's not about 
technology.


More information about the yocto mailing list