Right. Where I work, the updates would be performed through an A/B
partition scheme: if the update is botched, it is always possible to roll
back. This doubles the disk space requirement, but is far more robust.

Alex

On Fri, 19 Jun 2020 at 16:35, csimmonds <[email protected]> wrote:

> I would like to add that this is a design decision. Package updates, be
> they based on rpm, deb, or ipk, are not atomic. Which means that if you
> power off during an update the system will usually not boot afterwards.
> This is not a problem with servers in data centers with redundant power
> supplies and whatever, but it is a problem for an embedded device on the
> top of a mountain or at the bottom of the sea. OpenEmbedded/Yocto
> Project expect the update will be done by programming a new root
> filesystem image. There are several ways to do this, including OTA
> solutions like swupdate and mender.io.
>
> HTH,
> Chris
>
> On 19/06/2020 15:05, Alexander Kanavin wrote:
> > Yocto does not support or test upgrading from one yocto release to the
> > next through dnf. Nothing conceptually prevents it, but you need to set
> > up and test such upgrades yourself, and send any needed fixes upstream.
> >
> > Alex
> >
> > On Fri 19. Jun 2020 at 14.16, Hugh Boddington
> > <[email protected]
> > <mailto:[email protected]>> wrote:
> >
> >     Hello all,
> >
> >     I'm struggling conceptually with a recommended upgrade strategy for
> >     our distribution (i.e. the resultant distribution on an ARM-based
> >     embedded device, not the development SDK itself).  I had initially
> >     assumed that a package manager (we're using DNF) could be used to
> >     upgrade a distribution from one version to the next, but every time
> >     I've used it to try to deploy a large upgrade (e.g.,  Zeus->Dunfell)
> >     I've run into problems.  Currently, if I try to use DNF to upgrade
> >     from a Zeus-based distribution my DNF installation breaks
> >     ("ModuleNotFoundError: No module named 'dnf'") and I can't even shut
> >     the device down ("/run/initctl: No such file or directory").
> >     However, if I install the Dunfell-based distribution from a raw
> >     image (without upgrading through Zeus) then everything works fine.
> >     I'm not getting an errors in my build or indication that something
> >     went wrong, but obviously something is amiss.
> >
> >     Questions:
> >       1) Am I missing something?  Is it reasonable to expect that I can
> >     upgrade the whole distro using DNF?  I've read the wiki page about
> >     System Updates (https://wiki.yoctoproject.org/wiki/System_Update)
> >     and DNF (or any other package manager) is not listed - does that
> >     imply it's not up to the job?
> >       2) If I do continue using DNF, how do I troubleshoot the above
> >     issues?  I don't mean specifically those issues, but I want to learn
> >     to fish.  Some packages got broken.  Was it caused by the distro I'm
> >     upgrading from?  To?  What's the best way of tracing it back?  I
> >     tried looking through the various commits but obviously there were a
> >     lot of changes made from one distro to another.  The above scenario
> >     seems also to be a perfect storm because now that DNF is broken I
> >     don't have a mechanism to downgrade anything.
> >
> >     I can't help but think that I'm swimming against the current here,
> >     or that I've done something fundamentally wrong - I'd appreciate any
> >     insight or advice.  Thank you!
> >
> >     Hugh
> >
> >
> >
> >
>
>
> --
> Chris Simmonds, trainer and consultant at 2net
> http://www.2net.co.uk
> Author of "Mastering Embedded Linux Programming"
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#49697): https://lists.yoctoproject.org/g/yocto/message/49697
Mute This Topic: https://lists.yoctoproject.org/mt/74978107/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to