Sunday, November 11, 2018

applications - Systemless Root


Chainfire (the developer of SuperSU), has come up with a new style of rooting devices on Android 6.0 Marshmallow and above. This is "systemless" root, and is all the rage right now. So, just in case anyone feels curious, I thought there should be some information about "systemless" root here for future reference.


The main question:


What is "systemless" root, exactly?


This question has 2 ancillary questions, which are:




  1. Where is it more applicable over traditional "system-based" root, and how is it different from it?





  2. Is it better than traditional root? If so, how?




A comprehensive answer to the main question along with the ancillary questions will be preferred.



Answer



Main Answer:


Systemless root is a rooting method/procedure developed by Chainfire (the developer of the popular root management app SuperSU) which involves a modified boot ramdisk image. The superuser su binary becomes a kernel inclusion instead of existing under /system/xbin/, like in normal system-based root.


Ancillary Answers:





  1. Preference of systemless root over traditional root:


    It was initially suggested by Chainfire to be useful for Nexus devices from Marshmallow onwards to prevent rooted users from having to reflash the entire stock system, boot and recovery partitions before undertaking even a minor OTA update, which has since become more important as Google has introduced the policy of pushing out monthly security updates through OTAs, and flashing the entire device every month is tedious at best.


    Systemless root eliminates the heavyweight system partition from the flashing equation, allowing the devices with systemless root to be updated just after reflashing stock recovery and boot.




  2. Pros of systemless root over traditional root:



    • Utility when OTA updating devices as mentioned above.


    • The modified boot image gets rid of the "Tampered" screen on Android bootup from Marshmallow onwards, if the device has a non-stock partition, most commonly recovery.

    • No exploits required. Systemless SuperSU can technically be flashed as a boot image through fastboot, although it is normally done by flashing a zip in a custom recovery, which automatically patches the on-device boot image to make the necessary modifications to support systemless root.

    • It works with an SELinux Enforcing security condition, while traditional root needs SELinux Permissive on Android 5.0 and up.

    • It unintentionally circumvents Android Pay and Android for Work root restrictions, which work with traditional root.




  3. Cons of systemless root over traditional root:



    • Quite buggy and is still in BETA stage, although it is being actively developed and is definitely usable (from personal experience). Edit: No longer buggy and the default rooting method on Android 6.0.1 and up when using SuperSU.


    • Some custom kernels like LeanKernel refuse to work with systemless root as they need traditional root for functioning properly. Edit: Most custom kernels now recommend systemless root, a well-known such kernel being ElementalX.

    • Some root apps may not work with systemless root as they hard-code the path-to-su in their code, which is only applicable for traditional root.

    • Not sure if this is actually a con, but systemless root is the only recommended rooting method that will work on Android 6.0.1 and up.




Sources:



  1. XDA-Developers

  2. Nexus 6P Reddit thread (not sure if it's very reliable)



No comments:

Post a Comment

samsung galaxy s 2 - Cannot restore Kies backup after firmware upgrade

I backed up my Samsung Galaxy S2 on Kies before updating to Ice Cream Sandwich. After the upgrade I tried to restore, but the restore fails ...