diff options
Diffstat (limited to 'meta-phosphor/common/recipes-phosphor')
-rwxr-xr-x | meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-update.sh | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-update.sh b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-update.sh index 9d3c81276..fa46635a5 100755 --- a/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-update.sh +++ b/meta-phosphor/common/recipes-phosphor/obmc-phosphor-initfs/files/obmc-update.sh @@ -52,6 +52,14 @@ childmtds() { done } +toobig() { + if test $(stat -L -c "%s" "$1") -gt $(cat /sys/class/mtd/"$2"/size) + then + return 0 + fi + return 1 +} + findmtd() { m=$(grep -xl "$1" /sys/class/mtd/*/name) m=${m%/name} @@ -89,6 +97,7 @@ doclean= dosave=y dorestore=y toram= +checksize=y checkmount=y whitelist=/run/initramfs/whitelist @@ -118,6 +127,9 @@ do --no-flash) doflash= shift ;; + --ignore-size) + checksize= + shift ;; --ignore-mount) checkmount= doflash= @@ -165,6 +177,11 @@ do echoerr "Unable to find mtd partiton for ${f##*/}." exit 1 fi + if test -n "$checksize" && toobig "$f" "$m" + then + echoerr "Image ${f##*/} too big for $m." + exit 1 + fi for s in $m $(childmtds $m) do if test -n "$checkmount" && mtdismounted $s |