| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The updatesymlinks functionality is to support virtual pnor and it
does not depend on the filesystem type. Move it to a new vpnor
feature so that users can make use of this feature without being
tied to UBI, for example on a eMMC that has a combined BMC+PNOR
image.
Tested: Verified that the witherspoon image contained the new
script and service file and that it powered on to the host.
Change-Id: Ic5e51dfde81718e5e285f010be67afbd58eac2e1
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A new association interface is defined in phosphor-dbus-interfaces
It would be nice to move the local version of the interface
to the new one.
The behavior of how association work is described here:
https://github.com/openbmc/docs/blob/master/object-mapper.md#associations
Partially resolves openbmc/openbmc#3584
Tested: See the org.openbmc.Associations interface has been replaced by the xyz
one in /xyz/openbmc_project/software/version_id object and only when the
version number is less than PNOR_MSL, "PNOR Minimum Ship Level NOT met"
is reported.
Signed-off-by: John Wang <wangzqbj@inspur.com>
Change-Id: If4afeb69a9bd8bc494b77826f2ec2854a71f56f5
|
|
|
|
|
|
|
|
|
|
|
| |
Add configure and makefile rule to install system service units to
systemd unit dir.
Tested: Verify the service is install to /lib/systemd/system in openbmc
environment.
Change-Id: I620fe1f01ad315e4918d30fecdf165fd91fefe7b
Signed-off-by: Lei YU <mine260309@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The existing item_updater is highly coupled with ubifs.
It will support static layout and ubi in future.
So split the functions in to common ones and ubi specific ones, and move
the ubi specific code in ubi dir.
1. Keep common functions and make them virtual for extension.
createActiveAssociation()
updateFunctionalAssociation()
removeAssociation()
erase()
2. Create ubi/item_updater_ubi and move other functions into it.
3. Change updateFunctionalAssociation() parameter for future use.
To support static layout, a new item_updater_static will be written.
Tested: On the last commit of the patch series, run code update and
factory reset on Witherspoon and all work fine.
Change-Id: I4cc55b31ee3f37c5b27168611305dee8ce02880a
Signed-off-by: Lei YU <mine260309@gmail.com>
|
|
|
|
|
|
|
|
| |
Use the defaults in the pkg check where the default error message is
sufficient to identify which package is missing.
Change-Id: Id4ae96c559212f60721bd9a3af6fd3d7742e61ee
Signed-off-by: Patrick Venture <venture@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The VERSION partition may have a secure boot header, so
the version string would not be the first line.
Instead of adding logic to parse the VERSION partition
and to protect against future changes, read the version
string from D-Bus instead by querying the functional
association.
Tested: The functional version was read successfully.
Change-Id: Icf0a9bd9f360ef9f0732579fa073f8661b8c57bd
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
| |
Create a new binary that checks the msl (minimum ship level)
of the PNOR and logs an error message if the version on the
system is older. The msl can be specified via a config flag.
Change-Id: I6f477400f7a8cf56557bd0caf5d6e08d73320028
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
| |
Change-Id: I804e86172696dd541290d4af33c6a893ae8f0506
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit ee697121c78a262c456293b10c4f2d4e2873cff0.
The functional association goes away after activating a new image
(issue openbmc/openbmc#3038). The workaround is to keep the reverse
association names the same for the active and functional ones
until the issue is resolved.
Change-Id: I1ce1440e4c612e0efb553695f05db8adea171a77
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The verify_signature feature name is the same as the one used
in the phosphor-software-manager repo which manages the BMC
firmware updates. Change the name to make it different to
be able to control enabling the feature individually via recipes,
since enabling it on the phosphor recipe enables it for the
pnor code as well (due to the recipe dependency on
virtual-obmc-image-manager).
Change-Id: I73e446dd6d5f0995132bc60403e08d16d07703bd
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
| |
Enable signature validation during version activation
based on the WANT_SIGNATURE_VERIFY flag.
Change-Id: If8f4357553be9ed2fbcf86b4dddec768532a043a
Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
| |
Enabled high level logic flow for the PNOR signed image
signature validation routines.
Includes reading hash type, key type from Manifest file.
Change-Id: I00280fff5a61291852c1f2d5f6fd8aec3dd62bf0
Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current name "software_version" is not very useful.
The GUI to determine if an image is functional is looking at
/xyz/openbmc_project/software/<image id>/functional.
The GUI could still do the same thing with "software_version"
by looking for
/xyz/openbmc_project/software/<image id>/software_version to
determine if an image is functional, but that feels really wrong.
Part of openbmc/openbmc#2945.
Tested: Built an image with this change, flashed onto a
Witherspoon and verified the "functional" association
worked forward and reverse.
Change-Id: Icdc396e5bb3c627211b14b6340c6e55da2a772ba
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit enhances the host updater by dynamically removing the
Object.Delete interface from a host activation that is currently
running. Once the host isn't running anymore, the interface is re-added
so that the activation may be deleted.
Additionally, isVersionFunctional() from the parent updater is exposed,
since this function is needed to determine whether a given activation
is currently running on the host.
Add the Delete interface to all interfaces when the item updater starts
up, because the chassis state would be off initially, and in the case
where it automatically powers on because the BMC rebooted while the host
was on, the chassis property signal would cause the Delete interface to
be removed.
Change-Id: I4afcc1ebe2e8a3ce212b426749295e79b68cac62
Signed-off-by: Michael Tritz <mtritz@us.ibm.com>
|
|
|
|
|
|
|
|
|
| |
Created the function updateFunctionalAssociation to update
the functional association for the "running" PNOR image.
This function will be called by the inotify code.
Change-Id: I871624044fbb11800de4d13e6a4b174494c68f13
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
|
|
|
|
|
|
| |
The forward association should be inventory.
The reverse association should be activation.
Change-Id: I3ab94ca60290dfbc3b2cb4fe17f738f8bdaf96d1
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
| |
Create an association between an active image
and the active image's version object.
This change includes code to remove the active
association if the image is deleted.
Change-Id: Id5b2d353d7df05854b035641765e1066d64a3ef5
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
|
|
|
|
|
|
|
| |
Create an association from /xyz/openbmc_project/software/<id>
to /xyz/openbmc_project/inventory/system/chassis for Host
software images.
Change-Id: Ic0d690f86c164fd3441ad6475cce5e07208d899e
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
|
|
|
|
|
|
|
| |
- Generate sdbusplus server bindings for the org.openbmc.Associations
interface in the makefile.
- Add YAML file that describes the org.openbmc.Associations interface.
Change-Id: I496ef17433aeda520d3f2611d8582c5e9759601f
Signed-off-by: Saqib Khan <khansa@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- We need to limit the number of pnor versions because
pnor chip has limited space. If we run out of space
and the user tries another pnor code update then the
update will fail.
- Currently we can only hold two images on pnor at this
point. As we continue to decrease the size of pnor image
we will increment the number of active pnor chips we can
hold.
- This check will need to be removed once we have complete
issue #1402 which will automatically monitor the flash
usage and delete any image accordingly.
Resolves openbmc/openbmc#2155
Change-Id: Id62ba8554fba1ddb78286f70b0c3482a7beb8a6b
Signed-off-by: Saqib Khan <khansa@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit extends the functionality of the PNOR software updater by
preserving RedundancyPriority values through any kind of reset.
This is accomplished by storing priority values in serial files in
/var/lib/obmc/openpower-pnor-code-mgmt/ using the Cereal library. Each
time a priority value is modified, the value in the corresponding
version file is adjusted.
When the item updater resets, it reads back the priority values from
these files.
Resolves openbmc/openbmc#2040
Change-Id: I908431801e541a1e5b39bcf49ae057f7e340eecc
Signed-off-by: Michael Tritz <mtritz@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Read the /media/ dir for active pnor versions. Each active
version has a pnor.toc inside /media/ which is used to
recreate the version and activation objects.
- version that matches the version inside
"/var/lib/phosphor-software-manager/pnor/ro" is considered
the current version and its priority is set to 0.
Resolves openbmc/openbmc#1846
Change-Id: Ic3d22cc310fdd60d708a73ddc406d3fb0620845c
Signed-off-by: Saqib Khan <khansa@us.ibm.com>
|
|
|
|
|
|
|
|
|
| |
The image manager implements the Common.FilePath.Path interface,
make use of it to find the image files instead of hardcoding the
path, since the updater shouldn't know/care where the images are.
Change-Id: Ie9ec5982af1ec2ddd6d7a1b9e69d518520225ab5
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
| |
Once an image has been updated, point the current image to it.
Closes openbmc/openbmc#1278
Change-Id: If21938283913d4b40cadf44952b2a530c9266812
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
| |
This code was moved to phosphor-bmc-code-mgmt in
https://gerrit.openbmc-project.xyz/#/c/3647/
Change-Id: I0d9ed8b02a1ac8b0e795bf75a7be432c2ed64036
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
|
|
|
|
|
|
|
| |
When the RequestedActivation property is set to Active, call
the ubimount service with the version id to create a ubi
volume with the version id as its name.
Change-Id: I0479cb7daa82c845ef87f319180f8c0e0d5535a5
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
| |
- Validate the image dir by checking its content.
- Set Activation to "Ready" if validation passed or
else set it to "Invalid".
Resolves openbmc/openbmc#1356
Change-Id: Ica73ae5604e74db11cd58c223d82265309ea76a6
Signed-off-by: Saqib Khan <khansa@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously invoking ./bootstrap.sh would output:
$ ./bootstrap.sh
+ AUTOCONF_FILES=Makefile.in aclocal.m4 ar-lib autom4te.cache compile
config.guess config.h.in config.sub configure depcomp install-sh
ltmain.sh missing *libtoo
l test-driver
+ autoreconf -i
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac,
libtoolize: and rerunning libtoolize and aclocal.
libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
configure.ac:22: installing './compile'
configure.ac:22: installing './config.guess'
configure.ac:22: installing './config.sub'
configure.ac:5: installing './install-sh'
configure.ac:5: installing './missing'
Makefile.am: installing './depcomp'
parallel-tests: installing './test-driver'
+ echo Run "./configure ${CONFIGURE_FLAGS} && make"
Run "./configure ${CONFIGURE_FLAGS} && make"
Address the three lines:
libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac,
libtoolize: and rerunning libtoolize and aclocal.
libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
Change-Id: I0e4b4318ff5cd3775455e7c7514609060375f24d
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
|
|
|
|
|
|
|
|
|
| |
According to Patrick, all information regarding the
image must be read from the MANIFEST, such as version.
Also we must never open/read pnor.toc.
Change-Id: Icf9f83f9ec055de21e2cf13e4ab4ab4afafc2af7
Signed-off-by: Saqib Khan <khansa@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the same version id as the version manager. For that
query the object paths using the mapper and determine if
an item updater object has already been created.
Note: The mapper currently return the BMC version as well
since the interface is the same. To avoid this, a Host-only
interface can be used once those are added, and also
an association once the association work is finalized.
Closes: openbmc/openbmc#1277
Change-Id: I66711ac92a28b7f7ed37006ad6f40de86be1e54c
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
|
|
|
|
|
|
|
| |
Added gtests for getVersion() and getId()
Resolves openbmc/openbmc#1276.
Change-Id: I10a824ae3da426e901defc34fa7f3c6c6a8496d3
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
| |
The id is determined by hashing the PNOR version.
For now, assume the pnor partitions are located at
/tmp/pnor. Part of openbmc/openbmc#1276. The PNOR
version is read from pnor.toc
Change-Id: Iddab7bb4ae5c350c60abf93057ddd997c97fa84c
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Monitor the creation of new software version dbus objects and
create an activation dbus object SOFTWARE_OBJPATH/<ID>.
Save them in a persistent map with the corresponding version id,
add the real version id number to the map and to the dbus
object path once that's available.
Change-Id: I35c2f211bbefc44a066aafa1760f725399215e69
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
|
|
This is the starting code needed to build the application.
Change-Id: Ie2937ed6246b8646b9e5b4d09318bc4aa7b31c35
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|