Parece que mi dispositivo no es compatible con init.d, pero tengo un montón de archivos init.*. ¿Puedo usar el mismo enfoque de alguna manera?

-rwxr-x---    1 root     root          3265 Jan  1  1970 init.class_main.sh
-rwxr-x---    1 root     root          1730 Jan  1  1970 init.mdm.sh
-rwxr-x---    1 root     root          3347 Jan  1  1970 init.mmi.boot.sh
-rwxr-x---    1 root     root           325 Jan  1  1970 init.mmi.dtv.sh
-rwxr-x---    1 root     root           562 Jan  1  1970 init.mmi.early_boot.sh
-rwxr-x---    1 root     root          6341 Jan  1  1970 init.mmi.touch.sh
-rwxr-x---    1 root     root          8592 Jan  1  1970 init.mmi.usb.sh
-rwxr-x---    1 root     root          7054 Jan  1  1970 init.qcom.class_core.sh
-rwxr-x---    1 root     root          6920 Jan  1  1970 init.qcom.early_boot.sh
-rwxr-x---    1 root     root          6987 Jan  1  1970 init.qcom.sh
-rwxr-x---    1 root     root          2962 Jan  1  1970 init.qcom.syspart_fixup.sh
-rwxr-x---    1 root     root          2844 Jan  1  1970 init.rc
-rwxr-x---    1 root     root          1327 Jan  1  1970 init.recovery.usb.rc
-rwxr-x---    1 root     root           683 Jan  1  1970 init.surnia.sh

Estos son todos los archivos que comienzan con init.* en mi /partición. En /system/etctengo algunos también:

-rw-r--r--    1 root     root          2767 Mar 26  2015 init.ath3k.bt.sh
-rw-r--r--    1 root     root          1773 Mar 26  2015 init.crda.sh
-rw-r--r--    1 root     root          4987 Mar 26  2015 init.qcom.audio.sh
-rw-r--r--    1 root     root          9938 Mar 26  2015 init.qcom.bt.sh
-rw-r--r--    1 root     root          3651 Mar 26  2015 init.qcom.coex.sh
-rw-r--r--    1 root     root          3791 Mar 26  2015 init.qcom.debug.sh
-rw-r--r--    1 root     root          1725 Mar 26  2015 init.qcom.efs.sync.sh
-rw-r--r--    1 root     root          3083 Mar 26  2015 init.qcom.fm.sh
-rw-r--r--    1 root     root          4023 Mar 26  2015 init.qcom.modem_links.sh
-rw-r--r--    1 root     root         54877 Mar 26  2015 init.qcom.post_boot.sh
-rw-r--r--    1 root     root          2767 Mar 26  2015 init.qcom.sdio.sh
-rw-r--r--    1 root     root         19105 Mar 26  2015 init.qcom.wifi.sh

¿Son similares a la función init.d? ¿Cómo puedo verificar si estos init.* se ejecutan en el arranque? Si es así, ¿cómo puedo usar esta estructura para agregar un script personalizado para ejecutar en el arranque?

Probablemente no puedas. El hecho de que los archivos lleven initsus nombres no significa que el dispositivo los admita init.d; si lo hiciera, preferirían estar en ellos /system/etc/init.dy no tenerlos initen sus nombres. Si desea init.dsoporte en un dispositivo que no lo tiene, consulte mi lista de aplicaciones init.d :)
Si no recuerdo mal, solo se ejecuta init.rc en el arranque. Creo que, al investigar más a fondo la sintaxis, podría crear un archivo similar, en la misma ubicación, que deberá incluir el init.rc. Tenga en cuenta que nunca probé lo que dije.
Hice una prueba rápida. Lo que hice fue crear un pequeño archivo ( init.dms.rc ), que estaba destinado a crear un archivo de texto en blanco en /data usando touch . Luego incluí el archivo en el init.rc principal , con la sintaxis /include /init.dms.rc . Después del reinicio, no solo no se creó el archivo en blanco, sino que todas mis modificaciones (la inclusión en init.rc y el init.dms.rc completo ) se revirtieron.

Respuestas (1)

No hay una "manera fácil" en mi escenario. Mi búsqueda encontró hasta ahora muchas opciones:

Relacionado: ¿Cómo puedo ejecutar un script en el arranque?

http://forum.xda-developers.com/showthread.php?t=2287540

http://iamcmotc.blogspot.com.br/2015/04/android-how-to-run-script-or-system.html

Reempaquetado de imágenes de arranque para agregar scripts personalizados: http://forum.xda-developers.com/showthread.php?t=443994

Proceso de arranque: http://bootloader.wikidot.com/linux:boot:android

La forma más sencilla es usar un APK para emular init.d: ​​https://github.com/Androguide/Universal-init.d o https://github.com/Grarak/KernelAdiutor