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

Reply via email to