[Guide] Flash Oreo Update Package and Downgrade Nougat

Search This thread

mrmazak

Senior Member
Jun 16, 2013
3,243
1,338
Blu Vivo XL
BLU R1 HD
Manually Install Full-OTA Files-Upgrade or Downgrade

Steps:
  • Prepare and Notice
    A. Warning! Flash phone might get it bricked. I am not responsible for it.
    B. Backup your data, it might be restore factory default setting especially using downgrade ROM version.
    C. Unlock bootloader before flash steps. If already unlocked it is OK.
    D. After update successfully, device might be locked again. Unlock again if needed.
    E. HWOTA--hi6250-7-8.zip Download
    F.Download Update files for your device from Pro-teammt.ru
  • Process
    A. Extract HWOTA package(Step E. from above). Copy both HWOTA7 and HWOTA8 folders onto root of (ext-sdcard, decrypted internal sdcard, usb flash otg).
    B. Add your Three (3) update files to HWOTA* folder; HWOTA7 if on Nougat: HWOTA8 if on Oreo.
    C. (if have twrp already skip to E)Connect phone and enable adb , Use Replace_Recovery.bat in HWOTA to flash TWRP recovery.
    D. Disconnect USB cable, use Vol-Up + Power to boot into TWRP.
    E. From in TWRP install sdcard hwota7-8-auto.zip-- If using USB-otg or decrypted internal , flash hwota7-8-auto-internal.zip
    F. Watch twrp screen for the message to press volume button to continue.

*******************************************************************************************************
*******************************************************************************************************

  • To Downgrade Back to Nougat from OREO --
    A. Download roll-back update for your device (not all versions have roll-back yet, many do) from Pro-teammt.ru
    B. Roll-backs have only two (2) files, other than that difference, follow directions same as above.
*******************************************************************************************************

Updated(Nov 2018) Version V17 (Can run built in updater on Older V) on Firmware downloader

Beta Tool Folder ==> Download

Tool checks version of phone with "getprop" or also with input from user.
Tool only gets available listed FullOTA for your device Model and Region code. Then you choose from that list.
Tool also verifies md5 of downloaded files and saves them onto your desktop in device/version sub folders.
Can Be used to extract the downloaded zip. and extract the update.app into separate images.
Last step gives option to push updates to phone to help with HWOTA


************************************
************************************
Alternate HWOTA with full rebrand

HWOTA with RE-brand

************************************
************************************
FILE INTEGRITY IS IMPORTANT, Please be in good Habit and always check numbers after a download.



My download links above are on Android file host. they all show MD5 on the download site.

The update files from http://pro-teammt.ru do not have MD5 listed.

Here are the MD5 numbers for the USA L24 update files
Code:
e75a21769f049430840ea900b11600c4 update.zip
73414b5383e5fb3391e77a13c17dca53 update_data_full_public.zip
122f0e91d77fba6e399300926d1ef289 update_full_bnd-l24_hw_usa.zip
Old thread. Not continued.

Search emui-flasher instead


.
 
Last edited:

mrmazak

Senior Member
Jun 16, 2013
3,243
1,338
Blu Vivo XL
BLU R1 HD
Contents of HWOTA7-8-auto-V3.1.zip

Replace recovery batch file

Code:
@echo off
if not defined in_subprocess (cmd /k set in_subprocess=y ^& %0 %*) & exit )
title 		Lazy Recovery Auto Launcher
echo Waiting For device to be recognized by ADB
adb wait-for-device
adb shell getprop ro.build.version.emui > %~dp0\version-info.txt
for /f %%i in ('FINDSTR "EmotionUI_" %~dp0\version-info.txt') do set emui=%%i
echo %emui%
set str=%emui:~10,1%
echo.%str%
pause
if %str% equ 8 call HwOTA8\Replace_Recovery.bat
if %str% equ 5 call HWOTA7\Replace_Recovery.bat
echo THIS SCRIPT SHOULD BE FINISHED
pause
exit

