summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdriana Kobylak <anoo@us.ibm.com>2018-02-15 01:35:30 +0300
committerAdriana Kobylak <anoo@us.ibm.com>2018-03-02 00:26:57 +0300
commitb70005d476ffa20e278739bde0bc31d180b1e3e8 (patch)
tree6de84ea120aae9e599c06f76d6fd2f9e4c37b392
parenta317e387272a352100c7d4a9f8a02500f521d63d (diff)
downloadopenbmc-b70005d476ffa20e278739bde0bc31d180b1e3e8.tar.xz
Increase default size of UBI read-write volume
The default size of the UBI read-write volume is currently set to 4MB. There are no plans to store more than one BMC rootfs image on the chip so in a 32MB flash chip, accounting for the current rootfs image size of ~15MB with plans to grow to ~20MB with the addition of redfish and other packages, it is safe to increase the read-write volume size to 6MB since the current size is already almost completely taken up if there are multiple error logs / dumps on the system. In addition, make the size configurable from a recipe so that the size can be changed in a per-system basis. And during code update, check the current size and update it if it's different, this allows systems to be able to be resized to a new size by performing factory reset after a code update that sets the new size. Tested: - Booted on QEMU and verified non-ubi system (romulus) retains the current 4MB read-write volume, and ubi system (witherspoon) has a 6MB volume. - Code updated to an image that has these changes and verified the rwfs_size env variable changes to 6MB, and that a subsequent factory reset rebuilds the volume with size 6MB. Change-Id: I995eb560c1bd87ee95712c731e3d6e55bc0b2735 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
-rw-r--r--meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/flash/phosphor-software-manager.bbappend1
-rw-r--r--meta-phosphor/classes/image_types_phosphor.bbclass4
-rw-r--r--meta-phosphor/common/recipes-bsp/u-boot/files/0004-config-ast-common-Add-conditional-factory-reset-comm.patch2
-rw-r--r--meta-phosphor/common/recipes-phosphor/flash/phosphor-software-manager.bb2
-rw-r--r--meta-phosphor/common/recipes-phosphor/flash/phosphor-software-manager/obmc-flash-bmc9
-rw-r--r--meta-phosphor/common/recipes-phosphor/flash/phosphor-software-manager/obmc-flash-bmc-ubirw.service2
6 files changed, 14 insertions, 6 deletions
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/flash/phosphor-software-manager.bbappend b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/flash/phosphor-software-manager.bbappend
index 336697bcf..feab2c1b0 100644
--- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/flash/phosphor-software-manager.bbappend
+++ b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/flash/phosphor-software-manager.bbappend
@@ -1,3 +1,4 @@
BMC_RW_MTD = "bmc"
BMC_RO_MTD = "alt-bmc+bmc"
BMC_KERNEL_MTD = "bmc"
+BMC_RW_SIZE = "0x600000"
diff --git a/meta-phosphor/classes/image_types_phosphor.bbclass b/meta-phosphor/classes/image_types_phosphor.bbclass
index 5599332f6..35843ea81 100644
--- a/meta-phosphor/classes/image_types_phosphor.bbclass
+++ b/meta-phosphor/classes/image_types_phosphor.bbclass
@@ -52,8 +52,8 @@ FLASH_ROFS_OFFSET ?= "4864"
FLASH_RWFS_OFFSET ?= "28672"
# UBI volume sizes in KB unless otherwise noted.
-FLASH_UBI_RWFS_SIZE ?= "4096"
-FLASH_UBI_RWFS_TXT_SIZE ?= "4MiB"
+FLASH_UBI_RWFS_SIZE ?= "6144"
+FLASH_UBI_RWFS_TXT_SIZE ?= "6MiB"
python() {
# Compute rwfs LEB count and LEB size.
diff --git a/meta-phosphor/common/recipes-bsp/u-boot/files/0004-config-ast-common-Add-conditional-factory-reset-comm.patch b/meta-phosphor/common/recipes-bsp/u-boot/files/0004-config-ast-common-Add-conditional-factory-reset-comm.patch
index 792cdb7c5..6bf9bb798 100644
--- a/meta-phosphor/common/recipes-bsp/u-boot/files/0004-config-ast-common-Add-conditional-factory-reset-comm.patch
+++ b/meta-phosphor/common/recipes-bsp/u-boot/files/0004-config-ast-common-Add-conditional-factory-reset-comm.patch
@@ -21,7 +21,7 @@ index 14191e4ab0..aaa5155e00 100644
#define CONFIG_ENV_SIZE 0x10000 /* Total Size of Environment Sector */
#define CONFIG_ENV_SIZE_REDUND 0x10000
-+#define CONFIG_RWFS_SIZE 0x400000
++#define CONFIG_RWFS_SIZE 0x600000
+
#define CONFIG_BOOTCOMMAND "run set_bootargs; run obmc_bootcmd"
#define CONFIG_ENV_OVERWRITE
diff --git a/meta-phosphor/common/recipes-phosphor/flash/phosphor-software-manager.bb b/meta-phosphor/common/recipes-phosphor/flash/phosphor-software-manager.bb
index 5cd017e18..725c83577 100644
--- a/meta-phosphor/common/recipes-phosphor/flash/phosphor-software-manager.bb
+++ b/meta-phosphor/common/recipes-phosphor/flash/phosphor-software-manager.bb
@@ -86,9 +86,11 @@ SYSTEMD_SERVICE_${PN}-updater += " \
BMC_RW_MTD ??= "bmc"
BMC_RO_MTD ??= "bmc"
BMC_KERNEL_MTD ??= "bmc"
+BMC_RW_SIZE ??= "0x600000"
SYSTEMD_SUBSTITUTIONS += "RW_MTD:${BMC_RW_MTD}:obmc-flash-bmc-ubirw.service"
SYSTEMD_SUBSTITUTIONS += "RO_MTD:${BMC_RO_MTD}:obmc-flash-bmc-ubiro@.service"
SYSTEMD_SUBSTITUTIONS += "KERNEL_MTD:${BMC_KERNEL_MTD}:obmc-flash-bmc-ubiro@.service"
+SYSTEMD_SUBSTITUTIONS += "RW_SIZE:${BMC_RW_SIZE}:obmc-flash-bmc-ubirw.service"
SRC_URI += "file://obmc-flash-bmc"
do_install_append() {
diff --git a/meta-phosphor/common/recipes-phosphor/flash/phosphor-software-manager/obmc-flash-bmc b/meta-phosphor/common/recipes-phosphor/flash/phosphor-software-manager/obmc-flash-bmc
index 12c6c762b..d04651611 100644
--- a/meta-phosphor/common/recipes-phosphor/flash/phosphor-software-manager/obmc-flash-bmc
+++ b/meta-phosphor/common/recipes-phosphor/flash/phosphor-software-manager/obmc-flash-bmc
@@ -108,10 +108,14 @@ ubi_rw() {
rw="${rwmtd#mtd}"
ubidev="/dev/ubi${rw}"
- # Create a ubi volume of size 4MB, that is the current size of the rwfs image
+ rwsize="$(fw_printenv -n rwfs_size)"
+ if [[ "${imgsize}" != "${rwsize}" ]]; then
+ fw_setenv rwfs_size "${imgsize}"
+ fi
+
vol="$(findubi "${name}")"
if [ -z "${vol}" ]; then
- ubimkvol "${ubidev}" -N "${name}" -s 4MiB
+ ubimkvol "${ubidev}" -N "${name}" -s "${imgsize}"
fi
}
@@ -387,6 +391,7 @@ case "$1" in
ubirw)
reqmtd="$2"
name="$3"
+ imgsize="$4"
ubi_rw
;;
ubiro)
diff --git a/meta-phosphor/common/recipes-phosphor/flash/phosphor-software-manager/obmc-flash-bmc-ubirw.service b/meta-phosphor/common/recipes-phosphor/flash/phosphor-software-manager/obmc-flash-bmc-ubirw.service
index 4a955f2ab..79d0ea387 100644
--- a/meta-phosphor/common/recipes-phosphor/flash/phosphor-software-manager/obmc-flash-bmc-ubirw.service
+++ b/meta-phosphor/common/recipes-phosphor/flash/phosphor-software-manager/obmc-flash-bmc-ubirw.service
@@ -4,5 +4,5 @@ Description=Create BMC read-write ubi volume
[Service]
Type=oneshot
RemainAfterExit=no
-ExecStart=/usr/bin/env obmc-flash-bmc ubirw {RW_MTD} rwfs
+ExecStart=/usr/bin/env obmc-flash-bmc ubirw {RW_MTD} rwfs {RW_SIZE}
SyslogIdentifier=obmc-flash-bmc