Development Vendor_Boot ROMs

Search This thread

muloarell

Senior Member
Mar 16, 2014
155
11
LAGUNA
Question if I flash any vendor_boot rom through fastboot cmd and want to return to regular custom rom should i just flash a whole fastboot poco f3 rom if i dont have dtbo,vendor and boot file before flashing regular recovery?
 

Trax37

Member
Dec 12, 2012
8
1
Hey i got a question. i flashed aospa and didnt flash the orangefox vendor Recoveryw. Now i got the aospa Recovery
. how can i Go Back to orangefox Recovery?
 

DarthJabba9

Recognized Developer
May 5, 2014
4,188
4,331
Greater London
Hey i got a question. i flashed aospa and didnt flash the orangefox vendor Recoveryw. Now i got the aospa Recovery
. how can i Go Back to orangefox Recovery?
 
  • Like
Reactions: Trax37 and duttyend

juampapo546

Senior Member
May 8, 2018
174
56
Buenos Aires
Moto G6 Plus
I have a question, the rom being vendor_boot-as-recovery is device side of source side? For example could I make my own aopsa build standard recovery by only touching device trees?
I see no advantage on vendor_boot-as-recovery and I believe avoiding it for now might prevent my future self a headache :)
 
Last edited:
  • Like
Reactions: duttyend

DarthJabba9

Recognized Developer
May 5, 2014
4,188
4,331
Greater London
I have a question, the rom being vendor_boot-as-recovery is device side of source side? For example could I make my own aopsa build standard recovery by only touching device trees?
I see no advantage on vendor_boot-as-recovery and I believe avoiding it for nos prevent my future self a headache :)
It's all done in the device tree, AFAICS.
 

muil

Senior Member
Feb 12, 2021
58
14
I got into bootlop after udating to latest orangefox. I can get into recovery though but reinstalling the ROM ends in error 7(kinstalldeviceopenerror). Any idea?
 

DarthJabba9

Recognized Developer
May 5, 2014
4,188
4,331
Greater London
I got into bootlop after udating to latest orangefox. I can get into recovery though but reinstalling the ROM ends in error 7(kinstalldeviceopenerror). Any idea?
This is not the OrangeFox support thread, and therefore not the right place for this discussion. Secondly, please read and follow the instructions here: https://wiki.orangefox.tech/en/guides/report

