summaryrefslogtreecommitdiffstats
path: root/meta-openbmc-machines/meta-openpower
diff options
context:
space:
mode:
authorAdriana Kobylak <anoo@us.ibm.com>2017-05-22 14:41:02 -0500
committerPatrick Williams <patrick@stwcx.xyz>2017-05-25 13:19:01 +0000
commit7f01f214e1ea13aec702e8a2799dfeba0962ec06 (patch)
treef0d102c5d3bbb5fecbda32dc8e84202aa2bc01df /meta-openbmc-machines/meta-openpower
parent8f42fb8b4523948aec1f0b524a94711408f978e3 (diff)
downloadtalos-openbmc-7f01f214e1ea13aec702e8a2799dfeba0962ec06.tar.gz
talos-openbmc-7f01f214e1ea13aec702e8a2799dfeba0962ec06.zip
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/meta-openpower')
-rw-r--r--meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager.bb2
-rw-r--r--meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-prsv.service15
-rw-r--r--meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubiumount-rw@.service16
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;'
OpenPOWER on IntegriCloud