[MOD][APK+SCRIPT+ZIP] Enable Init.d for Any Phones w/o Need of Custom Kernels!!!

Search This thread

kaizokan

Senior Member
Apr 18, 2012
505
169
Yo, I installed Uni-unit but when I click on activate/verify It wants open store to install Superuser but i'm already rooted ( I got SuperSU2.79, busybox etc....)
I got a Honor 8 with stock rom Nougat

Did you manage to get it working? and how?
EDIT: never mind. I now used the terminal method. no test.log yet.
 
Last edited:

landcruser

Member
May 8, 2016
13
0
i have huawei mate9 with Android version 7.0,try every method and not working also follow the advices so i have to post the screenshot..
and the contents of /etc/install-recovery.sh as follow
#!/system/bin/sh
# init.d support

/system/bin/sysinit


any ideas?thanks

dc63db98999576a431fa9b0fd702eb7b.jpg


通过我的 MHA-AL00 上的 Tapatalk发言
 

post-mortem

Senior Member
Oct 4, 2012
2,156
775
i have huawei mate9 with Android version 7.0,try every method and not working also follow the advices so i have to post the screenshot..
and the contents of /etc/install-recovery.sh as follow
#!/system/bin/sh
# init.d support

/system/bin/sysinit

any ideas?thanks

If you're running Android 7.0, you don't need this. As the first 2 lines of the output in your screenshot show, you should already have native init.d support.
 

Medeon

Senior Member
Dec 26, 2017
107
23
Dordrecht
Ryuinferno; said:
- /system/etc/install-recovery.sh (rwxr-xr-x) [owner: root (0), group: root (0)]
Initially my Sony Xperia m5 smartphone running android 6.0 didn't suport init.d so I had to manually add the folder in the /etc folder. Followed all the nessecery steps including chance file permissions. I have got a recent version of busybox by Osm0sis installed which includes the run-parts applet (for a full overview of applets see screenshot I added). Finally got init.d support by installing the app and when I verified wheter it was installed correctly it confirmed me Init.d now was supported on my device. However when checking the test.log file I didn't find it in the /data folder (nor anywhere). So I decided to check the troubleshooting guide and finally found out that al the files are there with the right permissions, except from the install-recovery.sh Where did it go wrong? Could you help me out? I'd really appreciate that.
 

Attachments

  • BB1.png
    BB1.png
    236.8 KB · Views: 385
  • BB2.png
    BB2.png
    250 KB · Views: 378
Last edited:

Medeon

Senior Member
Dec 26, 2017
107
23
Dordrecht
Actually I overlooked the install-recovery.sh file (I was looking for it in the init.d folder:eek:). I added 'busybox' to the lines since it was the only missing word in the program file. Still no test.log file in the /data folder.:( However something strange occured to me when I second checked all the files. The sysint file in the system/bin folder would temporarily be present whenever I (re)activate init.d support trough the app. Then after rebooting the device it completely dissapeared as if it never existed inside the system/bin folder (this time I double checked;)). Do you have idea how this could be?
 
Last edited:

Saswata Chakraborty

Senior Member
Jan 6, 2018
2,322
1,515
City Of Joy
Google Pixel 7a
**UPDATE: v3 is out now! Android 4.3 compatible!

**Term-init is also used in Droid Manager!!!**

**Featured in the XDA News Portal: Init.d Support for Any Rooted Phone (Thanks to the_scotsman!)


Hi guys...as stated in the title above, I have created a script to be ran in terminal emulator so that it will enable the support of init.d scripts!!! :D

**Note...this is only for those who do not have init.d support...if you are using custom kernels (cyanogen mod original kernel etc.) that already supports init.d, you shouldn't run this...:)...but if you accidentally ran this, it is ok...won't mess up anything...:D


WdW7A.png

init.d support through terminal emulator!!!​


What is init.d:


