[OnePlus 7 Guides, News, & Discussion] mauronofrio:
Things are changing with the advent of project treble and seamless updates. OnePlus will no longer release ROMs flashable via recovery (either stock or twrp) because is no more needed. The updates will be done on the slot not used for example if you are using slot a the update will be installed on slot b and the slot b will be set as default. If you brick and you are in bootloop how you can restore the rom? You can't with Stock ROM you have, because the zip can be only installed via Update Engine, so what can you do? Flash a stock rom via fastboot. I have extracted all images from the stock zip and i have made a new zip with the Fastboot ROM with a flash-all.bat included. This will work only if your bootloader is unlocked. This will erase all your data and will wipe your internal storage.

HOW TO FLASH

This version is only for not branded devices

Download the zip;

Unpack the zip in a folder;

Reboot the OnePlus 7 in fastboot mode (Power and volume + and volume-);

Connect the OnePlus 7 to PC;

Run flash-all.bat flasher you need;

Wait until the process end;

The phone will automatically reboot.

FLASHER ADVANCED GUIDE

flash-all-partitions-fastboot.bat : this .bat will flash all possible partitions through fastboot (Except persist) , there are some criticals partitions that can't be flashed through fastboot;

flash-only-persist.bat : this .bat will flash only persist partition in fastboot mode (This is good for people that have problems with sensor);

flash-all-partitions-recovery-criticals.bat : this .bat will boot the twrp and will flash criticals partitions, use this carefully;

flash-system-boot-vendor.bat : this .bat is the same of older flash-all.bat and so it will flash only vendor, system and boot;

flash-all-partitions.bat : this .bat will run flash-all-partitions-fastboot.bat , then flash-only-persist.bat and then flash-all-partitions-recovery-criticals.bat .

Now usually the one needed is only the first "flash-all-partitions-fastboot.bat" but if you are badly bricked i recommend to use flash-all-partitions.bat .

DOWNLOAD

All roms on AFH: https://www.androidfilehost.com/?w=files&flid=295200

All roms on Sourceforge: https://sourceforge.net/projects/fastbootroms/files/OnePlus 7

BRANDED PHONE

For now branded device are not supported

MANUAL FLASH: Windows - OSX - Linux

If you want to manual flash these roms these are the commands (you need to extract images.zip before proceed)

Fastboot Partitions:

fastboot flash aop_a aop.img
fastboot flash aop_b aop.img
fastboot flash bluetooth_a bluetooth.img
fastboot flash bluetooth_b bluetooth.img
fastboot flash boot_a boot.img
fastboot flash boot_b boot.img
fastboot flash dsp_a dsp.img
fastboot flash dsp_b dsp.img
fastboot flash dtbo_a dtbo.img
fastboot flash dtbo_b dtbo.img
fastboot flash modem_a modem.img
fastboot flash modem_b modem.img
fastboot flash oem_stanvbk oem_stanvbk.img
fastboot flash qupfw_a qupfw.img
fastboot flash qupfw_b qupfw.img
fastboot flash storsec_a storsec.img
fastboot flash storsec_b storsec.img
fastboot flash system_a system.img
fastboot flash system_b system.img
fastboot flash vbmeta_a vbmeta.img
fastboot flash vbmeta_b vbmeta.img
fastboot flash vendor_a vendor.img
fastboot flash vendor_b vendor.img
fastboot flash LOGO_a LOGO.img
fastboot flash LOGO_b LOGO.img

If you need also persist partition, this is the command:

fastboot flash persist persist.img

Criticals Partitions, for these you need to boot the TWRP:

fastboot boot TWRP.img

When you are in TWRP you need to run these commands to push and flash all criticals partitions:

adb push abl.img /sdcard/abl.img
adb shell dd if=/sdcard/abl.img of=/dev/block/bootdevice/by-name/abl_a
adb shell dd if=/sdcard/abl.img of=/dev/block/bootdevice/by-name/abl_b
adb push cmnlib.img /sdcard/cmnlib.img
adb shell dd if=/sdcard/cmnlib.img of=/dev/block/bootdevice/by-name/cmnlib_a
adb shell dd if=/sdcard/cmnlib.img of=/dev/block/bootdevice/by-name/cmnlib_b
adb push cmnlib64.img /sdcard/cmnlib64.img
adb shell dd if=/sdcard/cmnlib64.img of=/dev/block/bootdevice/by-name/cmnlib64_a
adb shell dd if=/sdcard/cmnlib64.img of=/dev/block/bootdevice/by-name/cmnlib64_b
adb push devcfg.img /sdcard/devcfg.img
adb shell dd if=/sdcard/devcfg.img of=/dev/block/bootdevice/by-name/devcfg_a
adb shell dd if=/sdcard/devcfg.img of=/dev/block/bootdevice/by-name/devcfg_b
adb push hyp.img /sdcard/hyp.img
adb shell dd if=/sdcard/hyp.img of=/dev/block/bootdevice/by-name/hyp_a
adb shell dd if=/sdcard/hyp.img of=/dev/block/bootdevice/by-name/hyp_b
adb push keymaster.img /sdcard/keymaster.img
adb shell dd if=/sdcard/keymaster.img of=/dev/block/bootdevice/by-name/keymaster_a
adb shell dd if=/sdcard/keymaster.img of=/dev/block/bootdevice/by-name/keymaster_b
adb push xbl.img /sdcard/xbl.img
adb shell dd if=/sdcard/xbl.img of=/dev/block/bootdevice/by-name/xbl_a
adb shell dd if=/sdcard/xbl.img of=/dev/block/bootdevice/by-name/xbl_b
adb push xbl_config.img /sdcard/xbl_config.img
adb shell dd if=/sdcard/xbl_config.img of=/dev/block/bootdevice/by-name/xbl_config_a
adb shell dd if=/sdcard/xbl_config.img of=/dev/block/bootdevice/by-name/xbl_config_b
adb push odm.img /sdcard/odm.img
adb shell dd if=/sdcard/odm.img of=/dev/block/bootdevice/by-name/odm_a
adb shell dd if=/sdcard/odm_config.img of=/dev/block/bootdevice/by-name/odm_b
adb push tz.img /sdcard/tz.img
adb shell dd if=/sdcard/tz.img of=/dev/block/bootdevice/by-name/tz_a
adb shell dd if=/sdcard/tz.img of=/dev/block/bootdevice/by-name/tz_b

REMEMBER

"Invalid sparce file format at header magic" is not an error, you need to wait a bit when you see that string, just wait.

These ROMs can't be used to update or downgrade your phone but just to restore your phone, so don't use them to come back to oreo or to update from oreo to pie.

If the rom seems doesn't start go in recovery stock and follow this guideline: English -> Wipe data and cache -> Erase everything.

If you want to rebrand your phone from HydrogenOS to OxygenOS you can follow this guide: Rebrand Guide

If you want you can use also my tool to flash Factory Images, unlock bootloader, flash twrp or to understand if the device is recognized: https://toolaio.tk/

Thanks to [MENTION=1751454]SaiBork[/MENTION] for first time tested

If you got some problems like write error or no partition, check this: https://xdaforums.com/showpost.php?p=76658555&postcount=34

DONATE LINK

If you want to support this and others my projects please consider making a donation, thanks.

[IMG="Donate link"]https://s31.postimg.org/srcv48myj/paypal.png[/IMG]​