Buildroot Archive on 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox