Just a week after Google released the Pixel and Pixel XL, the handsets have been rooted by Chainfire. Thanks to the new security measures and changes in system partitions introduced by Google on the Pixels, gaining root access on them turned out to be slightly complicated.
Being the first release of root for the Pixel, there are bound to be some bugs and compatibility issues. If you run into them, make sure to report them to Chainfire with proper logs so that they can be fixed in future versions. Since the path of the system folder changes due to root (from /system to /system_root), some apps that require root access to work will have to be updated to work properly on the Pixels.
The new partition layout on the Pixels are going to cause some headache for developers like they did for Chainfire while trying to gain root access on the handsets.
With the Pixel’s new partition layout, those files we were changing have moved to the system partition (what we originally thought of as /system is now a subfolder inside that partition’s filesystem). So, could we then just modify the system partition that contains all these files, and leave the boot image alone? While I personally prefer doing the boot image modification and leave system alone, the reverse could potentially be a solution, and I know some tech users would even prefer it.
However, I could not get this to work. The bootloader actually sends information to the kernel (which resides in the boot image) that force-enabled dm-verity (which enforces the system partition’s integrity), which we cannot intercept or change without (drum roll) modifying the boot image. My first successful root of the Pixel was done that way – by modifying both (the picture posted earlier is from this attempt).
If you are running the Developer Preview of Android 7.1 on the Nexus 6P or Nexus 5X, make sure to update to the latest release of SuperSU 2.78 SR2 since it can potentially fix many of the root-related issues that you are facing.
You can find the download links and steps to root your Pixel or Pixel XL here.