And please post in the correct thread (https://forum.xda-developers.com/t/recovery-12-13-official-orangefox-recovery-project-r11-1.4472617/).
 
Last edited:

user0u

Senior Member
Jun 14, 2018
354
106
Looks like Arrow OS (13.1) is also using this.


Makes one miss the days when recoveries simply had their own dedicated partition.
 
Last edited:

user0u

Senior Member
Jun 14, 2018
354
106

Attachments

  • 2.jpg
    2.jpg
    124.2 KB · Views: 41

DarthJabba9

Recognized Developer
May 5, 2014
4,188
4,331
Greater London
The recovery installation instructions made me think so.
Yes, I can see how that could be confusing. But vendor_boot partitions can host any number of resources and different things, and a recovery ramdisk is only one of them. Many (if not all) custom ROMs store something or the other in the vendor_boot partition. But very few use vendor_boot-as-recovery. And ArrowOS is not one of them.

PS: if you unpack the vendor_boot image referred to in the installation instructions, you will see that it only contains a dtb and fstab, and no recovery resources. All the recovery stuff is in the boot image.
 

LinhBT

Senior Member
Apr 21, 2020
331
103
VietNam
Xiaomi Mi 5X
Redmi K20 Pro
Yes, I can see how that could be confusing. But vendor_boot partitions can host any number of resources and different things, and a recovery ramdisk is only one of them. Many (if not all) custom ROMs store something or the other in the vendor_boot partition. But very few use vendor_boot-as-recovery. And ArrowOS is not one of them.

PS: if you unpack the vendor_boot image referred to in the installation instructions, you will see that it only contains a dtb and fstab, and no recovery resources. All the recovery stuff is in the boot image.
True, I've just tried to unpack today! Man, this **** is becoming more annoying than ever. But ig we willl have to live with it
 

juampapo546

Senior Member
May 8, 2018
174
56
Buenos Aires
Moto G6 Plus
It's all done in the device tree, AFAICS.
This line corresponds to recovery in vendor boot?
BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT := true
I saw it on new PE device trees and the official build is already out

Edit: I did some research an for recovery to be in vendor boot this config should also be in board config right?
BOARD_INCLUDE_RECOVERY_RAMDISK_IN_VENDOR_BOOT := true
 
Last edited:
  • Like
Reactions: quake73

Top Liked Posts

  • There are no posts matching your filters.
  • 37
    1. We are beginning to see the release of new Android 13 ROMs for Alioth, that use "vendor_boot-as-recovery" ("vendor_boot") instead of the standard "boot-as-recovery" (these represent just two out of four possible permutations of device/ROM).

    2. A "vendor_boot" ROM has its recovery resources in the "vendor_boot" partition, instead of the standard "boot" partition.

    3. A "vendor_boot" ROM requires a different kind of recovery - one that is installed into the vendor_boot partition. If you flash a standard recovery to a vendor_boot ROM, you will get a bricked device, which will be very tricky to fix. So it is important to know whether you have a standard ROM, or whether it is a "vendor_boot" ROM. If you are not sure which kind of ROM it is (especially for new releases) you should ask your ROM's maintainer - before flashing it.

    4. Unfortunately, it seems that a number of alioth ROM maintainers that are releasing vendor_boot ROMs are either clueless about the implications, or do not care about its consequences for users. Therefore they do not very clearly document that their ROM uses vendor_boot-as-recovery. This is of course a recipe for disaster for users - but it is the custom recoveries that will often get the blame for what is the ROM maintainers' fault in not properly documenting their ROM. I shall not mention names - but I only know of two ROM maintainers who clearly identify their ROMs as vendor_boot.

    5. The requirement of a vendor_boot recovery for vendor_boot ROMs is the main difference between vendor_boot ROMs and the standard ROMs. Also, you cannot boot a vendor_boot recovery image by running "fastboot boot ..." on it (I have since discovered that, at least on one vendor_boot ROM, you can still "fastboot boot" a standard recovery image - but decryption will fail; and whether you can safely do anything useful in recovery mode in such a situation is anyone's guess - I personally wouldn't try).

    6. For practical purposes, everything else in the ROMs looks the same to the end user.

    7. OrangeFox Recovery Project has released a vendor_boot variant for Alioth [https://forum.xda-developers.com/t/...ry-project-r11-1.4472617/page-4#post-88415935].

    8. I have started this thread to start to compile a list of the Alioth ROMs that use vendor_boot-as-recovery. I also aim to provide other information that is relevant to vendor_boot-as-recovery for Alioth (things may be very different on other devices).

    9. The list starts with the vendor_boot ROMs that I am personally aware of. The list will be updated as and when I am aware of more vendor_boot ROMs. Hopefully, the information on this page will be useful to someone.

    10. Please note that the list below is for information only. By creating this list, I am not endorsing (or otherwise) any ROM that appears there. It is for you to investigate and make up your own mind about any of them. And note that some ROMs have moved away from vendor_boot, for some releases subsequent to the ones listed below. So, you need to do some detailed investigations before doing anything.

    Vendor_Boot ROMs for Alioth

    1. Paranoid Android Topaz (20230125/20230426 releases): [https://forum.xda-developers.com/t/paranoid-android-topaz-beta-1-poco-f3-mi-11x-redmi-k40.4546683/]

    2. Paranoid Android Topaz Stable 3 (20230723 official release): [https://forum.xda-developers.com/t/...-f3-redmi-k40-mi-11x-alioth-aliothin.4608643/]

    3. tequilaOS (20230412 release): [https://tequilaos.pl/download/alioth]

    4. Project Zephyrus CLO (20230412/20230504 releases): [https://sourceforge.net/projects/projectzephyrus-clo/files/alioth/]

    5. StatiXOS (20230207/20230423 releases): [https://forum.xda-developers.com/t/rom-official-13-statixos-v6-1-alioth-aliothin.4549639/] (these specific releases can only be installed via fastboot). Note: the 20230505 release is NOT vendor_boot.

    6. PalyrimOS v1.5: [https://sourceforge.net/projects/palyrimos/files/13/alioth/]

    7. Project404 Community edition v6.1: [https://sourceforge.net/projects/gengkapak/files/ROM/alioth/Project-404/13/]

    8. Project Elixir (3.7/3.8/3.9): [https://forum.xda-developers.com/t/rom-13-0-alioth-project-elixir-official-aosp.4579015/]

    9. BananaDroid (20230416/20230502/20230514 releases): [https://forum.xda-developers.com/t/rom-13-0-alioth-bananadroid-official.4579643/]

    10. AlphaDroid (20230428/20230519/20230609 releases): [https://sourceforge.net/projects/alphadroid-project/files/alioth/]

    11. SparkOS (13.6 - 20230531): [https://sourceforge.net/projects/sparkosofficial/files/alioth/]

    12. Pixel Experience Plus (20230715-0054-OFFICIAL): [https://get.pixelexperience.org/alioth]

    * If there is any ROM that should not be on this list, please let me know why you think it should not be on the list.

    * If there is a ROM that should be on the list, which is not currently there, please provide the name and version number of the ROM, and a public download link.

    * Some ROMs have now moved from vendor_boot to the standard recovery-as-boot; always check very carefully.
    16
    Initial installation of Vendor_Boot ROMs for Alioth

    1. You will normally need a PC / Laptop, because you are likely to need to flash some things in bootloader mode (at least, when installing a vendor_boot ROM for the first time)

    2. It is best to follow the instructions given by the ROM's developers

    3. However, you should be able to do an initial installation of a vendor_boot ROM in the usual way, using the standard OrangeFox Recovery for Alioth. If you want to do so, please note the following:
    (a) You must untick "Reflash OrangeFox after flashing a ROM" before flashing a vendor_boot ROM with a standard recovery
    (b) The vendor_boot ROM (as is normal with A/B devices) will replace the installed recovery with its own vendor_boot recovery
    (c) So, you must flash the OrangeFox vendor_boot recovery zip immediately after flashing the vendor_boot ROM
    (d) You should then reboot to recovery immediately after this, and then format the data partition, using the newly installed vendor_boot OrangeFox before booting to system
    (e) After this, you should be able to boot to the OrangeFox vendor_boot recovery in the normal way
    (f) Formatting the data partition will have removed the custom OrangeFox files in the internal storage. You can restore them later by flashing the OrangeFox zip again.


    Subsequent installations of new Vendor_Boot ROMs for Alioth
    - Format the data partition
    - Flash the new vendor_boot ROM with the installed OrangeFox vendor_boot recovery (this will also replace OrangeFox with the ROM's own recovery)
    - Flash the OrangeFox vendor_boot recovery zip file again
    - Format the data partition again (you may first have to reboot OrangeFox, if there is a problem with formatting)
    - Reboot to system

    NOTE: some vendor_boot ROMs (eg, Paranoid aospa topaz) require the data partition to be formatted with their own ROM recovery. With such ROMs, do not follow the instructions above about formatting with OrangeFox. Instead, you will need to follow a slightly different process:
    (a) Flash the ROM
    (b) Reboot immediately to recovery (this will load the ROM's own recovery)
    (c) Format the data partition
    (d) Flash the OrangeFox vendor_boot recovery
    (e) Reboot to system

    Issues with Vendor_Boot ROMs
    Every vendor_boot ROM for alioth that I have tested (ie, all in the list provided in the OP) had (at the time of testing) an incomplete implementation of the fastbootd mode.

    This means that you cannot flash a vendor_boot ramdisk to the vendor_boot partition, as envisaged by Google (see this Google documentation on fastbootd and especially this section).

    Thus the only way to replace/update the vendor_boot recovery is to flash a full vendor_boot recovery image to the vendor_boot partition (ie, replace the entire partition, rather than just the ramdisk). This is potentially problematic. So far, it has worked fine for all the ROMs listed above. But this is not guaranteed to continue forever.

    Solution?
    The real solution is for the ROM devs to have a full implementation of fastbootd. It might just be a simple case of using a v4 header (ie, BOARD_BOOT_HEADER_VERSION := 4). Or it might involve something a little bit more. In any case, it is an easy and uncomplicated task.


    DIRE WARNING!!!
    Do NOT flash a standard recovery onto a "vendor_boot" ROM. If you do, you will trash the boot partition, with all of the following consequences:
    a. The ROM will not boot, and
    b. The recovery will not boot, and
    c. You will not be able to "fastboot boot" a recovery image of any kind.

    In short, you will get a bricked device that can only boot successfully into the bootloader mode. And then you will have a very interesting experience in trying to restore the device from bootloader mode. You really do not want to go down this route!


    Is there any advantage at all in using vendor_boot-as-recovery?
    1. Generally, separating the recovery from the boot partition can be a good thing.

    2. If you are into rooting your device, there is an advantage to having a different partition for the recovery (ie, other than the boot partition). Because a vendor_boot recovery must be flashed to the vendor_boot partition, updating your vendor_boot recovery (or replacing it with another vendor_boot recovery) would not touch your boot partition, meaning that it should have no impact on your magisk installation.

    3. However, going down the vendor_boot route is dubious, because there was already that solution long ago (with A-only devices, which had dedicated recovery partitions). Google could simply have returned to having dedicated recovery partitions again with A/B devices (at least one OEM has A/B devices with real/separate recovery partitions). Why Google chose the vendor_boot route is anyone's guess. This route is especially problematic because you can't "fastboot boot" a vendor_boot recovery image, meaning that there is no way to test it without first flashing it. That is a major problem, given the high risk of bricking a device during testing of recovery builds before release.

    If/when I come up with any other advantage of vendor_boot, I will update this section ...
    9
    Returning to a standard ROM, from a vendor_boot ROM

    This part is more tricky. The most important thing to remember is that, once you are running a vendor_boot ROM, you must not flash a standard recovery - until after you have first flashed a standard ROM.

    Returning to standard ROMs can safely be done by following a few simple steps:
    0. Pray
    1. Boot into the installed vendor_boot OrangeFox
    2. Format data
    3. Flash your standard ROM (and GAPPs if desired)
    4. Flash the standard OrangeFox zip
    5. Reboot to OrangeFox
    6. Format data
    7. Reboot to system

    Hopefully, you will be greeted by your new standard ROM.
    4
    1. Flashing the OrangeFox vendor_boot Recovery for the first time
    * Firstly, ensure that you have already installed a vendor_boot ROM
    * Secondly, connect your PC to your device with a USB cable

    Using your ROM's recovery
    1. Reboot into Recovery mode on your vendor_boot ROM
    2. Flash the OrangeFox vendor_boot zip installer the same way you would flash any other zip, with "adb sideload ..."
    3. The device will be rebooted automatically into OrangeFox

    * If the ROM's recovery is unable to flash the OrangeFox zip (most can do it, but some will terminate on one pretext or the other), then see the next section.

    Using fastboot commands
    1. Extract the OrangeFox vendor_boot zip into a folder
    2. Open a terminal/command line windows, and change to the folder into which the zip has been extracted
    3. Run the command: "flash-whole-image.bat"
    4. The recovery will be flashed using fastboot commands, and the device will be rebooted automatically into OrangeFox


    2. Flashing/Upgrading with an installed OrangeFox vendor_boot recovery
    If you already have an OrangeFox vendor_boot recovery installed, then to upgrade the recovery:
    1. Just flash the new OrangeFox zip the same way that you will flash any other zip
    2. Reboot OrangeFox
    3
    Is android 13 miui roms will affect on this too?
    Probably not.