GithubHelp home page GithubHelp logo

openpower-pnor-code-mgmt's Introduction

openpower-pnor-code-mgmt

OpenPower PNOR (Processor NOR) Code Management provides a set of host software management applications for OpenPower systems. The host firmware is stored on the PNOR chip. More information can be found at Software Architecture or Host Code Update

To Build

To build this package, do the following steps:

  1. meson build
  2. ninja -C build

To clean the repository run rm -r build.

openpower-pnor-code-mgmt's People

Contributors

amboar avatar anoo1 avatar bradbishop avatar deepakala-k avatar devenrao avatar eddiejames avatar edtanous avatar fighternan avatar geissonator avatar gtmills avatar isaacpk avatar jaypadath avatar kostr avatar lgon avatar lxwinspur avatar mine260309 avatar nest1ing avatar oohal avatar pstrinkle avatar rameshiyyar avatar sammj avatar saqibkh avatar wak-google avatar williamspatrick avatar zamiseck avatar zhanghaodi avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openpower-pnor-code-mgmt's Issues

no xyz.openbmc_project.Software.Activation created for host PNOR images

Seems like we've introduced a regression. We're seeing issues when trying to upload host-only images on romulus and witherspoon (i.e. romulus.pnor.static.tar.gz), that it uploads and untars ok but the resulting D-Bus object has no Activation interface on it.

Here's what we've got. 60543fa3 is the new PNOR image I've uploaded and can not activate.

root@romulus:~# busctl call xyz.openbmc_project.ObjectMapper /xyz/openbmc_project/object_mapper xyz.openbmc_project.ObjectMapper GetSubTree sias /xyz/openbmc_project/software 0 1 xyz.openbmc_project.Software.Version

a{sa{sas}} 3 

"/xyz/openbmc_project/software/60543fa3" 1 "xyz.openbmc_project.Software.Version" 6
"org.freedesktop.DBus.Introspectable" "org.freedesktop.DBus.Peer" "org.freedesktop.DBus.Properties" 
"xyz.openbmc_project.Common.FilePath" "xyz.openbmc_project.Object.Delete" "xyz.openbmc_project.Software.Version" 

"/xyz/openbmc_project/software/a1d16ef4" 1 "xyz.openbmc_project.Software.BMC.Updater" 8 
"org.freedesktop.DBus.Introspectable" "org.freedesktop.DBus.Peer" "org.freedesktop.DBus.Properties" 
"xyz.openbmc_project.Association.Definitions" "xyz.openbmc_project.Common.FilePath" 
"xyz.openbmc_project.Software.Activation" "xyz.openbmc_project.Software.RedundancyPriority" 
"xyz.openbmc_project.Software.Version" 

"/xyz/openbmc_project/software/d1eed8ca" 1 "org.open_power.Software.Host.Updater" 10 
"org.freedesktop.DBus.Introspectable" "org.freedesktop.DBus.Peer" "org.freedesktop.DBus.Properties" 
"xyz.openbmc_project.Association.Definitions" "xyz.openbmc_project.Common.FilePath" 
"xyz.openbmc_project.Object.Delete" "xyz.openbmc_project.Software.Activation" 
"xyz.openbmc_project.Software.ExtendedVersion" "xyz.openbmc_project.Software.RedundancyPriority" 
"xyz.openbmc_project.Software.Version"

Nothing obvious in the journal, we see this:

But nothing else from the software code. This seemed to pop up around 2.9.0-dev-1373-gf5a72daa5d.

pnor error failed to read VERSION while factory reset

factory reset error
{
"data": {
"description": "org.freedesktop.DBus.Error.NoReply"
},
"message": "Remote peer disconnected",
"status": "error"
}

journal:
openpower-update-manager[1046]:Failed to read VERSION
openpower-update-manager[1046]:Unable to read from version
openpower-update-manager[1046]:Error version is empty

Support flash chip that only holds a single PNOR

The current openpower-pnor-code-mgmt is implemented based on that the chip is able to hold two PNORs, e.g. 128MiB chip.
Most OpenPOWER systems uses 64MiB PNOR chip, and it is able to only hold a single PNOR.

This issue is to track the efforts to support such case.
Ideally, we only need to change below to support this case:

  1. Enable openpower-ubi distro feature
  2. Add openpower-software-manager_%.bbappend to define ACTIVE_PNOR_MAX_ALLOWED=1 in

However, several issues are found during testing:

  1. The existing PNOR on flash is always functional, so during code update, it will not delete the current PNOR in ItemUpdater::freeSpace(), and thus the update will fail due to not enough space.
  2. If we change the above code to let it delete the functional PNOR, the code update will succeed. However, the VersionID is not deleted, results in below issues:
    1. If we upload the the previous-functional PNOR again, it gets Version already exists or failed to be extracted error;
    2. If we managed to upload the previous-functional PNOR again, the VersionID is still marked as functional, so the WebUI will show both "Functional" PNORs, and the uploaded previous-functional PNOR will not show the "Activate" button. Both are wrong from WebUI perspective.

The code should handle such cases when ACTIVE_PNOR_MAX_ALLOWED is set to 1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.