@echo off
set /a total=0
set "dataerase=0"
set "para="
IF %1 EQU 1 ( set dataerase=1 )
IF NOT [%2] EQU [] ( set para=-s )
fastboot devices | findstr fastboot
IF %ERRORLEVEL% NEQ 0 goto Error
@set fb=fastboot %para% %2
echo Start image update for ufs . . .
%fb% reboot-bootloader
%fb% flash xbl xbl.elf
IF %ERRORLEVEL% EQU 0 (echo xbl–OK– && set /a total+=1) else (echo xbl—-Faild—- && goto Error)
%fb% erase cache
%fb% flash cache cache.img
IF %ERRORLEVEL% EQU 0 (echo cache–OK– && set /a total+=1) else (echo cache—-Faild—- && goto Error)
%fb% flash devcfg devcfg.mbn
IF %ERRORLEVEL% EQU 0 (echo devcfg–OK– && set /a total+=1) else (echo devcfg—-Faild—- && goto Error)
%fb% flash devcfgbak devcfg.mbn
IF %ERRORLEVEL% EQU 0 (echo devcfgbak–OK– && set /a total+=1) else (echo devcfgbak—-Faild—- && goto Error)
if %dataerase% EQU 1 (
%fb% erase userdata
%fb% flash userdata userdata.img
IF %ERRORLEVEL% EQU 0 (echo userdata–OK– && set /a total+=1) else (echo userdata—-Faild—- && goto Error)
)
%fb% flash xblbak xbl.elf
IF %ERRORLEVEL% EQU 0 (echo xblbak–OK– && set /a total+=1) else (echo xblbak—-Faild—- && goto Error)
%fb% flash rpm rpm.mbn
IF %ERRORLEVEL% EQU 0 (echo rpm–OK– && set /a total+=1) else (echo rpm—-Faild—- && goto Error)
%fb% flash rpmbak rpm.mbn
IF %ERRORLEVEL% EQU 0 (echo rpmbak–OK– && set /a total+=1) else (echo rpmbak—-Faild—- && goto Error)
%fb% flash tz tz.mbn
IF %ERRORLEVEL% EQU 0 (echo tz–OK– && set /a total+=1) else (echo tz—-Faild—- && goto Error)
%fb% flash tzbak tz.mbn
IF %ERRORLEVEL% EQU 0 (echo tzbak–OK– && set /a total+=1) else (echo tzbak—-Faild—- && goto Error)
%fb% flash hyp hyp.mbn
IF %ERRORLEVEL% EQU 0 (echo hyp–OK– && set /a total+=1) else (echo hyp—-Faild—- && goto Error)
%fb% flash hypbak hyp.mbn
IF %ERRORLEVEL% EQU 0 (echo hypbak–OK– && set /a total+=1) else (echo hypbak—-Faild—- && goto Error)
%fb% flash pmic pmic.elf
IF %ERRORLEVEL% EQU 0 (echo pmic–OK– && set /a total+=1) else (echo pmic—-Faild—- && goto Error)
%fb% flash pmicbak pmic.elf
IF %ERRORLEVEL% EQU 0 (echo pmicbak–OK– && set /a total+=1) else (echo pmicbak—-Faild—- && goto Error)
%fb% erase modem
%fb% flash modem NON-HLOS.bin
IF %ERRORLEVEL% EQU 0 (echo modem–OK– && set /a total+=1) else (echo modem—-Faild—- && goto Error)
%fb% erase dsp
%fb% flash dsp adspso.bin
IF %ERRORLEVEL% EQU 0 (echo dsp–OK– && set /a total+=1) else (echo dsp—-Faild—- && goto Error)
%fb% erase mdtp
%fb% flash mdtp mdtp.img
IF %ERRORLEVEL% EQU 0 (echo mdtp–OK– && set /a total+=1) else (echo mdtp—-Faild—- && goto Error)
%fb% flash aboot emmc_appsboot.mbn
IF %ERRORLEVEL% EQU 0 (echo aboot–OK– && set /a total+=1) else (echo aboot—-Faild—- && goto Error)
%fb% flash abootbak emmc_appsboot.mbn
IF %ERRORLEVEL% EQU 0 (echo abootbak–OK– && set /a total+=1) else (echo abootbak—-Faild—- && goto Error)
%fb% flash boot boot.img
IF %ERRORLEVEL% EQU 0 (echo boot–OK– && set /a total+=1) else (echo boot—-Faild—- && goto Error)
%fb% erase system
%fb% flash system system.img
IF %ERRORLEVEL% EQU 0 (echo system–OK– && set /a total+=1) else (echo system—-Faild—- && goto Error)
%fb% flash recovery recovery.img
IF %ERRORLEVEL% EQU 0 (echo recovery–OK– && set /a total+=1) else (echo recovery—-Faild—- && goto Error)
%fb% erase bluetooth
%fb% flash bluetooth BTFM.bin
IF %ERRORLEVEL% EQU 0 (echo bluetooth–OK– && set /a total+=1) else (echo bluetooth—-Faild—- && goto Error)
%fb% flash keymaster keymaster.mbn
IF %ERRORLEVEL% EQU 0 (echo keymaster–OK– && set /a total+=1) else (echo keymaster—-Faild—- && goto Error)
%fb% flash keymasterbak keymaster.mbn
IF %ERRORLEVEL% EQU 0 (echo keymasterbak–OK– && set /a total+=1) else (echo keymasterbak—-Faild—- && goto Error)
%fb% flash cmnlib cmnlib.mbn
IF %ERRORLEVEL% EQU 0 (echo cmnlib–OK– && set /a total+=1) else (echo cmnlib—-Faild—- && goto Error)
%fb% flash cmnlibbak cmnlib.mbn
IF %ERRORLEVEL% EQU 0 (echo cmnlibbak–OK– && set /a total+=1) else (echo cmnlibbak—-Faild—- && goto Error)
%fb% flash cmnlib64 cmnlib64.mbn
IF %ERRORLEVEL% EQU 0 (echo cmnlib64–OK– && set /a total+=1) else (echo cmnlib64—-Faild—- && goto Error)
%fb% flash cmnlib64bak cmnlib64.mbn
IF %ERRORLEVEL% EQU 0 (echo cmnlib64bak–OK– && set /a total+=1) else (echo cmnlib64bak—-Faild—- && goto Error)
%fb% erase splash
%fb% flash splash splash.img
IF %ERRORLEVEL% EQU 0 (echo splash–OK– && set /a total+=1) else (echo splash—-Faild—- && goto Error)
%fb% erase apdp
%fb% erase msadp
@echo erase DebugPolicy done
@echo "Total update %total% images
if %dataerase% EQU 1 (
%fb% format:ext4 userdata
@echo "format completed
)
%fb% oem adb_enable 1 > tmp.out 2> tmp.err
@IF %ERRORLEVEL% NEQ 0 goto Error
@echo "turn off uart"
%fb% oem uart-off
rem @echo press any key to continue, system will reboot!
rem @pause
@%fb% reboot
goto :EOF
:Error
echo Image Update ERROR !!!
rem @pause
goto :EOF