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 (#49696): https://lists.yoctoproject.org/g/yocto/message/49696 Mute This Topic: https://lists.yoctoproject.org/mt/74978107/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