But how? :confused:
Concept:
I have recently learnt some linux scripting and was searching for a method to enable init.d scripts support for my phone which has a stock kernel. Inspired by this thread by iridaki, I finally managed to get init.d working in my phone!!! :D However, I thought of the other users who still do not have a proper custom recovery...how are they gonna flash zip packages? And if it has to be done manually, it requires a lot of typing, changing file permissions etc....a very tedious process...

Therefore, I've decided to come up with a script to automate this process!!! *Drum rolls*...lol


Do I have init.d support?:
Well, here is a way to test:
1. Download the file from here: View attachment 1612958
2. Extract the file, you will get a file named 00test. DO NOT flash!
3. Paste it into /etc/init.d. If there is no init.d folder, most probably you DO NOT have init.d support. However, if you still wanna try, just create the folder named "init.d"
4. Change the permissions of the init.d folder and 00test into rwxrwxrwx.
5. Reboot.
6. If you see a file named Test.log in /data, you have init.d support. If not, you will have to run Uni-init, Term-init or Zip-init. ;)



Features:
- Auto checks for required files [v2]
- Utilises install-recovery.sh (if your kernel supports that, but of course, but most do...:)) to enable init.d scripts (busybox run-parts required)
- Will move install-recovery.sh to install-recovery-2.sh if it already exists and call it from the main install-recovery.sh (will not replace install-recovery.sh because certain apps such as Link2SD requires that to work), creates it if it doesn't [v3]
- If Superuser is using install-recovery.sh, will use install-recovery-2.sh instead [v3]
- Creates the init.d folder with correct permissions
- Adds 2 init.d scripts: one for testing (shows time of execution [v2]), another to ensure that the scripts in init.d folder always have the correct permissions
- Adds sysinit in /system/bin, will add the required lines if it already exists. This is for utilising a similar method to enabling init.d in AOSP ROMs



Requirements:
- a rooted phone of course...:p

- busybox with required applets (especially run-parts), if not sure what is this, just install this by Stericson: Link and please reboot after installing before running this script...:)...use "normal install" method, don't use "smart install"...

- terminal emulator such as this: Link



Instructions:
1. Download the file.
2. Place it in the root of your sdcard directory.
3. Launch terminal emulator.
4. Type: su
5. Grant SuperUser access if prompted
6. Type: sh /sdcard/term-init.sh
7. The script will run and follow the instructions! :D As simple as that...

**To check whether init.d is working or not, reboot your phone and navigate to /data...you should find a Test.log in there...If it is present, congrats, you have init.d support! :)



Download:
If you have already read all the instructions and understand them, then click here to download:




Feel free to posts questions below...I will try my best to help...:)...By the way, those who used my script and found that it works, please leave a post here, stating you phone model, android version and ROM...thanks! :) but don't just leave comnents saying 'it doesn't work' etc...give more details and screenshots if possible...:)


Please don't mirror / modify my work, ask for permissions first...;)

Source code & changelog: https://github.com/Ryuinferno/Term-init

So, after placing the file in the root of sdcard directory, I typed sh /sdcard/term-init.sh and guess what, it said no file or directory found. Then i used my brain and typed sh /root/term-init.sh and it worked. But when I rebooted my device twice and checked /data, no Test.log found. Does it mean my device doesn't support init.d? And if not, will there be any problem since ran the term-init.sh file through terminal emulator? By the way I am using Xiaomi Mi A1 (Nougat 7.1.2) with Magisk root.
 

jagster936

Member
Apr 2, 2018
24
1
Does this work on android 5.0.1? Verizon s4 PL1 firmware. I’m looking to disable ipv6 permanently by running startup script.
 

alecxs

Forum Moderator
Staff member
Feb 17, 2016
5,092
8
5,313
gitlab.com
does not work on Lollipop. because install-recovery.sh is executed with very restrictive selinux context.
– Source: Chainfire Google+
Try to set selinux permissive with SELinuxModeChanger first. Then try to install init.d

