if %1 EQU 1 goto SET_DATAERASE_TO_ONE
set dataerase=0
goto step1
:SET_DATAERASE_TO_ONE
set dataerase=1
:step1
if [%2] EQU [] goto NOT_S
set para=-s
goto step2
:NOT_S
set para=<nul
:step2
REM begin to flash header
fastboot oem write_osip_header %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON
fastboot flash boot boot.img %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON
fastboot flash recovery recovery.img %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON
fastboot flash fastboot droidboot.img %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON
REM begin to start_partition
fastboot oem start_partitioning %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON
fastboot flash /tmp/partition.tbl partition.tbl %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON
fastboot oem partition /tmp/partition.tbl %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON
fastboot erase cache %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON
fastboot erase system %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON
if %dataerase% EQU 0 goto SKIP_ERASE_DATA
fastboot erase data %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON
:SKIP_ERASE_DATA
fastboot oem stop_partitioning %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON
fastboot flash system system.img %para% %2
@ECHO OFF
if %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON
@ECHO OFF
if NOT exist APD.img (
@ECHO ON
goto SKIP_APD
)
@ECHO ON
REM begin to flash APD
fastboot flash APD APD.img %para% %2
@ECHO OFF
IF %ERRORLEVEL% NEQ 0 goto Error
@ECHO ON
:SKIP_APD
@ECHO OFF
if NOT exist capsule.bin (
@ECHO ON
goto SKIP_CAPSULE
)
@ECHO ON
REM begin to flash capsule
fastboot flash capsule capsule.bin %para% %2
@del capsule.bkp
@ren capsule.bin capsule.bkp
:SKIP_CAPSULE
fastboot oem adb_enable 1 %para% %2 > tmp.out 2> tmp.err
fastboot continue %para% %2