Xposed Issues on Nexus 6? Try this! *Not needed on Alpha 2

Search This thread

smclaughlin3

Senior Member
Sep 25, 2013
281
21
Selinux app says cant grant root access at boot up...i think this is the people having with the app...well with stock based rom for me which is what I'm using... Tried forcing in su app no luck
 

CrashTestDroid

Senior Member
Jul 12, 2013
1,140
1,126
Google Pixel 6 Pro
Google Pixel 8
I'm not sure how I could type with my screen off?

adb shell works with screen off but you need the screen on to enable root for adb
setenforce 0 followed by soft reboot works but isn't working in an init.d script as previously reported. Xposed LP is worth it just for the CPUfreq and CPUtemp modules :)

Maybe the SuperSU injection method has something to teach us about installing Xposed. Pulling it apart now.
 

danarama

Senior Member
Aug 22, 2010
31,277
18,811
Oxenhope, West Yorkshire, UK
I did have that in there actually...here's the whole script actually (with permissions set to 0755):
Code:
#!/system/bin/sh
#Init.d Permissive SELinux

busybox mount -o remount,rw -t auto /system
busybox mount -o remount,rw -t auto /data

setenforce 0
SELINUX=permissive

According to an app I downloaded, the kernel I'm using does have init.d support. Still no dice :(
This is similar to.a.script I tested but also wasn't working for me.
 

skaforey

Senior Member
Nov 5, 2009
603
399
San Diego, CA
This is similar to.a.script I tested but also wasn't working for me.

I now have this as a script and it's NOT outputting to /sdcard/SELinux.log when rebooting, (but it does if i run the script manually from shell). So it seems like init.d is not actually working for me. Gonna investigate this more.

Code:
#!/system/bin/sh
#Init.d Permissive SELinux

busybox mount -o remount,rw -t auto /system

setenforce 0
SELINUX=permissive

echo "Permissive SELinux set" >> /sdcard/SELinux.log
 

danarama

Senior Member
Aug 22, 2010
31,277
18,811
Oxenhope, West Yorkshire, UK
I now have this as a script and it's NOT outputting to /sdcard/SELinux.log when rebooting, (but it does if i run the script manually from shell). So it seems like init.d is not actually working for me. Gonna investigate this more.

Code:
#!/system/bin/sh
#Init.d Permissive SELinux

busybox mount -o remount,rw -t auto /system

setenforce 0
SELINUX=permissive

echo "Permissive SELinux set" >> /sdcard/SELinux.log
Echo to system or data. Sdcard won't work I don't think.
 

wrongway213

Recognized Dev & Contributor / Retired Forum Mod
Jul 27, 2014
5,123
9,011
35
Canton, OH
Google Pixel 7
I found the cure to our woes until a real fix is found or implemented - newest LiquidSmooth kernel is permissive by default, and yes @rootSU that does in fact allow Xposed to persist through reboots, tested it just now. Sensor_ind is disabled so no worries LK and Franco users, flar2 wake gestures as well. Enjoy guys!

Also, if you update your ROM you have to flash Xposed arm again apparently.
 

my95z34

Senior Member
Apr 18, 2007
728
400
Wayne MI
I now have this as a script and it's NOT outputting to /sdcard/SELinux.log when rebooting, (but it does if i run the script manually from shell). So it seems like init.d is not actually working for me. Gonna investigate this more.

Code:
#!/system/bin/sh
#Init.d Permissive SELinux

busybox mount -o remount,rw -t auto /system

setenforce 0
SELINUX=permissive

echo "Permissive SELinux set" >> /sdcard/SELinux.log

What rom are you using? Last I checked, init.d doesn't work on CM. I maintain PAC and we use CM as a base and we don't have init.d either. I tested on a stock CM build as well and no dice.

I found this script which fixes it. Just remove /system/bin/sysinit and run the script and you'll be good to go. (I have tried just copying the sysinit file that the script generates into a clean build and it doesn't fix it, so there's something else the script does that fixes it. You have to remove the file before running it or it won't run and will just say that it should already be working.)
 

skaforey

Senior Member
Nov 5, 2009
603
399
San Diego, CA
What rom are you using? Last I checked, init.d doesn't work on CM. I maintain PAC and we use CM as a base and we don't have init.d either. I tested on a stock CM build as well and no dice.

I found this script which fixes it. Just remove /system/bin/sysinit and run the script and you'll be good to go. (I have tried just copying the sysinit file that the script generates into a clean build and it doesn't fix it, so there's something else the script does that fixes it. You have to remove the file before running it or it won't run and will just say that it should already be working.)

I'm using Chroma rom. I might give this a go.

Edit: Can't get this to run, how are you running it?
 
Last edited:

elevatorguy

Senior Member
Jun 23, 2010
720
127
Northern VA
When you get it up and running will frameworks still show app processes - - - under active? Everything seems to work just that's throwing me for a loop. Will give the ls kernel a shot. Thanks @wrongway213
 

my95z34

Senior Member
Apr 18, 2007
728
400
Wayne MI
Ok, one last thing. I updated the init.d enabler to make it a bit more simple after a rom flash. I changed it to automatically remove the sysinit file, and it will also create the init.d script that will set SELinux to permissive. Haven't tested it, but in theory it should work.

http://hastebin.com/ahifazadal.dos

Also, @skaforey, copy it into a text file, save it as whatever (enable-init.sh), chmod so it's executable, and then run it in terminal.

$ su
# sh /sdcard/enable-init.sh

