LightBlog

dimanche 28 août 2022

How to check Android 13’s new bootloader version on the Google Pixel 6 series for anti-rollback protection

Android 13 season is officially upon us. The latest iteration of Android brings with it some fresh UI changes and many useful features. For the Google Pixel 6 family, the stable Android 13 update also incremented the anti-rollback version in the bootloader of these devices. As a result, you can’t flash back an older Android 12 build after upgrading to Android 13.

  • The Pixel 6 family of devices has received new bootloader updates with the stable Android 13 OTA.
  • The bootloader update increments the anti-rollback version on these phones.
  • Reverting back to Android 12 isn’t possible due to anti-rollback protection.

Navigate this article:

Pixel 6 Pro

Why does my Google Pixel 6/6 Pro/6a need an upgraded bootloader?

The rollback protection on the Google Pixel 6, Pixel 6 Pro, and the Pixel 6a is materialized through electronic fuses (eFuses). An eFuse is like a write-once flash. Once you flip those bits by writing something into them, there’s no going back. After “blowing” an eFuse, it’ll stay written with that value forever.

In order to nullify a number of attack vectors, Google shipped a new set of bootloader for the sixth generation Pixel phones through the stable Android 13 OTA that prevents older revisions of Android from being loaded onto these devices. The relevant eFuse should blow and increments the rollback index only after a successful boot of Android 13. The new bootloader version, the bumped-up rollback index value, and the blown eFuse state should be sufficient to block any pre-Android 13 firmware to be flashed afterward.


How can I tell if my Google Pixel 6/6 Pro/6a already has the updated bootloader?

A bootloader, by definition, is a program that loads an operating system, or chain-loads another bootloader when a device is turned on. Google’s Fastboot utility offers an easy way to query the bootloader variables of an Android device from a computer. To do so, we need to boot the target Pixel phone to its bootloader interface.

  1. Make sure that you have the latest version of ADB and Fastboot utilities installed on your PC/Mac/Chromebook.
  2. On your phone, go to Settings > About phone > Build number and tap on this entry 7 times to enable Developer options.
  3. After enabling it, go back to the main settings page and tap on System, then go to Developer options.
  4. Turn on USB debugging.
  5. Connect your Pixel 6, Pixel 6 Pro, or Pixel 6a to your computer using a USB cable.
  6. Open a terminal window and type the following command to check if your device is detected or not:
    adb devices

    You may need to authenticate the identity of the host PC for the first time.

  7. If the device is connected, you should see its serial number.
  8. Once everything is ready, run the following command to reboot to the bootloader mode:
    adb reboot bootloader
  9. Your phone should reboot to bootloader mode (also known as “Fastboot mode”).
  10. Now, type the following command to check if the target device is detected by your PC in the bootloader mode:
    fastboot devices

    If you’re using Windows on your PC, then you may need to install the latest Google USB drivers.

  11. To know the bootloader version, execute the command mentioned below:
    fastboot getvar version-bootloader

    fastboot getvar version-bootloader

Next, refer to the following table and match the bootloader version with the output you got:

Device, Device Forums, Codename Stable Android 13 bootloader version
Google Pixel 6 (oriole) slider-1.2-8739948
Google Pixel 6 Pro (raven) slider-1.2-8739948
Google Pixel 6a (bluejay) bluejay-1.2-8893284

It is also possible to query the bootloader version from the userspace Fastboot interface (aka fastbootd). To do so, reboot the device using adb reboot fastboot, then execute the same fastboot getvar version-bootloader command.

In case you don’t have a PC nearby, then you can obtain the bootloader version right from the phone itself. First, turn off your Google Pixel 6/6 Pro/6a and press the Volume Down and Power buttons for a couple of seconds. Release them when the Fastboot mode appears. You should be able to locate the bootloader version on the screen.

Google Pixel 6a bootloader version in Fastboot mode on Android 13


It says I have a different bootloader version, so does that mean I can go back to Android 12?

If the bootloader version of your Pixel 6/6 Pro/6a is different from the one shown in the aforementioned table, then you’re probably running a beta build of Android 13 or an older stable channel build of Android 12.

While you may try to revert back to Android 12 with a lower version of the bootloader, it is not recommended. For the sake of security and compatibility reasons, you should take the stable Android 13 OTA to upgrade the bootloader as well as the underlying firmware bits of your device.

If you’re planning to perform a manual flash, then ensure that the partition images of stable Android 13 software are flashed to both slots. A bootloader version mismatch between the A and B slots is enough to brick the device. There is no known way to revive a hard-bricked Google Tensor-powered device like the Google Pixel 6/6 Pro/6a yet, so exercise caution before attempting a manual upgrade.


How to safely upgrade the bootloader on my Google Pixel 6/6 Pro/6a?

To avoid a hard brick scenario, you should flash the bootloader partition to the inactive slot after successfully updating and booting into Android 13 at least once. This should eliminate the chance of a version mismatch, especially if you are flashing a Pixel 6, Pixel 6 Pro, or Pixel 6a with a stable Android 13 build for the first time.

Option 1 (using recovery/OTA images):

After a successful boot into Android 13, download the full OTA image corresponding to that build. Next, sideload it from stock recovery and reboot the device to ensure that both slots have the same bootloader version.

Option 2 (using factory images):

People who upgraded to Android 13 by flashing the factory image after unlocking the bootloader should opt for this option. After a successful boot into Android 13 for the first time,

  1. Check the currently active slot:
    adb reboot fastboot
    fastboot getvar current-slot

    If the output returns the current-slot as “a,” your active slot should be “a” and the other slot is “b.” If not, then your active slot is “b” and the other slot is “a.”
  2. Extract the contents of the factory image ZIP file and locate the bootloader image in the extracted files. It should be named as “bootloader-[device codename]-[platform codename]-[major version]-[minor version].img.”
    • For the Pixel 6 and 6 Pro, the platform codename is “slider,” whereas for the Pixel 6a, it’s “bluejay.”
      Google Pixel 6 series factory firmware bootloader image
  3. Now, we need to flash the bootloader to both slots.
    1. If your active slot is ‘a’
      fastboot --slot=other flash bootloader bootloader_filename.img
      fastboot set_active b
      fastboot reboot bootloader
      fastboot set_active a
      fastboot reboot bootloader
      fastboot reboot
    2. If your active slot is ‘b’
      fastboot --slot=other flash bootloader bootloader_filename.img
      fastboot set_active a
      fastboot reboot bootloader
      fastboot set_active b
      fastboot reboot bootloader
      fastboot reboot
  4. That’s all.

As you can see, there’s no shortage of the various different ways you can check the underlying bootloader version of your Pixel 6, 6 Pro, or 6a. Should you prefer to let the system take care of itself or install the updated bootloader manually, choose the best method for your needs.

The post How to check Android 13’s new bootloader version on the Google Pixel 6 series for anti-rollback protection appeared first on XDA.



from XDA https://ift.tt/QH96iyM
via IFTTT

Aucun commentaire:

Enregistrer un commentaire