fix various fwupdater.gz legacy issues

This commit is contained in:
Calin Crisan 2017-03-05 22:45:49 +02:00
parent 22a37c434f
commit 8afcd0b934
4 changed files with 19 additions and 3 deletions

View File

@ -10,6 +10,9 @@ FW_DIR=/data/.fwupdate
FW_FILE=firmware.img.gz
FW_FILE_EXTR=firmware.img
LEGACY_FW_DIR=/data/.firmware_update
LEGACY_FW_FILE_EXTR=firmware
ROOT_INFO_FILE=root_info
msg() {
@ -49,8 +52,22 @@ msg "Mounting data partition"
mount $DATA_DEV /data
if ! [ -r $FW_DIR/$FW_FILE_EXTR ]; then
msg "No firmware found, aborting"
exit 1
if [ -r $LEGACY_FW_DIR/$LEGACY_FW_FILE_EXTR ]; then
msg "Detected legacy firmware path"
mkdir -p $FW_DIR
mv $LEGACY_FW_DIR/$LEGACY_FW_FILE_EXTR $FW_DIR/$FW_FILE_EXTR
msg "Computing root partition info"
root_start=$(fdisk -l $FW_DIR/$FW_FILE_EXTR | grep ${FW_FILE_EXTR}2 | tr -s ' ' | cut -d ' ' -f 4)
root_start=$(($root_start / 2048))
root_size=$(fdisk -l $FW_DIR/$FW_FILE_EXTR | grep ${FW_FILE_EXTR}2 | tr -s ' ' | cut -d ' ' -f 6)
root_size=$(($root_size / 2048))
echo $root_start $root_size > $FW_DIR/$ROOT_INFO_FILE
else
msg "No firmware found, aborting"
exit 1
fi
fi
if ! [ -r $FW_DIR/$ROOT_INFO_FILE ]; then
@ -66,4 +83,3 @@ dd if=$FW_DIR/$FW_FILE_EXTR skip=$root_start of=$ROOT_DEV bs=1048576 count=$root
msg "Cleaning up"
rm -rf $FW_DIR

Binary file not shown.

Binary file not shown.

Binary file not shown.