And you should be good!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 48
    As of March 8th, 2015, rovo89 has updated the Xposed framework to Alpha 2, removing the need to have SELinux set to permissive.

    So me and a few other guys over in the Xposed Thread were having issues getting our Nexus 6 devices to run the new Xposed Alpha properly. It kept throwing out errors that Xposed wasn't installed and modules didn't work. After a bunch of trial and error, we figured out how to make it work (at least for us)! So if you're having similar issues, try this workaround until Xposed is updated to fix this (although it may be a Nexus 6 error only).

    Note: Make sure you already have Xposed installed. http://xdaforums.com/xposed/official-xposed-lollipop-t3030118

    Here's a list of which modules are working or not working for some people.
    Although these modules have been reported to be functional for some users, the modules may behave differently on our device.

    Method 1

    1. Make sure SELinux is set to Permissive. You can set it to permissive using this root app, if your kernel isn't permissive by default. https://play.google.com/store/apps/details?id=com.mrbimc.selinux

    2. When rebooting into your system after setting SELinux to permissive, enable the Xposed modules that you want.

    3. From inside the Xposed app, perform a soft reboot.

    4. When the device fully boots up, Xposed should now be fully working. If you still have issues, converting Xposed to a system app might help.

    Method 2 Thanks to skaforey

    1. Download this script from post #65

    2. Extract the file to the root of your sdcard.

    3. Using a Terminal Emulator, type the following commands:
    Code:
    su
    cd /sdcard/
    sh initd.sh

    4. Reboot and Xposed should now be working without a soft reboot needed.

    Method 3

    1. Flash one of the these zips, which does the same thing as Method 2, but easier! Thanks to both 4got and rootSU

    Both files do the same thing

    Zip 1 (by 4got)

    Zip 2 (by rootSU)

    2. Everything should be fully working now!

    Not all ROM/Kernel configurations support init.d scripts!

    Method 4

    1. Use a kernel that's been set to permissive by default. Please don't bother/annoy devs to make their kernels permissive.

    Here's a version of LeanKernel modified by Imoseyon to be permissive be default.

    LeanKernel (Permissive)

    2. Everything should be working. Flashing another kernel will disable Xposed again, unless the kernel is permissive or you fallback on other methods.

    Method 5 Thanks to flar2 and shivindera.

    Required SuperSU to be installed.

    This method differs from Method 3 because the script to set SELinux to permissive is located in /system/su.d (instead of init.d) and allows for compability with more ROM/Kernel configurations. This post by flar2 will better explain what this script does.

    1. Flash this zip by shivindera.

    2. Everything should be working :)

    Note: For advanced users who already have files in /system/su.d/ please remove the "delete" line from the updater-script so as to not lose any of your already pre-existing files.

    Please post here if it worked for you. So far for us over at the Xposed thread, it seems to have worked. Thanks guys! Enjoy your modules!
    42
    So I ran the init script and I installed some modules, but had to soft reboot to get them to show the framework has been installed.

    They all work great but every time I do a regular reboot I also have to go back in and soft reboot. Anyone else have to do this?

    Why still using ini.td? Init.d needs a lot of stuff to fall into place in order to work.

    Do the following and all permissive problems are solved (even on stock kernel):

    1. Install SuperSU

    2. Type this in terminal or adb shellt:
    Code:
    su
    mount -o remount,rw /system
    mkdir /system/su.d
    echo "#!/system/bin/sh" > /system/su.d/permissive.sh
    echo "echo 0 > /sys/fs/selinux/enforce" >> /system/su.d/permissive.sh
    chmod 755 > /system/su.d/permissive.sh

    3. reboot into a permissive system
    15
    Working!!!

    For all those who have Super SU. :cool:

    Flash the attached zip to make the kernel permissive no matter which kernel it is. :victory::victory::victory:
    It uses the SuperSU's concept that after daemon is ready to go, all executables in the /system/su.d/ directory are executed. So no need for soft reboots.

    OP ( @bmg1001 ) please add this to the 1st post so that other people can also benefit from it.:angel:

    Mentions:
    Thanks @flar2 for the method and @rootSU for the informative posts. I just packaged it into a flashable zip file which everybody can use.:highfive:

    Edit 1: For advanced users who already have files in /system/su.d/ please remove the "delete" line from the updater-script so as to not lose any of your already pre-existing files.
    11
    Although it seems I'm too late, here is my flashable zip anyway. I didn't go for running the shell script, just a more tangible brute force type thing.

    For anyone that this isn't working for, it could be related to not having init.d working properly. The scripts in this zip attempt to make init.d work but they are not infallible. To check if init.d is working, reboot twice and check /data/Test.log. if it doesn't exist, init.d is not working.
    9
    Why still using ini.td? Init.d needs a lot of stuff to fall into place in order to work.

    Do the following and all permissive problems are solved (even on stock kernel):

    1. Install SuperSU

    2. Type this in terminal or adb shellt:
    Code:
    su
    mount -o remount,rw /system
    mkdir /system/su.d
    echo "#!/system/bin/sh" > /system/su.d/permissive.sh
    echo "echo 0 > /sys/fs/selinux/enforce" >> /system/su.d/permissive.sh
    chmod 755 > /system/su.d/permissive.sh

    3. reboot into a permissive system


    I noticed a mistake in one of the lines. It should be:

    Code:
    chmod 755  /system/su.d/permissive.sh


    Anyway, all you need to do is make a file called /system/su.d/permissive.sh and add "setenforce 0" or "echo 0 > /sys/fs/selinux/enforce" inside, make it executable, and it will work.