All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: Tudor Holton <tudor@tudorholton.com>
Cc: buildroot@buildroot.org
Subject: Re: [Buildroot] Package to manage multiple buildroot filesystem "versions"?
Date: Thu, 26 Aug 2021 00:31:20 +0200	[thread overview]
Message-ID: <20210826003120.7eb15bbd@windsurf> (raw)
In-Reply-To: <f2ac08f597a5b80bb2b2aa9ea554b952@tudorholton.com>

Hello Tudor,

On Wed, 25 Aug 2021 17:08:16 +1000
Tudor Holton <tudor@tudorholton.com> wrote:

> I understand that buildroot is for building root filesystems and not 
> really outside that, but...
> 
> Is there a package that can manage the partition layout, and buildroot 
> filesystem "versions", for upgrade and fallback?
> 
> For example, something like:
> 
> 1) During build, allocate space for 2 or more partitions, the first 
> partition is the running buildroot filesystem
> 2) When the buildroot filesystem is running, download a newer version of 
> the filesystem, verify it, and dd it to the second partition
> 3) Tell grub/EFI to boot the newer partition and reboot
> BUT
> 4a) It doesn't complete the startup for some reason (like there's a 
> kernel panic, or something doesn't start properly triggering the 
> watchdog)
> SO
> 5a) It reboots again, calling the previous version (e.g. using grub 
> fallback or fallback.efi)
> OR
> 4b) It does complete the startup, but some important service doesn't 
> work (like it can't connect to the internet) so we presume we need to 
> roll back
> 5B) It rolls back to the previous version with some kind of failure flag 
> to tell the server that it failed the upgrade
> 
> I can see that this could be fairly easily written, but I was wondering 
> if there was a buildroot package or environment that does this kind of 
> behaviour already?

You are re-inventing the concept of OTA update systems. Check out:

 * swupdate, https://sbabic.github.io/swupdate/

 * RAUC, https://rauc.readthedocs.io/en/latest/

 * Mender, https://mender.io/

All three are packaged in Buildroot.

Best regards,

Thomas Petazzoni
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

      reply	other threads:[~2021-08-25 22:31 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-25  7:08 [Buildroot] Package to manage multiple buildroot filesystem "versions"? Tudor Holton
2021-08-25 22:31 ` Thomas Petazzoni [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210826003120.7eb15bbd@windsurf \
    --to=thomas.petazzoni@bootlin.com \
    --cc=buildroot@buildroot.org \
    --cc=tudor@tudorholton.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.