edit: app is no longer available on google play, is this project discontinued? May I suggest flashable Kernel init.d Support Injector - the author @osm0sis claims this zip is also signed, so could potentially be used with stock recovery on a locked bootloader.
 
Last edited:

osm0sis

Senior Recognized Developer / Contributor
Mar 14, 2012
16,767
40,432
Halifax
GT-i9250
Google Nexus 4
does not work on Lollipop. because install-recovery.sh is executed with very restrictive selinux context.
– Source: Chainfire Google+
Try to set selinux permissive with SELinuxModeChanger first. Then try to install init.d

edit: app is no longer available on google play, is this project discontinued? May I suggest flashable Kernel init.d Support Injector - the author @osm0sis claims this zip is also signed, so could potentially be used with stock recovery on a locked bootloader.

You're better off using su.d (SuperSU) or post-fs-data.d (Magisk) than trying to get init.d to work.
 

kblade29m

Member
Aug 3, 2012
21
8
Getting error "Read-only file system" when the script try to copy the sysinit and install-recovery.sh. For some unknown reason, the script failed to mount /system as rewritable due to "Device is busy".
Manually run -- "mount -o rw,remount /system" in adb shell.
Re-run the script "sh term-init.sh"
All executed properly.
The script seem to work fine.
Thanks.
 

ranchu-panchu

Senior Member
Nov 16, 2016
144
4
Hello,
Is there a way to start the init script a bit earlier ? I see that UI starts before my scripts, but I need the script to start before UI.

Is there a way I can make it earlier ? Or do I need to find other method ?

Thank you very much for the init.d tool, it's very good.

ranran
 

HemanthJabalpuri

Recognized Contributor
hi..

My device successfully supports init.d...
Android v4.4.2 Device SamsungGalaxy S4 Mini GT-I9192(serranodsdd) ..ROM stock touchwiz...

I have a doubt..
When i enabled init.d through app the sysinit script is
Code:
#!/system/bin/sh
# Init.d support
# Ryuinferno @ XDA 2012

export PATH=/sbin:/system/sbin:/system/bin:/system/xbin
/system/bin/logwrapper run-parts /system/etc/init.d

and when I use term init script then the sysinit script is
Code:
#!/system/bin/sh
# init.d support

export PATH=/sbin:/system/sbin:/system/bin:/system/xbin
run-parts /system/etc/init.d

Which is better?
What is the additional use of that /system/bin/logwrapper ?
 

站住那逗比

New member
Nov 22, 2016
1
0
Hello. :)

My Android TV box(GF-WM28H, Android 4.4.2) successfully supports init.d through your script file, thanks!