HwOTA8\Replace_Recovery.bat contents
Code:
@echo off
title 		Recovery Replace Oreo
echo Waiting For device to be recognized by ADB
adb wait-for-device
adb shell getprop ro.build.version.emui > %~dp0\version-info.txt
for /f %%i in ('FINDSTR "EmotionUI_" %~dp0\version-info.txt') do set emui=%%i
echo %emui%
set str=%emui:~10%
echo.%str%
pause
if %str% lss 5.3 (goto Nougat
)else (
echo ok to continue)
echo Next will reboot to Fastboot Mode (bootloader)
pause
adb reboot bootloader
echo Wait Here untill fastboot mode Loads On Phone
pause
fastboot oem get-build-number 2> %~dp0\build-info.txt
for /f "tokens=2" %%i in ('findstr "^(bootloader)" "%~dp0\build-info.txt"') do set Device=%%i
for /f "tokens=3" %%i in ('findstr "^(bootloader)" "%~dp0\build-info.txt"') do set Build=%%i
echo Your Current Device is = %Device% %Build%
echo next will flash Oreo twrp 
pause
fastboot flash recovery_ramdisk HWOTA8\complete_twrp_ramdisk.img
echo RECOVERY SHOULD NOW BE FLASHED
echo GET READY TO PULL USB PLUG OUT AND HOLD VOLUME UP
echo RIGHT AFTER YOU PRESS BUTTON TO CONTINUE
pause
fastboot reboot
exit
:Nougat
echo You are On NOUGAT DO NOT USE THIS
pause
exit
 

Attachments

  • hwota7-8_update-auto-binary.txt
    6.4 KB · Views: 241
Last edited:

mrmazak

Senior Member
Jun 16, 2013
3,243
1,338
Blu Vivo XL
BLU R1 HD
Contents of restore-package

Replace recovery batch file
Code:
adb reboot bootloader
pause
fastboot flash recovery twrp-honor.img
pause

Update-binary from restore.zip
Code:
#!/sbin/sh

dd if=/external_sd/restore-package/boot.img of=/dev/block/mmcblk0p28
dd if=/external_sd/restore-package/cust.img of=/dev/block/mmcblk0p45
dd if=/external_sd/restore-package/product.img of=/dev/block/mmcblk0p48
dd if=/external_sd/restore-package/system.img of=/dev/block/mmcblk0p44
dd if=/external_sd/restore-package/vendor.img of=/dev/block/mmcblk0p47
dd if=/external_sd/restore-package/version.img of=/dev/block/mmcblk0p46


.
 

Attachments

  • restore-package-zip.png
    restore-package-zip.png
    48.8 KB · Views: 630
Last edited:
  • Like
Reactions: ALOoONE

shadowsiul

Member
Jul 8, 2012
47
6
I was able to successfully update to orea form nouguat following your guide without issue. so do now can i relock or do i need to do the first part of the guide also
 

cmohan0004

Senior Member
Feb 25, 2016
331
49
Umm, No.

The guide is for going both ways (upgrade, and downgrade).

No need to relock bootloader either. Unless you want to.
if i relock bootloader after going total stock will i get official ota and if so will i able install thos ota since i saw verification failed for many people
 

mrmazak

Senior Member
Jun 16, 2013
3,243
1,338
Blu Vivo XL
BLU R1 HD
successfully done the upgrade from Nougat to Oreo on AL-10 Indian version with the method on page-1

Let me ask you something, please.

Did it work in one step, or did you have to do install a second time from Oreo in order to get it fully done?

I ask because my first time I used this I had to repeat the install process again from Oreo to get the data part of install to flash. I made changes (no longer shortening the file names to fit the script, instead change the script to fit the file names) and second time it worked for me.

If confirmed worked for you the new way, then I can remove the large warning (somewhat confusing) text from the first post.
 

kavena78

Senior Member
Dec 16, 2009
156
1
Xiaomi 11T Pro
Let me ask you something, please.

