From f12a7498d9cdc48bf4fff7f57e226c9f98b0805a Mon Sep 17 00:00:00 2001 From: Joo Aun Saw Date: Fri, 4 Jan 2019 15:49:08 +1100 Subject: [PATCH] fwupdate: upgrade from local file first if exists --- board/common/overlay/sbin/fwupdate | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/board/common/overlay/sbin/fwupdate b/board/common/overlay/sbin/fwupdate index 0a07aac2ce..7e44a7f642 100755 --- a/board/common/overlay/sbin/fwupdate +++ b/board/common/overlay/sbin/fwupdate @@ -112,6 +112,26 @@ function do_download() { rm -f $FW_DIR/$FW_FILE_GZ $FW_DIR/$FW_FILE_XZ rm -f $FW_DIR/$FW_FILE_EXTR rm -f $FW_DIR/$BOOT_READY_FILE + rm -rf $FW_DIR/* + mkdir -p $FW_DIR + + # Look for local file first + if [ -f "$1" ]; then + version="custom" + FNAME=`basename $1` + FILEEXT=${FNAME##*.} + DST_FNAME="" + if [ "$FILEEXT" == "xz" ]; then + DST_FNAME="$FW_DIR/$FW_FILE_XZ" + elif [ "$FILEEXT" == "gz" ]; then + DST_FNAME="$FW_DIR/$FW_FILE_GZ" + fi + if [ -n "$DST_FNAME" ]; then + cp -f $1 $DST_FNAME + echo $version > $FW_DIR/$VER_FILE + return + fi + fi source $OS_CONF board=$(cat $SYS_BOARD_FILE) @@ -141,8 +161,6 @@ function do_download() { outfile=$FW_DIR/$FW_FILE_XZ fi - rm -rf $FW_DIR/* - mkdir -p $FW_DIR echo $version > $FW_DIR/$VER_FILE curl_opts="-S -f -L"