Hello Enrico,
Thank you for your reply, and confirmation of my understanding. Due to
limit storage space on our device, we need to use a small update/rescue
OS and our much larger main OS. I expect our rescue/update OS may just
be a script (to start with) to mount the USB drive and run rauc on a
pre-set file name, maybe flashing some of our LEDS as it does its work!
Kevin Golding
On 17/05/2018 16:22, Enrico Joerns wrote:
Hi Kevin,
On 05/17/2018 04:29 PM, Kevin Golding wrote:
Hello,
Am just getting my head around RAUC, and wondered if I'm right in
thinking that a rescue system is not included with RAUC? i.e. I would
need to find or create a small bootable rescue system that would run
the RAUC update command say via say from a file on a USB stick?
conceptually RAUC is a generic update framework that can run on your
Linux device and handle safe and atomic updates of partitions etc.
It does neither provide any ready-to-use distribution nor depend on
any specific.
Thus building a system is always a task that should be solved outside
of an update tool. With OE/Yocto, PTXdist and buildroot good build
system exists for this that allow you to generate well defined
customized systems in versioned and reproducible manner.
RAUC also does not depend on any specific source for its update
artifacts. Neither on the production system nor on any rescue system.
You can fetch your update from USB / network / storage media or
whatever fits your concept or platform.
Nevertheless, conceptually a rescue system is surely supported. A slot
configuration for your rescue system (and the default ones, too) would
look like
[slot.rootfs.0]
device=/dev/mmcblk0p1
...
[slot.rootfs.1]
device=/dev/mmcblk0p1
...
[slot.rescue.0]
device=/dev/sda1
...
This would allow detecting RAUC that it is not running from one of the
normal rootfs partitions but from the rescue partition instead and
that it can safely upate the others.
If I am right, are there any examples of a rescue system available?
No. A rescue system can be as small as only a minimal
kernel+initramfs+dtb with RAUC binary + dependencies which will result
in a few kB. Most of the build systems above provide a minimal rootfs
configuration that you can simply extend with RAUC.
https://rauc.readthedocs.io/en/latest/integration.html
Did that roughly point you in the right direction?
Best regards, Enrico
_______________________________________________
RAUC mailing list