Pardon my ignorance but is 'sq3a.220605.009.b1-factory-157e2284' for the beta program? I'm on May 12L stable (rooted/ custom kernel) and don't want to be enrolled in the betas.
Yes, today's June release is the stable release of QPR3.Is this the stable release update for the QPR ?
I'm asking because I want to opt out of the qpr beta program without a data wipe.
I'm guessing that yes, that's the Beta. See the top of the first post in this thread for the links to the Verizon and Global Stable June factory images.Pardon my ignorance but is 'sq3a.220605.009.b1-factory-157e2284' for the beta program? I'm on May 12L stable (rooted/ custom kernel) and don't want to be enrolled in the betas.
Just so there's no confusion...
![]()
Android 12 Beta Program ends with QPR3, Pixel phones will automatically be unenrolled
With the launch of QPR3 today, the Android 12 Beta Program is ending with Google Pixel users not needing to take any further action...9to5google.com
Kiri has made the adjustments with his new release today (incorporating catntrips hashtree patcher work) and "should" work but hasn't been tested on Magisk 25. He still recommends using Stable 24.3 or Canary pre-24303 at this time to avoid potential conflicts.
Magisk v25.0
Latest
Another major release! A lot of the changes aren't visible at the surface, but v25 is actually a really substantial upgrade!
MagiskInit Rewrite
A significant portion of magiskinit (the critical software that runs before your device boots up) is completely rewritten from scratch. Ever since Android introduced Project Treble in Android 8.0, Magisk has been constantly fighting against the increasingly complex partitioning and early mount setups of all kinds of devices, sometimes with weird OEM specific implementations. It got to a point that magiskinit had become so complicated that few people (including myself!) were aware of every detail, and maintaining this piece of software like this was clearly not sustainable. After many months of planning (yes, this whole re-architecture has been in my head for a long time) and some help from external contributors, a whole new sepolicy injection mechanism is introduced into Magisk, solving the "SELinux Problem" once and for all.
Since this is a full paradigm shift on how Magisk hot-patch the device at boot, several behaviors that many developers implicitly relied on might not exist. For example, Magisk no longer patches fstabs in most scenarios, which means AVB will remain intact; some custom kernels rely on AVB being stripped out for them by Magisk.
MagiskSU Security Enhancements
The superuser functionality of Magisk has not seen much changes ever since its introduction. v25 focuses on making root permission management more accurate and secure:
Many might not realize, but using a trusted, unmodified Magisk app is really important. Magisk's root daemon treats the Magisk app differently and gives it blanket root access without any restrictions. A modded Magisk app can potentially backdoor your device.
- Add a whole new package tracking system to ensure malicious UID reuse attack cannot be performed
- Properly support and implement the UX in the Magisk app for packages using sharedUserId
- Enforce root manager APK signature verification to combat the rampant unofficial Magisk app "mods"
And in case some of you are about to put on your tin foil hats, this is not designed to "vendor lock-in"; the goal is to make sure your root management app comes from the same developer of the underlying root implementation. Magisk's build system allows custom distributors to use its own signing keys, and in addition, I am also providing official debug builds which skips any signature verification for development.
Full Changelog: here
Assets
4
- Magisk-v25.0.apk
10.6 MB1 hour ago- stub-release.apk
29.3 KB1 hour ago- Source code (zip)
1 hour ago- Source code (tar.gz)
1 hour ago
Magisk Changelog
v25.0
- [MagiskInit] Update 2SI implementation, significantly increase device compatibility (e.g. Sony Xperia devices)
- [MagiskInit] Introduce new sepolicy injection mechanism
- [MagiskInit] Support Oculus Go
- [MagiskInit] Support Android 13 GKIs (Pixel 6)
- [MagiskBoot] Fix vbmeta extraction implementation
- [App] Fix stub app on older Android versions
- [App] [MagiskSU] Properly support apps using sharedUserId
- [MagiskSU] Fix a possible crash in magiskd
- [MagiskSU] Prune unused UIDs as soon as system_server restarts to prevent UID reuse attacks
- [MagiskSU] Verify and enforce the installed Magisk app’s certificate to match the distributor’s signature
- [MagiskSU] [Zygisk] Proper package management and detection
- [Zygisk] Fix function hooking on devices running Android 12 with old kernels
- [Zygisk] Fix Zygisk’s self code unloading implementation
- [DenyList] Fix DenyList on shared UID apps
- [BusyBox] Add workaround for devices running old kernels
Kiri has made the adjustments with his new release today (incorporating catntrips hashtree patcher work) and "should" work but hasn't been tested on Magisk 25. He still recommends using Stable 24.3 or Canary pre-24303 at this time to avoid potential conflicts.Magisk v25 is out. BEWARE if you're going to flash a custom kernel on the June stock firmware without Verity and Verification disabled, and use Magisk v25, you may have to jump through hoops to get the custom kernel working. So either stick with Stable v24.3 for now, or look out for info from your favorite custom kernel developer for a modification to their custom kernel package to make it work with Magisk v25.
![]()
Releases · topjohnwu/Magisk
The Magic Mask for Android. Contribute to topjohnwu/Magisk development by creating an account on GitHub.github.com
Did you disable all Magisk Modules? Search the OP of this thread for the word "safe" for how to boot into safe mode, which will disable all Magisk Modules, then you can reboot as normal and make sure it works, and the modules will remain disabled until you re-enable them.not sure what happened
flashed the factory image with the -w removed
now it boot loops.
i thought flashing stock gets rid of the modules?Did you disable all Magisk Modules? Search the OP of this thread for the word "safe" for how to boot into safe mode, which will disable all Magisk Modules, then you can reboot as normal and make sure it works, and the modules will remain disabled until you re-enable them.
If you don't wipe, it doesn't get rid of anything except root. Did you re-root the new boot.img with Magisk Stable v24.3 and flash the rooted new boot.img? If you didn't re-root, then ignore that part. The modules would still exist but shouldn't do anything at all if the kernel isn't rooted.i thought flashing stock gets rid of the modules?
regardless, i cant enter safemode...
tried both patched boot image and unpatched.If you don't wipe, it doesn't get rid of anything except root. Did you re-root the new boot.img with Magisk Stable v24.3 and flash the rooted new boot.img? If you didn't re-root, then ignore that part. The modules would still exist but shouldn't do anything at all if the kernel isn't rooted.
If you did re-root you could always reflash the factory image (with -w removed again) and don't re-root if you have to, or just flash the stock boot.img if you hadn't flashed a custom kernel.
It's not easy to get into safe mode, but it can take multiple tries to get used to how to do it.
If all else fails you can search the OP for the link to the official Android Flash Tool (Google's website). This has fixed things that flashing the full factory image didn't fix for many, many users. You can even check/uncheck the option to wipe to try a dirty flash using the flash site first.
S:\platform-tools>flash-all
Sending 'bootloader_b' (11506 KB) OKAY [ 0.047s]
Writing 'bootloader_b' (bootloader) Flashing pack version slider-1.2-8318357
(bootloader) flashing platform gs101
(bootloader) Validating partition ufs
(bootloader) Validating partition ufs
(bootloader) Validating partition partition:0
(bootloader) Validating partition partition:1
(bootloader) Validating partition partition:2
(bootloader) Validating partition partition:3
(bootloader) Validating partition bl1_b
(bootloader) Validating partition pbl_b
(bootloader) Validating partition bl2_b
(bootloader) Validating partition abl_b
(bootloader) Validating partition bl31_b
(bootloader) Validating partition tzsw_b
(bootloader) Validating partition gsa_b
(bootloader) Validating partition ldfw_b
(bootloader) Flashing partition ufs
(bootloader) Flashing partition ufs
(bootloader) Flashing partition partition:0
(bootloader) Flashing partition partition:1
(bootloader) Flashing partition partition:2
(bootloader) Flashing partition partition:3
(bootloader) Flashing partition bl1_b
(bootloader) Flashing partition pbl_b
(bootloader) Flashing partition bl2_b
(bootloader) Flashing partition abl_b
(bootloader) Flashing partition bl31_b
(bootloader) Flashing partition tzsw_b
(bootloader) Flashing partition gsa_b
(bootloader) Flashing partition ldfw_b
(bootloader) Loading sideload ufsfwupdate
OKAY [ 2.782s]
Finished. Total time: 2.837s
Rebooting into bootloader OKAY [ 0.000s]
Finished. Total time: 0.002s
Sending 'radio_b' (81952 KB) OKAY [ 0.333s]
Writing 'radio_b' (bootloader) Flashing pack version g5123b-100840-220505-M-8544885
(bootloader) Flashing partition modem_b
OKAY [ 0.100s]
Finished. Total time: 0.444s
Rebooting into bootloader OKAY [ 0.000s]
Finished. Total time: 0.005s
--------------------------------------------
Bootloader Version...: slider-1.2-8318357
Baseband Version.....: g5123b-100840-220505-B-8544885
Serial Number........: <redacted>
--------------------------------------------
extracting android-info.txt (0 MB) to RAM...
Checking 'product' OKAY [ 0.000s]
Checking 'version-bootloader' OKAY [ 0.000s]
Checking 'version-baseband' OKAY [ 0.000s]
Setting current slot to 'b' OKAY [ 0.080s]
extracting boot.img (64 MB) to disk... took 0.212s
archive does not contain 'boot.sig'
Sending 'boot_b' (65536 KB) OKAY [ 0.264s]
Writing 'boot_b' OKAY [ 0.080s]
archive does not contain 'init_boot.img'
extracting dtbo.img (16 MB) to disk... took 0.037s
archive does not contain 'dtbo.sig'
Sending 'dtbo_b' (16384 KB) OKAY [ 0.067s]
Writing 'dtbo_b' OKAY [ 0.018s]
archive does not contain 'dt.img'
archive does not contain 'pvmfw.img'
archive does not contain 'recovery.img'
extracting vbmeta.img (0 MB) to disk... took 0.001s
archive does not contain 'vbmeta.sig'
Sending 'vbmeta_b' (8 KB) OKAY [ 0.000s]
Writing 'vbmeta_b' OKAY [ 0.002s]
extracting vbmeta_system.img (0 MB) to disk... took 0.001s
archive does not contain 'vbmeta_system.sig'
Sending 'vbmeta_system_b' (4 KB) OKAY [ 0.000s]
Writing 'vbmeta_system_b' OKAY [ 0.002s]
extracting vbmeta_vendor.img (0 MB) to disk... took 0.001s
archive does not contain 'vbmeta_vendor.sig'
Sending 'vbmeta_vendor_b' (4 KB) OKAY [ 0.000s]
Writing 'vbmeta_vendor_b' OKAY [ 0.002s]
extracting vendor_boot.img (64 MB) to disk... took 0.217s
archive does not contain 'vendor_boot.sig'
Sending 'vendor_boot_b' (65536 KB) OKAY [ 0.267s]
Writing 'vendor_boot_b' OKAY [ 0.078s]
extracting super_empty.img (0 MB) to disk... took 0.001s
Rebooting into fastboot OKAY [ 0.000s]
< waiting for any device >
Sending 'super' (4 KB) FAILED (Write to device failed in SendBuffer() (Too many links))
fastboot: error: Command failed
Press any key to exit...
I'm surprised (but glad) it works fine with the old Platform Tools (v33.0.1 is the latest, but is also a few months old).Just wanted to say, used Android flash tool (kept verity enabled / kept data / kept bootloader unlocked) rebooted, let phone finish android update, rebooted to fastboot (platform tools 30.0.2) and flashed patched boot.img (slot all) supplied here (big thank you to @Lycidias ) all went smooooth! Easy peasy, light and breazy![]()
Rooted Magsik 24.3 stable with new custom kernel. Thanks @Freak07 kirisakura kernel 3.0.0.
Oops. Typo fixed. platform-tools - link for windows (downloads v33.0.2.zip v33.0.2I'm surprised (bug glad) it works fine with the old Platform Tools (v33.0.1 is the latest, but is also a few months old).
*33.0.1Oops. Typo fixed. platform-tools - link for windows (downloads v33.0.2.zip v33.0.2
I clicked on the windows download link, and it came up to save the file as 33.0.2
I don't know why, but it could be because of this: https://blog.quarkslab.com/attacking-titan-m-with-only-one-byte.htmlThanks for the detailed explanation. I wonder why this is the first time we are hearing of the e-fuse? It also makes one wonder why Google is taking such permanent measures, given their generally open attitude towards developers on Pixel/Nexus devices...like, who cares if someone was able to downgrade?
As far as what it does and what it changes, it sounds like this is something we'll have to find out for ourselves unfortunately. But for the time being I would think it's safe to say that everyone updating should flash the A13 bootloader to both slots just to be safe in case of a alternate slot bootloop.
fastboot --slot all flash bootloader bootloader.img
fastboot --slot all flash radio radio.img
fastboot reboot bootloader
fastboot --slot all update image.zip
fastboot --slot all --skip-reboot update image.zip
and select reboot to bootloader in fastbootd once fastboot is done flashing to flash your patched Magisk boot image.Yes, absolutely. In that case, I would also choose the Android Flash Tool's option to force flash all partitions, too.i am somewhat knowledgable on flashing process, but i am currently on Lineage 19.1 and will be jumping directly from LOS to android 13. i have to select wipe as my data is coming from custom oS no???
Ha! I was writing before I finished reading. Yes.i would select force flash all partitions to ensure both slots get flashed???
this anti roll back thing has never worried me and i dont want to brick my 6 pro.....
Is there supposed to be another word in there, such as "safe"?
is the upgrade safe from coming from custom os???
Interesting. It sounds like this could potentially backdoor the new Play Integrity API as well because that relies on TEE and HKA.I don't know why, but it could be because of this: https://blog.quarkslab.com/attacking-titan-m-with-only-one-byte.html
The time frame lines up, antirollback commit was implemented in the days after Google told the researcher they are developing a fix.
And it's pretty big, allowing the ex-filtration of the secret keys inside the Titan and doing arbitrary code execution right on the Titan, a complete permanent compromise of the device. This is probably why Google is trying to stop people from downgrading to Android 12. Understandable why this is the first time Google is doing this, someone can resell this permanently compromised device to anyone, or do this to someone's phone. It's too late though, any Tensor device not updated to Android 13 could be forever compromised, so really the security theater of Pixel devices has just been torn down. We'll see if the Pixel 7 or Titan M3 fares better. Previous Pixel phones do not implement these OTP bit checks inside their bootloaders so I believe they are never going to have to worry about being stopped from downgraded, although they are susceptible to compromise.
Why not update both slots at the same time?The average person should never brick their phone from this, the GrapheneOS tester only had this happen because they were testing GrapheneOS on Android 13 and were capable of flashing a borked ROM.
But yes if you're updating to Android 13 manually via fastboot just run
fastboot --slot all flash bootloader bootloader.img
fastboot --slot all flash radio radio.img
- Reboot the phone
fastboot --skip-reboot update image.zip
- Select reboot to bootloader from inside fastbootd
fastboot --set-active=other
fastboot update image.zip
- If using Magisk then add a --skip-reboot to then boot back into the bootloader to flash your patched image.
fastboot update --skip-reboot --slot=all image-device-buildnumber.zip
Warning: slot set to 'all'. Secondary slots will not be flashed.
however it does flash both slots...If you have an unlocked bootloader, or at least have OEM unlocking enabled (in the second case, the site will unlock the bootloader for you). And you make sure the "Wipe" option gets unchecked.
You are correct.I think this just means you won't be able to downgrade the bootloader itself. Don't take my word for it but I suspect that one could still run older versions on the new bootloader.
To test this, just download the factory zip and update the bootloader only.
adb reboot bootloader
fastboot flash bootloader bootloader-raven-slider-1.2-8739948.img
fastboot reboot
S:\platform-tools>adb reboot bootloader
* daemon not running; starting now at tcp:5037
* daemon started successfully
S:\platform-tools>fastboot flash bootloader bootloader-raven-slider-1.2-8739948.img
Sending 'bootloader_b' (11554 KB) OKAY [ 0.047s]
Writing 'bootloader_b' (bootloader) Flashing pack version slider-1.2-8739948
(bootloader) flashing platform gs101
(bootloader) Validating partition ufs
(bootloader) Validating partition ufs
(bootloader) Validating partition partition:0
(bootloader) Validating partition partition:1
(bootloader) Validating partition partition:2
(bootloader) Validating partition partition:3
(bootloader) Validating partition bl1_b
(bootloader) Validating partition pbl_b
(bootloader) Validating partition bl2_b
(bootloader) Validating partition abl_b
(bootloader) Validating partition bl31_b
(bootloader) Validating partition tzsw_b
(bootloader) Validating partition gsa_b
(bootloader) Validating partition ldfw_b
(bootloader) Flashing partition ufs
(bootloader) Flashing partition ufs
(bootloader) Flashing partition partition:0
(bootloader) Flashing partition partition:1
(bootloader) Flashing partition partition:2
(bootloader) Flashing partition partition:3
(bootloader) Flashing partition bl1_b
(bootloader) Flashing partition pbl_b
(bootloader) Flashing partition bl2_b
(bootloader) Flashing partition abl_b
(bootloader) Flashing partition bl31_b
(bootloader) Flashing partition tzsw_b
(bootloader) Flashing partition gsa_b
(bootloader) Flashing partition ldfw_b
(bootloader) Loading sideload ufsfwupdate
OKAY [ 2.766s]
Finished. Total time: 2.825s
S:\platform-tools>fastboot reboot
Rebooting OKAY [ 0.001s]
Finished. Total time: 0.002s
S:\platform-tools>
fastboot flash bootloader bootloader-raven-slider-1.2-8739948.img
(and have the right bootloader file in the same folder). Either should work fine.I don't know why, but it could be because of this: https://blog.quarkslab.com/attacking-titan-m-with-only-one-byte.htmlThanks for the detailed explanation. I wonder why this is the first time we are hearing of the e-fuse? It also makes one wonder why Google is taking such permanent measures, given their generally open attitude towards developers on Pixel/Nexus devices...like, who cares if someone was able to downgrade?
As far as what it does and what it changes, it sounds like this is something we'll have to find out for ourselves unfortunately. But for the time being I would think it's safe to say that everyone updating should flash the A13 bootloader to both slots just to be safe in case of a alternate slot bootloop.
fastboot --slot all flash bootloader bootloader.img
fastboot --slot all flash radio radio.img
fastboot reboot bootloader
fastboot --slot all update image.zip
fastboot --slot all --skip-reboot update image.zip
and select reboot to bootloader in fastbootd once fastboot is done flashing to flash your patched Magisk boot image.There actually is a physical object being destroyed. Yes, there isn't a typical fuse being blown, as a typical fuse blows and opens the circuit. Instead what is implemented is an antifuse. These are the opposite of fuses ("anti") and are normally open. When enough voltage is passed they blow closed, and they actually do blow, they use oxide-breakdown cells that physically break down when the voltage threshold is met. This is more favorable for integrated circuits as blocking flow is a 0 and flowing is a 1. Old terminology hangs around and still refers to these as a fuse, from IBM's technology they named "eFuses" even though they perform opposite of a fuse. The modern terminology is to call them One-Time Programmable memory, or OTP memory. Modern processors have plenty of these. I don't know how many OTP bits are included on Tensor, but another ARM SoC the Rockchip RK3399 has 2 kibibits worth of OTP.I guess I'm splitting hairs then, because there's still no physical fuse that gets physically destroyed...but what you described has the same effect, permanently writing a 1.
Question is, when exactly isblow_ar
called? What does this change/how is it used? Does this simply mean the bootloader will reject older bootloader images, or that it will reject all images older than the bootloader date?
SMC_CM_OTP_CONTROL (0xC2001014UL)
.CMD_W_ANTIRBK_NS_AP (0x7UL)
and CMD_W_ANTIRBK_S_AP (0x9UL)
, which are the bits (7 and 9) being blown. I can only infer that the NS and S are for the normal world (NS) and secure world (S)./sys/kernel/boot_control/blow_ar
is being blown, it is blown inside BootControl::markBootSuccessful
, which is what is setting both the fuse and writing to devinfo that the slot had booted successfully. I don't know when exactly a boot is successful, but it is being ran by a service after Android boots up enough to be considered a success.I've been following the android 13 upgrade postings and I'm surprised not more people know this.
If you add --force to fastboot update "fastboot --force update image-*" you can downgrade back to Android 12 as long as you wipe data.
I tried this as soon as I upgraded to 13 and yes you can downgrade down to Android 12 after upgrading with no noticable issues. The radio and every other image but the bootloader can be downgraded. But I only tried 003, 004 July images for oriole so I don't know about anything lower personally.
I don't know why, but it could be because of this: https://blog.quarkslab.com/attacking-titan-m-with-only-one-byte.html
The time frame lines up, antirollback commit was implemented in the days after Google told the researcher they are developing a fix.
And it's pretty big, allowing the ex-filtration of the secret keys inside the Titan and doing arbitrary code execution right on the Titan, a complete permanent compromise of the device. This is probably why Google is trying to stop people from downgrading to Android 12. Understandable why this is the first time Google is doing this, someone can resell this permanently compromised device to anyone, or do this to someone's phone. It's too late though, any Tensor device not updated to Android 13 could be forever compromised, so really the security theater of Pixel devices has just been torn down. We'll see if the Pixel 7 or Titan M3 fares better. Previous Pixel phones do not implement these OTP bit checks inside their bootloaders so I believe they are never going to have to worry about being stopped from downgraded, although they are susceptible to compromise.
The average person should never brick their phone from this, the GrapheneOS tester only had this happen because they were testing GrapheneOS on Android 13 and were capable of flashing a borked ROM.
But yes if you're updating to Android 13 manually via fastboot just run
If you are already on Android 13 then just perform steps 1-2-3.
fastboot --slot all flash bootloader bootloader.img
fastboot --slot all flash radio radio.img
fastboot reboot bootloader
fastboot --slot all update image.zip
- If using Magisk then use
fastboot --slot all --skip-reboot update image.zip
and select reboot to bootloader in fastbootd once fastboot is done flashing to flash your patched Magisk boot image.
I use the full Pixel 6 Pro Factory Image to update each month. Use the same official latest ADB/Fastboot (SDK Platform Tools) you normally use. Edit the flash-all.bat (if on Windows - if on something else, edit the appropriate flash-all script file) and remove the "-w" and re-save it. If you want to keep the flash-all.bat from rebooting automatically after the update so that you can change slots and flash again, addfastboot --skip-reboot
in the flash-all.bat after thefastboot update image-raven-xyNz.YYMMDD.BBB.zip
line. Thanks, @Homeboy76 and @Lughnasadh!
Re-open the script file and confirm that you saved it with the "-w" removed, so it doesn't wipe your device.
From running Android:
Code:adb reboot bootloader (Let it reboot into Fastboot mode. Make note of which active slot is listed on the Fastboot screen, third item from the bottom.) flash-all.bat (WITH "-w" removed. Let it flash everything, will take several minutes.) Let it boot up (and check the notifications for the update process to finish while Android is running) adb reboot bootloader On the Fastboot screen, change to the opposite slot with either: fastboot --set-active=a (If you're on slot b) OR fastboot --set-active=b (If you're on slot a) OR [QUOTE="Homeboy76, post: 87298957, member: 4810220"] I think you may want to use [ICODE] fastboot --set-active=other[/ICODE] it lowers the mistake threshold. [/QUOTE] flash-all.bat (again)
Note that this is mainly for the officially listed "Unlocked" Pixel 6 Pro, available directly from the Google Store. All of this will also apply to any other (carrier-specific) variant of the Pixel 6 Pro which you can achieve an unlocked bootloader on. This includes T-Mobile and AT&T variants. It's likely Verizon variants will never be able to unlock their bootloader, or if so it will require paying the right person to do so.
Feel free to ask about general questions, but for anything that's specific to your variant, you should use one of the other already existing threads. You'll find Verizon, AT&T, and T-Mobile-related threads in those respective search results.
Unlocking or locking the bootloader will wipe the device every single time, so be sure to have your data backed up before doing so, or better yet, just unlock it as soon as you get the device.
Keep in mind that unlocking the bootloader or rooting might affect your phone's capability to use banking apps such as Google Pay, your local bank's app, or even the ability to install some apps like NetFlix. See @Pekempy's thread Working SafetyNet with Pixel 6 Pro Android 12
If you're going to re-lock the bootloader, make sure the ROM you have on your phone is completely stock (by flashing the latest official firmware) BEFORE re-locking it.
There are no negative consequences if you unlock or re-lock the bootloader other than it will wipe your phone, and while unlocked you get a brief screen when you boot the phone telling you (and anyone who sees your phone at the time) that the bootloader is unlocked. You will also continue to receive updates (if you've merely unlocked the bootloader, you can take updates as normal) unlike Samsung, Sony, et cetera, which have permanent major consequences with reduced functionality even if you un-root and re-lock your bootloader. If you're actually rooted (not just bootloader unlocked), you'll have to perform extra steps to manually update each month, and to keep root/re-root.
All posts about Google Pay or banking will be reported to be deleted. Please keep this thread on-topic. There are at least one or two other How To Guide threads in this section in which folks discuss how to get around banking app restrictions when you're rooted or just have an unlocked bootloader. See @Pekempy's thread Working SafetyNet with Pixel 6 Pro Android 12
If users persist in discussing banking apps in this thread, I will have this thread locked and only update this first post when there is new and updated information regarding the subjects of the title of the thread: Unlocking the Pixel 6 Pro bootloader, rooting, and TWRP. See @Pekempy's thread Working SafetyNet with Pixel 6 Pro Android 12
Honorable mention to @Jawomo's aodNotify - Notification Light / LED for Pixel 6 Pro! (XDA link) / Notification light / LED for Pixel - aodNotify (Play Store link), which in my opinion restores useful functionality missing in most phones these days. It also solves some subjective issues some folks have with AOD (Always On Display), and/or solves/works around the problem where AOD is required for the optical fingerprint reader to work without the screen being on.
OEM unlocking in developer options needs to be toggled on. I don't "believe" you have to actually do the "fastboot flashing unlock" command.
- You'll need this if you're going to unlock the bootloader on your Pixel 6 Pro: SDK Platform Tools (download links for Windows, Mac, and Linux). Note that you can find links to download the tools elsewhere, but I wouldn't trust them - you never know if they've been modified. Even if the person providing the link didn't do anything intentionally, the tools could be modified without them being aware. Why take a chance of putting your phone security further at risk?
- You can alternately use the tools from the SDK Manager, but most of us will want to stick to the basic tools-only without the complications of the full development manager.
- For Windows, get Google's drivers here Get the Google USB Driver (ADB will likely work while the phone is fully booted, but if you're like me, you'll need these drivers for after you "adb reboot-bootloader", to be able to use ADB and Fastboot.
- Thanks to @96carboard for posting the details of unlocking the bootloader, be sure to thank him in his post. Unlocking or locking the bootloader will wipe the device every single time, so be sure to have your data backed up before doing so, or better yet, just unlock it as soon as you get the device. Keep in mind that unlocking the bootloader or rooting might affect your phone's capability to use banking apps such as Google Pay, or your local bank's app. If you're going to re-lock the bootloader, make sure the ROM you have on your phone is completely stock (by flashing the latest official firmware) BEFORE re-locking it. My experience on my Pixel 1 was that there were no negative consequences if you unlock or re-lock the bootloader other than it will wipe your phone, and while unlocked you get a brief screen when you boot the phone telling you (and anyone who sees your phone at the time) that the bootloader is unlocked. All of this should still be the case. You will also continue to receive updates. Unlike Samsung, Sony, et cetera, which have major consequences with reduced functionality even if you un-root and re-lock your bootloader. If you're actually rooted (not just bootloader unlocked), you'll have to perform extra steps to keep root/re-root.:
The unlock process works like this:
1) Take brand new fresh phone out of box. Do NOT put sim card in it, just power it on (you can put a SIM card if you want, you just don't have to).
2) When it starts harassing you to join Google, hit "skip" and "remind me tomorrow" as applicable until you reach home screen. YOU DO NOT need to plug in a google account.
3) Settings --> About --> Build number. Repeatedly tap it until it says you're a developer.
4) Back --> Network --> WiFi and connect it.
5) Back --> System --> Developer --> OEM unlocking (check), USB debugging (check), plug in USB, authorize on the phone when requested.
Using the Platform Tools previously mentioned in command line/terminal:
6) #7) #Code:adb reboot-bootloader
Code:fastboot flashing unlock
Now that you've unlocked it, it has been wiped, so repeat 1-4, then disable all the google spyware, and go ahead and start using it while waiting for aosp and root.
Official Instructions for Locking/Unlocking the Bootloader
Personally, I would always use the official drivers Google provides unless they just don't work for whatever reason: Get the Google USB Driver (this is for Windows). They work for me. They are rarely updated, but they are every once in a great while, sometimes years in-between.
I agree with this. be careful using drivers or adb/fastboot tools. Some are fine, but there's no need for it really anymore. Google has made it very easy to install drivers and Platform-Tools (adb/fastboot tool).
Google provides the Fastboot/ADB tool (Platform-Tools) and Google USB Drivers (adb/fastboot interface). This will allow any Pixel to interface with Windows using the fastboot/adb protocol. Official Google USB Driver includes support for both the Fastboot and ADB driver interface. There are 3 main drivers (Fastboot, ADB and MTP/Portable File Transfer). The MTP/Portable File Transfer driver is built-in to Windows 7-11.
Fastboot/ADB Driver Interface - Official Download Link:
When flashing a full image or unlocking your bootloader, the fastboot interface is being used.
First Download official Google USB Drivers (it's a zip file). Extract the zip (important!). Right-click on the android_winusb.inf file and hit install. You can then restart your phone to the Bootloader Screen (hold vol-down while it restarts or turns on). When you plug in your phone, Windows Device Manager will show a new device at the top: Android Device: Android Bootloader Interface.
Using the ADB interface: It's the same driver. Enable USB Debugging on your phone, then plug it in to your computer. A prompt will appear on your phone (to allow USB Debugging). The driver in Device Manager will appear as Android Device: Android Composite ADB interface.
Now you can download and use Platform-Tools to flash an Android Image, OTA or run adb/fastboot commands.
Official Download Page
"Android SDK Platform-Tools is a component for the Android SDK. It includes tools that interface with the Android platform, such as adb, fastboot, and systrace"
It's best to make Platform-Tools available system-wide. Download Platform-Tools from the above link and extract it to your C:\ drive - that way you will have a folder to add to the PATH Environment under Window System Properties Menu, Advanced, Environment Variables, System Variables, PATH (google how to do this, very easy). What this does is allow adb/fastboot commands to be run from anywhere in the system, so you don't have to be in the platform-tools folder to run adb/fastboot commands and flash an Android Image (Official or Android Fork such as ProtonAOSP).
@V0latyle posted a new thread with some very important and fascinating information about the increased difficulty to root Android 12: Read this before rooting. Be sure to thank him there.
I would guess that this should be the appropriate URL for official TWRP custom recovery for the Pixel 6 Pro, but who knows when/if that will actually be made available, and it may become available unofficially in these forum sections before being made official. I'll adjust this URL as needed. https://twrp.me/google/googlepixel6pro.html.
@Freak07's Kirisakura-Kernel for the Pixel 6 Pro (and possibly the Pixel 6)
@DespairFactor's Despair Kernel (I believe also for both the P6P and P6)
@tbalden's CleanSlate Kernel
@acuicultor's Radioactive Kernel
It's also handy to have to the full official firmware available, whether it's to recovery from accidents or for actual development. Note the official link to the general Factory Images for Nexus and Pixel Devices page. The following link goes directly to the Pixel 6 Pro (Raven) section: Pixel 6 Pro Factory Images. I prefer to actually bookmark a link to the device listed immediately below the device I want the firmware for, because Google dumbly (in my opinion) puts the latest firmware at the bottom of the list for each particular device, and that ends up making you scroll a lot after a year or two of monthly updates.
Note: You can still get the December 2021 Factory Images and OTA from this thread, if you need them for any reason: Alternate links to December - all full factory images and OTAs available
Back to modding!
- Use the latest Magisk Stable (in my case, I keep the app "hidden" / renamed)
- Used the full firmware zip, extracted to the same folder as the latest Platform Tools (S:\platform-tools)
- Extracted the new boot.img
- Copied new boot.img to the phone
- Patched the new boot.img with Magisk Stable
- Renamed Magisk'd boot.img so I know what version of firmware it's for
- Copied the Magisk'd boot.img back to the computer
- Disabled all my Magisk Modules
- Removed the "-w " from the flash-all.bat
- Re-edited the flash-all.bat to verify I saved it with the "-w " taken out
- Open a Command Prompt, navigated to S:\platform-tools
- adb reboot bootloader
- flash-all.bat
- Let phone boot, unlock it, check that it's working, allow the update process to finish (gave it five minutes or so)
- adb reboot bootloader
- fastboot flash boot kernel.img (renamed Magisk'd boot.img)
- fastboot reboot
- Unlock, check everything's working
- Re-enabled the most basic Magisk Modules which I was sure wouldn't cause a critical issue
- Reboot, unlock, made sure everything's working
I may append these first four posts with further useful information or links as needed.
33.0.1 (March 2022)
- adb
- Fixes Windows mdns crashes.
- Fixes enable-verity/disable-verity on old devices.
- Fixes "install multiple" on old devices
- Improves the help output to include all supported compression methods.
Revisions
32.0.0 (January 2022)
- adb
- Fixed adb w/o args SEGV regression.
- fastboot
- Reinstated recovery execution from b/158156979 (removal of preprocessor guards for root/secure).