Skip to content

Instantly share code, notes, and snippets.

  • Star 4 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?


  • Ensure you're running OxygenOS firmware on your current slot.
    If you do not have that firmware installed, grab it for you device from the following links:
    enchilada (OnePlus 6)
    fajita (OnePlus 6T)

Required Files

  • Download the latest platform-tools.
    The filename will be in the following format: platform-tools-latest-*.zip
    Download Link

  • Download the needed files for you device from here:
    enchilada (OnePlus 6)
    fajita (OnePlus 6T)

    The following list has all the files you need to get:

    • boot.img
    • super_empty.img
    • vbmeta.img
    • the latest OTA zip for you device (evolution_{enchilada,fajita}

    You may NOT substitute any of these files with files that you've downloaded elsewhere.

Installation/Migration steps

Notice that each command is prefixed with a ./. This is important. Please keep that prefix when you run each command.

  1. Unzip the platform-tools-latest-*.zip file you got earlier to any folder that you want.

  2. Move the following files into the same folder where you extracted platform-tools:

    • boot.img
    • super_empty.img
    • vbmeta.img
    • the latest OTA zip for you device (evolution_{enchilada,fajita}
  3. Open your terminal and navigate to the extracted platform-tools folder. Use cd to navigate to the folder.

    • If you are on Windows, use PowerShell. Do NOT use Command Prompt.
    • If you are on macOS or Linux, then use your preferred terminal and shell.
  4. Boot/Reboot your phone to the bootloader.
    Do this by unplugging your phone, powering it off, then holding Vol Up + Vol Down + Power until you see a screen with giant text at the top of the screen.

  5. Run the following to flash the retrofit dynamic partitions boot/recovery image and the empty vbmeta to the current slot:

    ./fastboot flash vbmeta vbmeta.img
    ./fastboot flash boot boot.img
  6. Erase the old Android partitions in the current slot with the following:

    ./fastboot erase system
    ./fastboot erase odm
    ./fastboot erase vendor

    This ensures that we erase any super partition metadata from other ROMs that use retrofit dynamic partitions, no matter if they store the metadata in system, odm, or vendor. If we don't do this, then we will end up encountering errors later on during the wipe-super or sideloading steps.
    This needs to be done only for the current slot and not the other slot. Step 9 describes how we will handle the other slot.

  7. Reboot your phone into recovery.
    Do this by using the volume buttons to scroll through the options until you see Recovery mode. Press the power button to select that option.

  8. In recovery, choose Advanced -> Enter fastboot to enter fastbootd.

  9. Initialize the retrofit super partitions for the current slot:

    ./fastboot wipe-super super_empty.img

    When we sideload Evo X later, update_engine will handle initializing the other slot using the current slot's metadata.

    WARNING: If fastboot returns some error message about not recognizing wipe-super or prints a long help message instead, then that means you are running a very old version of fastboot. Please go back and download the latest version of platform-tools, as mentioned in the Required Files section.

  10. Choose Enter recovery to return to recovery.

  11. While in recovery, navigate to Apply update -> Apply from ADB.

  12. Run the following to sideload to copy your firmware partitions to the other slot:

    ./adb sideload

    You may receive an error from recovery, which will state the following:

    Signature verification failed
    Install anyway?

    Choose the "Yes" option to continue, since this zip doesn't have a signature in the first place.

  13. Navigate to Apply update -> Apply from ADB again.

  14. Run the following to sideload Evolution X:

    ./adb sideload [Evolution X OTA zip name]

    If you encounter installation errors when sideloading, run ./adb pull /tmp/recovery.log to get logs to share while asking for help.

  15. If this is a new install, choose the Factory reset option. If you're migrating from non-retrofit Evolution X, skip this step.

  16. Choose Reboot system now & #KeepEvolving

Copy link

great guide, instructions were really clear and probably the easiest flash I've ever done.

The only thing I would say is to add the step to unlock the bootloader at the top as this may trip people up.

Copy link

kriky80 commented May 11, 2023

Hi, is it possible to update to the latest version directly from the phone from settings/system/system updates? Do I have to do the whole procedure from the terminal each time? In this case, is the phone completely reset each time, or is the operating system only updated? Thx, greetings.

Bother reading the XDA thread?

I read it. It seems to be possible to do the update directly from the smartphone but it doesn't work for me. Either I get an error right away or it tells me that the installation is in progress but nothing happens even after 1 hour
I saw that others have the same problem as me. So the only way to do the update is with adb sideload?
Since I did not see any solutions to the problem in the dedicated thread, I thought I would ask here.
Sorry if I am not an expert.
Thx, greetings.

Copy link

ashoktvm commented Jun 13, 2023

What is the procedure to go back to non-retrofit roms?

Copy link

Cast1llo commented Aug 3, 2023

Hola que tal ,
Gran estabilidad de rom encerio , pase por crdroid y una tortura en todos los aspectos gracias por Aser un exelente trabajo

Solo una pregunta ❔
No ahí otra actualización tengo la 7.9
Y e visto que para otros modelos ya está la 7.9.8
O soy tonto y me perdí mientras leía. Pero ya me di mil vueltas y no encuentro otra actualización ,
Me podrían altanto porfa 🥹🥹

Copy link

Hello, I followed the documentation and started reporting errors in step 9. What is the reason?
屏幕截图 2023-10-31 134846
屏幕截图 2023-10-31 134933

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment