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]] -=-=-=-=-=-=-=-=-=-=-=-
