diff options
author | Adriana Kobylak <anoo@us.ibm.com> | 2017-05-22 22:41:02 +0300 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2017-05-25 16:19:01 +0300 |
commit | 7f01f214e1ea13aec702e8a2799dfeba0962ec06 (patch) | |
tree | f0d102c5d3bbb5fecbda32dc8e84202aa2bc01df /meta-openbmc-machines | |
parent | 8f42fb8b4523948aec1f0b524a94711408f978e3 (diff) | |
download | openbmc-7f01f214e1ea13aec702e8a2799dfeba0962ec06.tar.xz |
Create service files to remove read-write UBI volumes
Perform the opposite operations in reverse order as the
ubimount service file. Create two service files to remove
the rw UBI volumes:
A template service file that takes the version id and
removes the pnor-rw-<versionid> volumes. This can be
used by the Object.Delete interface implementation
to remove a software version.
A service file that removes the single pnor-prsv volume.
This and the template service file can be called by
the FactoryReset interface implementation to remove
all read-write volumes.
Closes openbmc/openbmc#1615
Change-Id: I079eb0fdb7e444434f57abf0421f55864dfb9703
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
Diffstat (limited to 'meta-openbmc-machines')
3 files changed, 33 insertions, 0 deletions
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager.bb b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager.bb index 3201c6996..1b426d0ec 100644 --- a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager.bb +++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager.bb @@ -28,6 +28,8 @@ DBUS_SERVICE_${PN} += "org.open_power.Software.Host.Updater.service" SYSTEMD_SERVICE_${PN} += " \ obmc-flash-bios-ubiattach.service \ obmc-flash-bios-ubimount@.service \ + obmc-flash-bios-ubiumount-prsv.service \ + obmc-flash-bios-ubiumount-rw@.service \ obmc-flash-bios-squashfsmount@.service \ " diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-prsv.service b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-prsv.service new file mode 100644 index 000000000..7dcf1b28d --- /dev/null +++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-prsv.service @@ -0,0 +1,15 @@ +[Unit] +Description=Remove UBIFS volume pnor-prsv +Wants=obmc-flash-bios-ubiattach.service +After=obmc-flash-bios-ubiattach.service + +[Service] +Type=oneshot +RemainAfterExit=no +ExecStart=/bin/sh -c 'if grep -q pnor-prsv /proc/mounts; then \ + umount /media/pnor-prsv; fi; \ + prsv_ubi=`ubinfo -d 0 -a | grep pnor-prsv`; \ + if [ ! -z "$prsv_ubi" ]; then \ + {sbindir}/ubirmvol /dev/ubi0 -N pnor-prsv; fi; \ + if [ -d "/media/pnor-prsv" ]; then \ + rm -r /media/pnor-prsv; fi;' diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-rw@.service b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-rw@.service new file mode 100644 index 000000000..b2724027a --- /dev/null +++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-rw@.service @@ -0,0 +1,16 @@ +[Unit] +Description=Remove UBIFS volume pnor-rw-%I +Wants=obmc-flash-bios-ubiattach.service +After=obmc-flash-bios-ubiattach.service + +[Service] +Type=oneshot +RemainAfterExit=no +ExecStart=/bin/sh -c 'rw=pnor-rw-%i; \ + if grep -q $rw /proc/mounts; then \ + umount /media/$rw; fi; \ + rw_ubi=`ubinfo -d 0 -a | grep $rw`; \ + if [ ! -z "$rw_ubi" ]; then \ + {sbindir}/ubirmvol /dev/ubi0 -N $rw; fi; \ + if [ -d "/media/$rw" ]; then \ + rm -r /media/$rw; fi;' |