summaryrefslogtreecommitdiff
path: root/meta-openbmc-machines/meta-openpower/common/recipes-phosphor
diff options
context:
space:
mode:
authorAdriana Kobylak <anoo@us.ibm.com>2017-07-06 19:29:46 +0300
committerAdriana Kobylak <anoo@us.ibm.com>2017-07-19 20:35:06 +0300
commit77da88c680bbccd481c3879b80b3a0768803fbaf (patch)
tree33ad8e5efd6b172a63273c40f9e6d96de18ba7e6 /meta-openbmc-machines/meta-openpower/common/recipes-phosphor
parentfc4d0e758adc9350242fce2a8a605cadf231aeb0 (diff)
downloadopenbmc-77da88c680bbccd481c3879b80b3a0768803fbaf.tar.xz
openpower-software-manager: Move ubimount.service logic to script
The service files that manage the pnor ubi volumes and mount points are starting to get too much logic in them. Move the logic to a shell script. Change-Id: I57d6ff7ffb32d24704ceec77afd1d07622bc6de8 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
Diffstat (limited to 'meta-openbmc-machines/meta-openpower/common/recipes-phosphor')
-rw-r--r--meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios27
-rw-r--r--meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubimount@.service17
2 files changed, 29 insertions, 15 deletions
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios
index cab5f8614..2b8394718 100644
--- a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios
+++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios
@@ -80,6 +80,29 @@ mount_squashfs() {
fi
}
+mount_ubi() {
+ pnormtd="$(findmtd pnor)"
+ pnor="${pnormtd#mtd}"
+ ubidev="/dev/ubi${pnor}"
+ mountdir="/media/${name}"
+
+ if [ ! -d "${mountdir}" ]; then
+ mkdir "${mountdir}"
+ fi
+
+ # Create a dynamic ubi volume of initial arbitrary size 1MB,
+ # the volume will grow dynamically as needed
+ vol="$(findubi "${name}")"
+ if [ -z "${vol}" ]; then
+ ubimkvol "${ubidev}" -N "${name}" -s 1MiB
+ fi
+
+ if ! is_mounted "${name}"; then
+ mountdev="ubi${pnor}:${name}"
+ mount -t ubifs "${mountdev}" "${mountdir}"
+ fi
+}
+
case "$1" in
ubiattach)
attach_ubi
@@ -89,6 +112,10 @@ case "$1" in
version="$3"
mount_squashfs
;;
+ ubimount)
+ name="$2"
+ mount_ubi
+ ;;
*)
echo "Invalid argument"
exit 1
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubimount@.service b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubimount@.service
index a2147ea75..ee632828c 100644
--- a/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubimount@.service
+++ b/meta-openbmc-machines/meta-openpower/common/recipes-phosphor/flash/openpower-software-manager/obmc-flash-bios-ubimount@.service
@@ -6,18 +6,5 @@ After=obmc-flash-bios-ubiattach.service
[Service]
Type=oneshot
RemainAfterExit=no
-ExecStart=/bin/sh -c 'rw=pnor-rw-%i; \
- if [ ! -d "/media/$rw" ]; then \
- mkdir /media/$rw; fi; \
- if [ ! -d "/media/pnor-prsv" ]; then \
- mkdir /media/pnor-prsv; fi; \
- rw_ubi=`ubinfo -d 0 -a | grep $rw`; \
- if [ -z "$rw_ubi" ]; then \
- {sbindir}/ubimkvol /dev/ubi0 -N $rw -s 1MiB; fi; \
- prsv_ubi=`ubinfo -d 0 -a | grep pnor-prsv`; \
- if [ -z "$prsv_ubi" ]; then \
- {sbindir}/ubimkvol /dev/ubi0 -N pnor-prsv -s 1MiB; fi; \
- if ! grep -q $rw /proc/mounts; then \
- mount -t ubifs ubi0:$rw /media/$rw; fi; \
- if ! grep -q pnor-prsv /proc/mounts; then \
- mount -t ubifs ubi0:pnor-prsv /media/pnor-prsv; fi;'
+ExecStart={sbindir}/obmc-flash-bios ubimount pnor-rw-%i
+ExecStart={sbindir}/obmc-flash-bios ubimount pnor-prsv