Did it work in one step, or did you have to do install a second time from Oreo in order to get it fully done?

I ask because my first time I used this I had to repeat the install process again from Oreo to get the data part of install to flash. I made changes (no longer shortening the file names to fit the script, instead change the script to fit the file names) and second time it worked for me.

If confirmed worked for you the new way, then I can remove the large warning (somewhat confusing) text from the first post.
It's worked in 1st attempt used the HWOTA7. Appreciate your efforts
 

Top Liked Posts

  • There are no posts matching your filters.
  • 12
    Manually Install Full-OTA Files-Upgrade or Downgrade

    Steps:
    • Prepare and Notice
      A. Warning! Flash phone might get it bricked. I am not responsible for it.
      B. Backup your data, it might be restore factory default setting especially using downgrade ROM version.
      C. Unlock bootloader before flash steps. If already unlocked it is OK.
      D. After update successfully, device might be locked again. Unlock again if needed.
      E. HWOTA--hi6250-7-8.zip Download
      F.Download Update files for your device from Pro-teammt.ru
    • Process
      A. Extract HWOTA package(Step E. from above). Copy both HWOTA7 and HWOTA8 folders onto root of (ext-sdcard, decrypted internal sdcard, usb flash otg).
      B. Add your Three (3) update files to HWOTA* folder; HWOTA7 if on Nougat: HWOTA8 if on Oreo.
      C. (if have twrp already skip to E)Connect phone and enable adb , Use Replace_Recovery.bat in HWOTA to flash TWRP recovery.
      D. Disconnect USB cable, use Vol-Up + Power to boot into TWRP.
      E. From in TWRP install sdcard hwota7-8-auto.zip-- If using USB-otg or decrypted internal , flash hwota7-8-auto-internal.zip
      F. Watch twrp screen for the message to press volume button to continue.

    *******************************************************************************************************
    *******************************************************************************************************

    • To Downgrade Back to Nougat from OREO --
      A. Download roll-back update for your device (not all versions have roll-back yet, many do) from Pro-teammt.ru
      B. Roll-backs have only two (2) files, other than that difference, follow directions same as above.
    *******************************************************************************************************

    Updated(Nov 2018) Version V17 (Can run built in updater on Older V) on Firmware downloader

    Beta Tool Folder ==> Download

    Tool checks version of phone with "getprop" or also with input from user.
    Tool only gets available listed FullOTA for your device Model and Region code. Then you choose from that list.
    Tool also verifies md5 of downloaded files and saves them onto your desktop in device/version sub folders.
    Can Be used to extract the downloaded zip. and extract the update.app into separate images.
    Last step gives option to push updates to phone to help with HWOTA


    ************************************
    ************************************
    Alternate HWOTA with full rebrand

    HWOTA with RE-brand

    ************************************
    ************************************
    FILE INTEGRITY IS IMPORTANT, Please be in good Habit and always check numbers after a download.



    My download links above are on Android file host. they all show MD5 on the download site.

    The update files from http://pro-teammt.ru do not have MD5 listed.

    Here are the MD5 numbers for the USA L24 update files
    Code:
    e75a21769f049430840ea900b11600c4 update.zip
    73414b5383e5fb3391e77a13c17dca53 update_data_full_public.zip
    122f0e91d77fba6e399300926d1ef289 update_full_bnd-l24_hw_usa.zip
    Old thread. Not continued.

    Search emui-flasher instead


    .
    2
    New update installer coming.

    Makes backup to sdcard with dd. partition by partition saving image files.


    Code:
    #!/sbin/sh
    
    OUTFD=$2
    INPUTDEV=""
    VOLDOWN="0001 0072"
    VOLUP="0001 0073"
    
    ui_print() {
      echo -n -e "ui_print $1\n" >> /proc/self/fd/$OUTFD
      echo -n -e "ui_print\n" >> /proc/self/fd/$OUTFD
    }
    
    # Taken from XZDualRecovery by [NUT]
    # Find the gpio-keys node, to listen on the right input event
    gpioKeysSearch() {
        echo "Trying to find the gpio-keys event node."
        for INPUTUEVENT in `find /sys/devices \( -path "*gpio*" -path "*key*" -a -path "*input?*" -a -path "*event?*" -a -name "uevent" \)`; do
    
            INPUTDEV=$(grep "DEVNAME=" ${INPUTUEVENT} | sed 's/DEVNAME=//')
    
            if [ -e "/dev/$INPUTDEV" -a "$INPUTDEV" != "" ]; then
                echo "Found and will be using /dev/${INPUTDEV}!"
                return 0
            fi
    
        done
        return 1
    }
    
    keyCheck() {
        KEY=$1
        TIMEOUT=$2
        
        cat /dev/${INPUTDEV} > /dev/keycheck &
        sleep 0.3
        
        while [ $TIMEOUT -ne 0 ];
        do
            hexdump < /dev/keycheck > /dev/keycheckout
            KEYCHECK=`cat /dev/keycheckout | grep "$KEY"`
            if [ -n "$KEYCHECK" ]; then
                killall cat
                return 0
            fi
            sleep 1
            TIMEOUT=$((TIMEOUT-1))
        done
        
        killall cat
        return 1
    }
    
    wakeup() {
        echo 500 > /sys/class/timed_output/vibrator/enable
        sleep 0.7
        echo 500 > /sys/class/timed_output/vibrator/enable
    }
    
    ui_print " "
    ui_print "********************"
    ui_print "*  TWRP DD Backup   *"
    ui_print "*                   *"
    ui_print "********************"
    ui_print " "
    
    # find input device
    gpioKeysSearch
    if [ ! -n "$INPUTDEV" ]; then
        ui_print "Error finding input device"
        exit 1
    fi
    
    save=/external_sd/twrp_backup
    mkdir $save
    mkdir $save/hw_init
    ui_print "saving hw_init folder"
    cp -r -a /data/hw_init/. /$save/hw_init
    wakeup
    ui_print " "
    ui_print "Press VOLUME DOWN to continue otherwise this script will abort in 10 seconds"
                
    keyCheck "$VOLDOWN" 10
    ret=$?
    if [ "$ret" -ne 0 ];
    then
    	ui_print "ABORTED"
    	exit 0
    fi
    ui_print "continued"
    ui_print "saving mmcblk0p1 vrl"
    dd if=/dev/block/mmcblk0p1 of=/$save/vrl.img
    ui_print "saving mmcblk0p2 vrl_backup"
    dd if=/dev/block/mmcblk0p2 of=/$save/vrl_backup.img
    ui_print "saving mmcblk0p3 fw_lpm3"
    dd if=/dev/block/mmcblk0p3 of=/$save/fw_lpm3.img
    ui_print "saving mmcblk0p4 frp"
    dd if=/dev/block/mmcblk0p4 of=/$save/frp.img
    ui_print "saving mmcblk0p5 fastboot"
    dd if=/dev/block/mmcblk0p5 of=/$save/fastboot.img
    ui_print "saving mmcblk0p6 modemnvm_factory"
    dd if=/dev/block/mmcblk0p6 of=/$save/modemnvm_factory.img
    ui_print "saving mmcblk0p7 nvme"
    dd if=/dev/block/mmcblk0p7 of=/$save/nvme.img
    ui_print "saving mmcblk0p8 oeminfo"
    dd if=/dev/block/mmcblk0p8 of=/$save/oeminfo.img
    ui_print "saving mmcblk0p9 reserved3"
    dd if=/dev/block/mmcblk0p9 of=/$save/reserved3.img
    ui_print "saving mmcblk0p10 modemnvm_backup"
    dd if=/dev/block/mmcblk0p10 of=/$save/modemnvm_backup.img
    ui_print "saving mmcblk0p11 modemnvm_img"
    dd if=/dev/block/mmcblk0p11 of=/$save/modemnvm_img.img
    ui_print "saving mmcblk0p12 modemnvm_system"
    dd if=/dev/block/mmcblk0p12 of=/$save/modemnvm_system.img
    ui_print "saving mmcblk0p13 secure_storage"
    dd if=/dev/block/mmcblk0p13 of=/$save/secure_storage.img
    ui_print "saving mmcblk0p14 reserved4"
    dd if=/dev/block/mmcblk0p14 of=/$save/reserved4.img
    ui_print "saving mmcblk0p15 reserved5"
    dd if=/dev/block/mmcblk0p15 of=/$save/reserved5.img
    ui_print "saving mmcblk0p16 persist"
    dd if=/dev/block/mmcblk0p16 of=/$save/persist.img
    ui_print "saving mmcblk0p17 modem_secure"
    dd if=/dev/block/mmcblk0p17 of=/$save/modem_secure.img
    ui_print "saving mmcblk0p18 modem_om"
    dd if=/dev/block/mmcblk0p18 of=/$save/modem_om.img
    ui_print "saving mmcblk0p19 splash2"
    dd if=/dev/block/mmcblk0p19 of=/$save/splash2.img
    ui_print "saving mmcblk0p20 misc"
    dd if=/dev/block/mmcblk0p20 of=/$save/misc.img
    ui_print "saving mmcblk0p21 modemnvm_update"
    dd if=/dev/block/mmcblk0p21 of=/$save/modemnvm_update.img
    ui_print "saving mmcblk0p22 reserved2"
    dd if=/dev/block/mmcblk0p22 of=/$save/reserved2.img
    ui_print "saving mmcblk0p23 teeos"
    dd if=/dev/block/mmcblk0p23 of=/$save/teeos.img
    ui_print "saving mmcblk0p24 trustfirmware"
    dd if=/dev/block/mmcblk0p24 of=/$save/trustfirmware.img
    ui_print "saving mmcblk0p25 sensorhub"
    dd if=/dev/block/mmcblk0p25 of=/$save/sensorhub.img
    ui_print "saving mmcblk0p26 fw_hifi"
    dd if=/dev/block/mmcblk0p26 of=/$save/fw_hifi.img
    ui_print "saving mmcblk0p27 erecovery_kernel"
    dd if=/dev/block/mmcblk0p27 of=/$save/erecovery_kernel.img
    ui_print "saving mmcblk0p28 erecovery_ramdisk"
    dd if=/dev/block/mmcblk0p28 of=/$save/erecovery_ramdisk.img
    ui_print "saving mmcblk0p29 erecovery_vendor"
    dd if=/dev/block/mmcblk0p29 of=/$save/erecovery_vendor.img
    ui_print "saving mmcblk0p30 kernel"
    dd if=/dev/block/mmcblk0p30 of=/$save/kernel.img
    ui_print "saving mmcblk0p31 ramdisk"
    dd if=/dev/block/mmcblk0p31 of=/$save/ramdisk.img
    ui_print "saving mmcblk0p32 recovery_ramdisk"
    dd if=/dev/block/mmcblk0p32 of=/$save/recovery_ramdisk.img
    ui_print "saving mmcblk0p33 recovery_vendor"
    dd if=/dev/block/mmcblk0p33 of=/$save/recovery_vendor.img
    ui_print "saving mmcblk0p34 dts"
    dd if=/dev/block/mmcblk0p34 of=/$save/dts.img
    ui_print "saving mmcblk0p35 dto"
    dd if=/dev/block/mmcblk0p35 of=/$save/dto.img
    ui_print "saving mmcblk0p36 modem_fw"
    dd if=/dev/block/mmcblk0p36 of=/$save/modem_fw.img
    ui_print "saving mmcblk0p37 recovery_vbmeta"
    dd if=/dev/block/mmcblk0p37 of=/$save/recovery_vbmeta.img
    ui_print "saving mmcblk0p38 erecovery_vbmeta"
    dd if=/dev/block/mmcblk0p38 of=/$save/erecovery_vbmeta.img
    ui_print "saving mmcblk0p39 reserved8"
    dd if=/dev/block/mmcblk0p39 of=/$save/reserved8.img
    ui_print "saving mmcblk0p40 dfx"
    dd if=/dev/block/mmcblk0p40 of=/$save/dfx.img
    ui_print "saving mmcblk0p41 vbmeta"
    dd if=/dev/block/mmcblk0p41 of=/$save/vbmeta.img
    ui_print "saving mmcblk0p42 cache"
    dd if=/dev/block/mmcblk0p42 of=/$save/cache.img
    ui_print "saving mmcblk0p43 odm"
    dd if=/dev/block/mmcblk0p43 of=/$save/odm.img
    ui_print "saving mmcblk0p44 hisitest0"
    dd if=/dev/block/mmcblk0p44 of=/$save/hisitest0.img
    ui_print "saving mmcblk0p45 hisitest1"
    dd if=/dev/block/mmcblk0p45 of=/$save/hisitest1.img
    ui_print "saving mmcblk0p46 hisitest2"
    dd if=/dev/block/mmcblk0p46 of=/$save/hisitest2.img
    ui_print "saving mmcblk0p47 patch"
    dd if=/dev/block/mmcblk0p47 of=/$save/patch.img
    ui_print "saving mmcblk0p48 bootfail_info"
    dd if=/dev/block/mmcblk0p48 of=/$save/bootfail_info.img
    ui_print "saving mmcblk0p49 rrecord"
    dd if=/dev/block/mmcblk0p49 of=/$save/rrecord.img
    ui_print "saving mmcblk0p50 reserved9"
    dd if=/dev/block/mmcblk0p50 of=/$save/reserved9.img
    ui_print "saving mmcblk0p51 system"
    dd if=/dev/block/mmcblk0p51 of=/$save/system.img
    ui_print "saving mmcblk0p52 cust"
    dd if=/dev/block/mmcblk0p52 of=/$save/cust.img
    ui_print "saving mmcblk0p53 version"
    dd if=/dev/block/mmcblk0p53 of=/$save/version.img
    ui_print "saving mmcblk0p54 vendor"
    dd if=/dev/block/mmcblk0p54 of=/$save/vendor.img
    ui_print "saving mmcblk0p55 product"
    dd if=/dev/block/mmcblk0p55 of=/$save/product.img
    wakeup
    ui_print "Last Partition Is UserData, It will take almost 1 hour to copy "
    ui_print "Press VOLUME DOWN to continue otherwise this script will abort in 10 seconds"
                
    keyCheck "$VOLDOWN" 10
    ret=$?
    if [ "$ret" -ne 0 ];
    then
    	ui_print "ABORTED"
    	exit 0
    fi
    ui_print "saving mmcblk0p56 userdata"
    dd if=/dev/block/mmcblk0p56 of=/$save/userdata.img
    1
    Contents of restore-package

    Replace recovery batch file
    Code:
    adb reboot bootloader
    pause
    fastboot flash recovery twrp-honor.img
    pause

    Update-binary from restore.zip
    Code:
    #!/sbin/sh
    
    dd if=/external_sd/restore-package/boot.img of=/dev/block/mmcblk0p28
    dd if=/external_sd/restore-package/cust.img of=/dev/block/mmcblk0p45
    dd if=/external_sd/restore-package/product.img of=/dev/block/mmcblk0p48
    dd if=/external_sd/restore-package/system.img of=/dev/block/mmcblk0p44
    dd if=/external_sd/restore-package/vendor.img of=/dev/block/mmcblk0p47
    dd if=/external_sd/restore-package/version.img of=/dev/block/mmcblk0p46


    .
    1
    Works for BND-AL10?
    1
    How did you unlocked it through dc unlocker.

    Just followed the tutorial on their website. Need to buy 4 credits.