All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Korsgaard <jacmet@uclibc.org>
To: buildroot@busybox.net
Subject: [Buildroot] Autotest infrastructure (a bit of off-topic: git repo URL)
Date: Fri, 09 Nov 2012 13:13:12 +0100	[thread overview]
Message-ID: <87bof76kkn.fsf@dell.be.48ers.dk> (raw)
In-Reply-To: <20121109114750.6a4dc53a@skate> (Thomas Petazzoni's message of "Fri, 9 Nov 2012 11:47:50 +0100")

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

Hi,

 Thomas> On a related topic (firmware upgrade), I have:
 Thomas> https://gitorious.org/embedded-linux-firmware-upgrade-tool/embedded-linux-firmware-upgrade-tool

 Thomas> It has a:

 Thomas>  * A host utility to prepare firmware images composed of multiple parts
 Thomas>    (usually a kernel image + root filesystem image, but there could be
 Thomas>    more)

 Thomas>  * A target utility that can run either on the command line or as a CGI
 Thomas>    script. This utility does the firmware upgrade itself by fiddling
 Thomas>    with the U-Boot environment.

 Thomas> The tool assumes that the flash has two partitions for each component
 Thomas> been upgraded (one active partition, one to upgrade).

 Thomas> The documentation at
 Thomas> https://gitorious.org/embedded-linux-firmware-upgrade-tool/embedded-linux-firmware-upgrade-tool/blobs/master/fwupgrade-doc.txt
 Thomas> has a few details.

This is getting pretty offtopic, but from a quick look at it, it seems
nice, but:

- hardcoded for nand (E.G. uses nandwrite)
- non-atomic (E.G. uboot environment is handled per-part, so you can end
  up with a halfway upgraded system if something goes wrong)
- fairly inflexible (hardcoded upgrade procedure, hw id handling, cgi)

I've solved it in the past by wrapping firmware upgrades in .deb files,
and used the depends on / conflicts stuff for hw id/version handling,
and the pre/post scripts to define the upgrade handling in the upgrade
itself. To ensure an atomic change between current and upgraded system I
key off the choice of kernel/rootfs from a single u-boot variable
(typically called boot=high|low) which is only changed at the very end.

Maybe we should do some more firmware upgrade talks at an upcoming
conference ;)

-- 
Bye, Peter Korsgaard

  reply	other threads:[~2012-11-09 12:13 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-08 15:00 [Buildroot] Autotest infrastructure Arnout Vandecappelle
2012-11-08 16:21 ` [Buildroot] Autotest infrastructure (a bit of off-topic: git repo URL) Javier Viguera
2012-11-08 21:21   ` Arnout Vandecappelle
2012-11-09 10:47     ` Thomas Petazzoni
2012-11-09 12:13       ` Peter Korsgaard [this message]
2012-11-09 13:18         ` Thomas Petazzoni

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=87bof76kkn.fsf@dell.be.48ers.dk \
    --to=jacmet@uclibc.org \
    --cc=buildroot@busybox.net \
    /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.