Development on attaing root on lollipop is halted on my from 13/10/26 to 26/10/2016 due to exams. Any user feel free to try in my short absence, to compile your own kernel with anti-root off and using my above posted ramdisk, if it boots, PM me and I will give you/guide you/instruct from there to have a fully functional root.
Current Progress: 80%
- Modify ramdisk defult.prop to allow ADB roor without having the phone rooted in the traditional sense. This allows use to place the files in the correct positions needed for root in general. The road block/Snag is described in the next section.
- Placed the necessary files with the necessary permissions, as well as modifying any necessary files so SuperSu can work systemless (planning to also create a script to install into system for users who want that instead)
- Patched the sepolicy file to allow the required functions to run in permissive while leaving the rest of the phone in enforcing (Trying to reduce thevamiunt of security relaxed, I pefer my phone be as Secure as possible while still allowing root.)
- Got the phone booting up with a custom ramdisk thanks to the work of @akuhak
, in creating/modifying the necessary tools to unpack and repack our boot.img properly
What's still needed to be done:
- Getting a compiled kernel to boot up on the phone. Why? Because of two reasons;
1) Although the necessary modifications to the ramdisk has been done to allow achiving root via ADB possible, due to the security focused Samsung they have added extra security called "anti-root", which stops "adb root" doing what it actually needs to do which is run adb as root (which is needed to place files on the phone to achive root). A stock kernel has this enabled by defult, a custom one does not, thus I need the custom kernel to boot on this phone, for which isn't happening at the moment.
2) Also disabling one flag to allow the selinux mode changes app to actually allow the changing from enforcing to permissive. I personally won't use it unless testing a mod, but would rather have the option there for when its needed
- Update my current "systemless" install script, as well as creating the "system" install script for users who want to install SuperSu into the system instead of the systemless way (giving the users a choice).
Reasons why root is harder to attain on lollipop then compared to the kitkat or the Value Edition version of the phone:
- Why is it harder to attain root on lollipop then Value Edition;
1) Value Edition is built with a different board (it's built with an exnyos board, where's the normal edition is built with a Marvell board) and chainfires tools are more aimed/tested/built to work on at the exnyos board, not out uncommon Marvell board
2) TWRP just got built for the value edition earlier this month, so it's realtuve simple to just flash SuperSu via TWRP.
- Why is it harder to atrain root on lollipp then kitkat;
1) As you all know, updating to lollipop brought new features and nore/better security. Quick note: Systemless Root works/aimed at/needed on Marshmallow and up devices or in Samsung's case 5.1.1 Lollipop (Read chainfires install script as it has a detection query to see If the device is a Samsung running 5.1.1, and if so use systemless root instead of system root). Therefore working around these restrictions require more work.
2) A more prevalent reason is becuse the current TWRP for the normal editon is built for KitKat and not for Lollipop and thus not able to boot. And I have not built it for it yet for the updated OS. Why haven't I built it, so I can just flash SuperSu.zip, it's becuse out device boot.img is not standard, and in chainfires posts/scripts he states that the scripts probably won't work on unstandard boot.img (unless his closed source binary accounts for that configuration I belive). As well as helping in achieving my end goal, which is a fully customized kernel (away from the standard custom one needed to gain root which will be released when I have got it booting), so with this in mind, getting able to get custom boot.img booting is a huge step foward in that direction.
- Release my own custom kernel.
So after reading all that you should know, how far left till root is acived on lollipop, and why lolipop needs/gets special attention/way of aciving root.As well as the fact that I can't do work on this project for about 2 weeks due to exams.
I just feel like I'm talking to myself just to keep track of where I am at on this device and where I am headed. But I felt like posting it so any user who actually cares about this device and getting root on lollipop can follow along, know that i haven't given up, and I am close to achiving that goal.