Solución:
Mientras miraba alrededor de mi sistema de archivos de Android, descubrí que sí, de hecho, tenía un /etc/init.d/
directorio. Después de mirar por ahí, encontré /etc/init.d/20userinit
con las siguientes líneas:
if [ -e /data/local/userinit.sh ];
then
log -p -i -t userinit "Executing /data/local/userinit.sh";
busybux chmod +x /data/local/userinit.sh;
logwrapper /system/bin/sh /data/local/userinit.sh;
setprop cm.userinit.active 1;
fi;
Este siendo, por supuesto, exactamente lo que necesitaba, escribí el siguiente script en mi computadora y luego lo empujé a mi dispositivo:
#!/system/bin/sh
dropbear -s -g
(empujado al dispositivo a través de scp userinit.sh phone:/data/local/userinit.sh
, eso sí:])
Reinició el dispositivo, luego ejecutó ps | grep "[d]ropbear"
y, efectivamente, se está ejecutando. ¡Frescura!
/data/init.sh
se ejecuta en el arranque, si tiene root, puede editarlo como desee. Ten cuidado 😉
Editar: Aparentemente, es posible que también deba calzar el script editado en la imagen de arranque. Información sobre cómo hacerlo aquí: http://forum.xda-developers.com/showthread.php?t=443994
Mirar hacia /etc/
directorio. Normalmente se coloca en /system/
partición que puede montar como RW:
$ ls -l /etc
lrwxrwxrwx 1 root root 11 Jan 1 2009 /etc -> /system/etc
$ su
$ mount -o remount,rw /system
$ chmod o+w /system/etc # for "adb push"
Algunos de los pasos anteriores pueden reemplazarse por:
$ adb root
$ adb remount
y luego remontar RO:
$ chmod o-w /system/etc
$ mount -o remount,ro /system
Ahora tu tarea es encontrar ejecutables o *rc
archivo que modifica para lograr su objetivo:
$ find /etc -type f -perm +110
$ find /etc -name "*rc"
$ find /etc -name "init*"
$ grep -R /data /etc
$ grep -R /system /etc
Busque en Google sobre cada candidato para saber cómo se utilizó este archivo.
Un buen candidato para incluir scripts personalizados son las líneas de:
$ grep service /init*.rc
Como cada dispositivo es único, es posible que deba realizar sus propias suposiciones sobre los criterios de búsqueda …
Por ejemplo encontré /etc/mkshrc
que utiliza Korn shell. Actualizo este archivo para extender PATH
env var y ahora cada vez que lo hago adb shell
¡Tengo enlaces simbólicos de Busybox en mi RUTA!
Ver también manera difícil (si no tienes suerte encontrando magia archivo): https://stackoverflow.com/questions/9768103/make-persistent-changes-to-init-rc