(This box is a deep customization Android, can just use system app, but leave a usb cable can use adb directly connect. Use this script to auto open network adb connection port ((which dropped default

That's all, thanks again!
 

clickmeplz

Member
Sep 9, 2012
19
2
It works with script manager app or if i run sh /etc/install-recovery.sh at emulator.
But i have to run the command in each reboot or keep script manager app and i can not uninstall it.
Is there a better solution?
Device: Mi 4
Rom: Xiaomi eu
Kernel: ZeurionX
 

edzamber

Senior Member
Feb 21, 2012
3,916
3,712
It works with script manager app or if i run sh /etc/install-recovery.sh at emulator.

But i have to run the command in each reboot or keep script manager app and i can not uninstall it.

Is there a better solution?

Device: Mi 4

Rom: Xiaomi eu

Kernel: ZeurionX
Hi

Yes

You need to add init.d support in your Kernel directly.

Ask to your Kernel dev to do it or edit your Kernel ramdisk.

https://mega.nz/#!7lFkjCoL!qliHaAMzFWv2ZT-PNwF9PgyU0U5OG-0NjXpcd-T9sAM
 
  • Like
Reactions: xdarthanonx
D

Deleted member 1890170

Guest
For me Universal Init.d Support doesn't work on Android emulator named MEmu App Player: The message Success.!You have init.d support! simply is a fake.
initd-support.jpg


It's not wondering me because neither init.rc and/or init.<machine_name>.rc - the files that are processed by Android's init at boot - nor any other hereby imported .rc file triggers sysinit.sh and/or install-recovery.sh script.
 
Last edited by a moderator:

Top Liked Posts

  • There are no posts matching your filters.
  • 463
    ** NOT Android 4.3 compatible!!! Term-init is recommended for now!!!

    **Note...this is only for those who do not have init.d support...if you are using custom kernels (cyanogen mod original kernel etc.) that already supports init.d, you shouldn't run this...:)...but if you accidentally ran this, it is ok...won't mess up anything...:D


    2OgMJ.png
    v1.0
    init.d support through an app!!!​


    What is init.d:
    the_scotsman (Moderator Liaison Admin / Moderator Committee / XDA News Writer) said:
    Init.d plays an important role in the world of Android development and customization It allows users to install scripts and mods to be run at boot—everything from battery tweaks to performance tweaks. It essentially opens the door to a world of mods only possible through the Init.d process, which in turn is usually only available on custom kernels.

    But how? :confused:
    Concept:
    I have recently learnt some linux scripting and was searching for a method to enable init.d scripts support for my phone which has a stock kernel. Inspired by this thread by iridaki, I finally managed to get init.d working in my phone!!! :D However, I thought of the other users who still do not have a proper custom recovery...how are they gonna flash zip packages? And if it has to be done manually, it requires a lot of typing, changing file permissions etc....a very tedious process...

    Therefore, I've decided to come up with a script to automate this process!!! *Drum rolls*...lol

    BUT now, with the aid of Androguide.fr (creator of Pimp My ROM), we managed to integrate the script into an app to save the hassle of typing commands in terminal emulator! With just a button click, the commands will be carried out! With just a button click, the app will verify whether is there init.d support or not! :D


    Do I have init.d support?:
    Well, here is a way to test:
    1. Download the file from here: View attachment 1612958
    2. Extract the file, you will get a file named 00test. DO NOT flash!
    3. Paste it into /etc/init.d. If there is no init.d folder, most probably you DO NOT have init.d support. However, if you still wanna try, just create the folder named "init.d"
    4. Change the permissions of the init.d folder and 00test into rwxrwxrwx.
    5. Reboot.
    6. If you see a file named Test.log in /data, you have init.d support. If not, you will have to run Uni-init, Term-init or Zip-init. ;)



    Features:
    - Utilises install-recovery.sh (if your kernel supports that, but of course, but most do...:)) to enable init.d scripts (busybox run-parts required)
    - Will add lines in install-recovery.sh if it already exists (will not replace install-recovery.sh because certain apps such as Link2SD requires that to work), creates it if it doesn't
    - Creates the init.d folder with correct permissions
    - Adds 2 init.d scripts: one for testing (shows time of execution), another to ensure that the scripts in init.d folder always have the correct permissions
    - Adds sysinit in /system/bin, will add the required lines if it already exists
    - Deletes duplicate files and lines to ensure the least of errors



    Requirements:
    - a rooted phone of course...:p

    - busybox with required applets (especially run-parts), if not sure what is this, just install this by Stericson: Link and please reboot after installing before running this script...:)...use "normal install" method, don't use "smart install"...



    Instructions:
    1. Download the apk.
    2. Install the apk like any normal app.
    3. Launch the app.
    4. The rest are pretty self-explanatory...;)
    5. You can uninstall the app after that...

    Screenshots:
    83qRd.png
    rfpyz.png


    **To check whether init.d is really working or not, reboot your phone and navigate to /data...you should find a Test.log in there...If it is present, congrats, you have a WORKING init.d support! :)



    Download:
    If you have already read all the instructions and understand them, then click here to download:





    Credits:
    Thanks to:
    Androguide.fr for the android app base! :D


    Donators (big thank you! :)):
    @bigknowz


    Feel free to posts questions below...I will try my best to help...:)...By the way, those who used the app and found that it works, please leave a post here, stating you phone model, android version and ROM...thanks! :) but don't just leave comnents saying 'it doesn't work' etc...give more details if possible...:)


    Please don't mirror / modify my work, ask for permissions first...;)
    149
    **UPDATE: v3 is out now! Android 4.3 compatible!

    **Term-init is also used in Droid Manager!!!**

    **Featured in the XDA News Portal: Init.d Support for Any Rooted Phone (Thanks to the_scotsman!)


    Hi guys...as stated in the title above, I have created a script to be ran in terminal emulator so that it will enable the support of init.d scripts!!! :D

    **Note...this is only for those who do not have init.d support...if you are using custom kernels (cyanogen mod original kernel etc.) that already supports init.d, you shouldn't run this...:)...but if you accidentally ran this, it is ok...won't mess up anything...:D


    WdW7A.png

    init.d support through terminal emulator!!!​


    What is init.d:
    the_scotsman (Moderator Liaison Admin / Moderator Committee / XDA News Writer) said:
    Init.d plays an important role in the world of Android development and customization It allows users to install scripts and mods to be run at boot—everything from battery tweaks to performance tweaks. It essentially opens the door to a world of mods only possible through the Init.d process, which in turn is usually only available on custom kernels.

    But how? :confused:
    Concept:
    I have recently learnt some linux scripting and was searching for a method to enable init.d scripts support for my phone which has a stock kernel. Inspired by this thread by iridaki, I finally managed to get init.d working in my phone!!! :D However, I thought of the other users who still do not have a proper custom recovery...how are they gonna flash zip packages? And if it has to be done manually, it requires a lot of typing, changing file permissions etc....a very tedious process...

    Therefore, I've decided to come up with a script to automate this process!!! *Drum rolls*...lol


    Do I have init.d support?:
    Well, here is a way to test:
    1. Download the file from here: View attachment test_initd.zip
    2. Extract the file, you will get a file named 00test. DO NOT flash!
    3. Paste it into /etc/init.d. If there is no init.d folder, most probably you DO NOT have init.d support. However, if you still wanna try, just create the folder named "init.d"
    4. Change the permissions of the init.d folder and 00test into rwxrwxrwx.
    5. Reboot.
    6. If you see a file named Test.log in /data, you have init.d support. If not, you will have to run Uni-init, Term-init or Zip-init. ;)



    Features:
    - Auto checks for required files [v2]
    - Utilises install-recovery.sh (if your kernel supports that, but of course, but most do...:)) to enable init.d scripts (busybox run-parts required)
    - Will move install-recovery.sh to install-recovery-2.sh if it already exists and call it from the main install-recovery.sh (will not replace install-recovery.sh because certain apps such as Link2SD requires that to work), creates it if it doesn't [v3]
    - If Superuser is using install-recovery.sh, will use install-recovery-2.sh instead [v3]
    - Creates the init.d folder with correct permissions
    - Adds 2 init.d scripts: one for testing (shows time of execution [v2]), another to ensure that the scripts in init.d folder always have the correct permissions
    - Adds sysinit in /system/bin, will add the required lines if it already exists. This is for utilising a similar method to enabling init.d in AOSP ROMs



    Requirements:
    - a rooted phone of course...:p

    - busybox with required applets (especially run-parts), if not sure what is this, just install this by Stericson: Link and please reboot after installing before running this script...:)...use "normal install" method, don't use "smart install"...

    - terminal emulator such as this: Link



    Instructions:
    1. Download the file.
    2. Place it in the root of your sdcard directory.
    3. Launch terminal emulator.
    4. Type: su
    5. Grant SuperUser access if prompted
    6. Type: sh /sdcard/term-init.sh
    7. The script will run and follow the instructions! :D As simple as that...

    **To check whether init.d is working or not, reboot your phone and navigate to /data...you should find a Test.log in there...If it is present, congrats, you have init.d support! :)



    Download:
    If you have already read all the instructions and understand them, then click here to download:




    Feel free to posts questions below...I will try my best to help...:)...By the way, those who used my script and found that it works, please leave a post here, stating you phone model, android version and ROM...thanks! :) but don't just leave comnents saying 'it doesn't work' etc...give more details and screenshots if possible...:)


    Please don't mirror / modify my work, ask for permissions first...;)

    Source code & changelog: https://github.com/Ryuinferno/Term-init
    59
    ** NOT Android 4.3 compatible!!! Term-init is recommended for now!!!

    **Note...this is only for those who do not have init.d support...if you are using custom kernels (cyanogen mod original kernel etc.) that already supports init.d, you shouldn't run this...:)...but if you accidentally ran this, it is ok...won't mess up anything...:D

    As Term-init does not work for certain people, I have came up with a CWM flashable zip:

    kKjNl.png

    init.d support through CWM!!!


    What is init.d:
    the_scotsman (Moderator Liaison Admin / Moderator Committee / XDA News Writer) said:
    Init.d plays an important role in the world of Android development and customization It allows users to install scripts and mods to be run at boot—everything from battery tweaks to performance tweaks. It essentially opens the door to a world of mods only possible through the Init.d process, which in turn is usually only available on custom kernels.


    Do I have init.d support?:
    Well, here is a way to test:
    1. Download the file from here: test_initd.zip
    2. Extract the file, you will get a file named 00test. DO NOT flash!
    3. Paste it into /etc/init.d. If there is no init.d folder, most probably you DO NOT have init.d support. However, if you still wanna try, just create the folder named "init.d"
    4. Change the permissions of the init.d folder and 00test into rwxrwxrwx.
    5. Reboot.
    6. If you see a file named Test.log in /data, you have init.d support. If not, you will have to run Uni-init, Term-init or Zip-init. ;)



    Features:
    - Utilises install-recovery.sh (if your kernel supports that, but of course, but most do...:)) to enable init.d scripts (busybox run-parts required)
    - Will add lines in install-recovery.sh if it already exists (will not replace install-recovery.sh because certain apps such as Link2SD requires that to work), creates it if it doesn't
    - Creates the init.d folder with correct permissions
    - Adds 2 init.d scripts: one for testing, another to ensure that the scripts in init.d folder always have the correct permissions
    - Adds sysinit in /system/bin, will add the required lines if it already exists
    - Deletes duplicate files and lines to ensure the least of errors



    Requirements:
    - a rooted phone of course...:p

    - busybox with required applets (especially run-parts), if not sure what is this, just install this by Stericson: Link and please reboot after installing before running this script...:)...use "normal install" method, don't use "smart install"...
    - a working CWM custom recovery



    Instructions:
    1. Download the file.
    2. Flash zip-init.zip thorough CWM.
    3. Reboot and you are done! :D

    **If you get a status 0 error in CWM, please replace the update-binary in zip-init.zip with a working update-binary of your phone (just extract it from any CWM zip meant for your phone)...:)

    **To check whether init.d is working or not, reboot your phone and navigate to /data...you should find a Test.log in there...If it is present, congrats, you have init.d support! :)



    Download:
    If you have already read all the instructions and understand them, then click here to download:




    Feel free to posts questions below...I will try my best to help...:)...By the way, those who used my mod and found that it works, please leave a post here, stating you phone model, android version and ROM...thanks! :) but don't just leave comnents saying 'it doesn't work' etc...give more details and screenshots if possible...:)


    Please don't mirror / modify my work, ask for permissions first...;)
    37
    Troubleshooting

    Troubleshooting:
    **CWM might warn something about disable recovery flash when using this mod, it is just a false positive, please DO NOT select yes or else it won't work anymore**

    If you have already applied the script but there is no /data/Test.log, please refer the steps below:
    1. Check whether have you installed busybox properly, especially run-parts. REBOOT after installing, then only apply this script.
    2. If you are using the busybox installer by Stericson, please use "normal installation method", NOT "smart installation method".
    3. Check whether are these files present with the correct permissions (please change if the permissions are wrong):
    - /system/bin/sysint (rwxr-xr-x) [owner: root (0), group: shell (2000)]
    - /system/etc/init.d (rwxrwxrwx) [owner: root (0), group: root (0)]
    - /system/etc/init.d/00test (rwxrwxrwx) [owner: root (0), group: root (0)]
    -/system/etc/init.d/08setperm (rwxrwxrwx) [owner: root (0), group: root (0)]
    - /system/etc/install-recovery.sh (rwxr-xr-x) [owner: root (0), group: root (0)]
    - /system/etc/install-recovery-2.sh (rwxr-xr-x) [owner: root (0), group: root (0)] (may or may not be present)
    4. Check whether you have run-parts installed. Go to /system/xbin, you should be able to find a fine named "run-parts"
    5. Check whether you have these lines in /system/etc/install-recovery.sh (if not, please add them in manually (using Root Explorer or keep the EOL in Unix format...Google about it), remember to leave an EMPTY line at the end of the file)
    Code:
     # init.d support
    busybox run-parts /system/etc/init.d/
    6. If all the above are still not helping, please download this: run-parts.zip and extract it (DO NOT flash it). Place the file named "run-parts" in /system/xbin. Change permissions to rwxrwxrwx, owner to root (o) and group to shell (2000). Reboot and check /data again.
    7. Still fails? Check your /init.rc for any lines containing "install-recovery"...if there are none, this method won't work...so use the Script Manager method.
    8. Use this as a last resort: Download Script Manager from Play Store: Link. Then navigate to /etc/install-recovery.sh, select it and run as root and at boot (select the skull and gear icon).
    9. If all the above are not working, and the "install-recovery" line is present, then please paste the contents of your /etc/install-recovery.sh and /etc/install-recovery-2.sh if present somewhere (like http://pastebin.com and after applying the mod of course) here for me to debug. Take a screenshot of the output after running Term-init and post here, along with your ROM version, android version and name of device.
    7
    @Ryuinferno Hey bro!
    While working on Pimp my Rom's bew beta, I came up with a way to grant init.d support to any device, which happens all on the app side, no need for install-recovery.sh (or any other file) modifications.

    The concept is very simple but it's what makes it powerful and truly universal :

    Using Android's BroadcastReceivers mechanism, the app detects whenever the device is rebooted, and when it does, after the boot is completed, it will execute all the scripts inside /system/etc/init.d automatically.
    I also refined the kernel init.d support testing, it now requires a reboot but will really detect if the user's kernel has init.d support by creating a simple init.d script that creates a file on the sdcard, and after the reboot, the app will check if the file has indeed been generated, if it does, the kernel has init.d support so the app is useless, otherwise, it doesn't.

    Finally, I added options to manage the init.d scripts (edit/delete/run), and will probably soon add an option to select your "init.d" folder (i.e make it so that /sdcard/newinitd is considered as /system/etc/init.d and the app will execute all the scripts in it instead of in the real init.d folder).

    The standalone app is fully open-source, so if you want to fork it/add it here/modify it to your needs, go ahead, it's yours : http://github.com/Androguide/Universal-init.d
    I attached a signed apk to this post.

    Here are a few screenshots :

    framed-initd1.jpg
    framed-initd2.jpg
    framed_initd3.jpg
    framed-initd4.jpg
    framed-initd5.jpg
    framed-initd6.jpg


    Also, I wanted to ask you some help ;
    I could definitely use your bash knowledge for a new project I started, which allows to flash zips without using a recovery, if you got time, please go take a look and tell me if you see any mistake or better bash translations of updater-script commands. (thread here)




    -