Re: [Suit] Introducing draft-moran-suit-manifest-04

Michael Richardson <> Thu, 11 April 2019 17:17 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id E5BBC12038B for <>; Thu, 11 Apr 2019 10:17:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id w-cWQLypt3Cz for <>; Thu, 11 Apr 2019 10:17:37 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id CEF2F1202E1 for <>; Thu, 11 Apr 2019 10:17:36 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 6A8463826B; Thu, 11 Apr 2019 13:16:35 -0400 (EDT)
Received: by (Postfix, from userid 179) id 67DF0708; Thu, 11 Apr 2019 13:17:35 -0400 (EDT)
Received: from (localhost []) by (Postfix) with ESMTP id 655BA479; Thu, 11 Apr 2019 13:17:35 -0400 (EDT)
From: Michael Richardson <>
To: David Brown <>
cc: Brendan Moran <>, "suit\" <>
In-Reply-To: <>
References: <> <> <> <>
X-Mailer: MH-E 8.6; nmh 1.7+dev; GNU Emacs 24.5.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature"
Date: Thu, 11 Apr 2019 13:17:35 -0400
Message-ID: <26593.1555003055@localhost>
Archived-At: <>
Subject: Re: [Suit] Introducing draft-moran-suit-manifest-04
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Software Updates for Internet of Things <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 11 Apr 2019 17:17:40 -0000

David Brown <> wrote:
    >> Reboot resilience for “swap” is probably outside the scope of this draft.
    >> Adding a condition to check the success marker might be useful.

    > I'm not sure it really even makes sense to describe the reboot
    > resilience in the manifest.  At least for swap, it is a large number
    > of steps that have to be done carefully, along with a lot of extra
    > state that is written every step.  I would think this intermediate
    > state is beyond the scape of the manifest.

    > For those interested, I've thrown together a bit of an amination
    > describing how the swap operation works in MCUboot, including at least
    > part of its state.


    > I'm not actually sure it is even going to make very much sense for
    > MCUboot to follow steps in the manifest, rather than just verifying
    > that they are present.  The steps make sense for the download
    > application.

Very nice animation.
It really seems like the swap operation does by MCUboot ought to be below the
level of the manifest instructions.

    > One difficulty I see following steps in the manifest is that the code
    > currently maintains state out-of-band from the manifest.  The current
    > state is:

That suggests to me that maybe we need to make the state explicit in the
information model associated with the manifest.

    > Any thoughts on what is appropriate to even represent in the manifest?
    > The two instructions that the bootloader would follow would be "swap"
    > or "apply" (depending on configuration), and "run".  Right now, we
    > distinguish swap vs copy by whether the new image contains the "image
    > ok" marker, but having two instructions could distinguish this as
    > well.

]               Never tell me the odds!                 | ipv6 mesh networks [
]   Michael Richardson, Sandelman Software Works        |    IoT architect   [
]        |   ruby on rails    [

Michael Richardson <>ca>, Sandelman Software Works
 -= IPv6 IoT consulting =-