
Cita: Originalmente Escrito por
merchupi
Skor, ¿podías implentar esta función también como apk al margen del kernel? Lo digo porque quiero instalársela a la del amigo con su y 5360. Por cierto, porté la rom a ese modelo y aparentemente, solo en el bootloader (con odin) es donde da fallo. El modem, el pit y demás los acepta. ¿Qué opinas?

En cuanto lo termine te puedo pasar los script y lo miramos en el foro de desarrollo de ginger si quieres.
La apk valdría porque se basa en lo mismo.
Pero sin los script y la modificación en el kernel no funcionará.
Así que cuando lo tenga mas o menos listo te digo como lo he terminado, pero mientras podemos hablarlo en el hilo que te comento y sacar concluciones porque ahora mismo estoy peleando con el init.rc...
Te explico así por encima:
gc-settings leerá las opciones del usuario desde la apk y las grabará en la ruta /system/cerecillaconfig.ini
Dentro hay una serie de variables guardadas.
He añadido un par de script en /sbin, esta carpeta pertenece al boot.img, aunque la veamos como parte del arbol de directorios, es una copia de lo que hay en la partición boot y aunque borremos algo, al reiniciar se restauran porque así lo hace el sistema cada vez que arranca.
El primer script es algo complejo... leerá los valores del archivo /system/cerecillaconfig.ini y los cargará como variables propias.
Una vez cargadas esas variables dentro del script ya puede funcionar sabiendo que opciones ha habilitado o deshabilitado el usuario y así sabrá si tiene que montar /data en su lugar original o en la SD-EXT.
El script se encarga de mover datos, borrar la cache, limpiar discos y de montar particiones.
el otro script es para el recovery, para que la tabla de particiones del recovery se modifique de acuerdo al nuevo tipo de montaje decidido por el usuario, porque si no lo hacemos, y entramos al recovery habiendo montado /data en la partición externa de la SD, los backups y las operaciones que hagamos darán lugar a errores graves como el hecho de un formateo en la tarjeta sd (que en realidad sería /data) perdiendo todos los datos del teléfono...
Esto, es un problema que yo he visto muy muy simple de solucionar pero que en XDA veo que se quejan de que haciendo el montaje nativo de /data a /sd-ext se encontraban con el problema de que el recovery ya no hacia bien su trabajo.
Lo único que me falta es ejecutar el script de inicio en init.rc, que se hacerlo como un servicio pero no me interesa porque el script arrancaría en segundo plano mientras que el arranque del sistema sigue en marcha, yoquiero hacerlo como un comando para que el arranque se mantenga en pause hasta que el script termine las tareas y así no se pisen el trabajo el uno al otro.....
Sería algo como exec /sbin/script.sh
Pero no me está funcionando...
La solución para arrancarlo por ahora es conectarlo con el cable y ejecutar el script desde ADB a mano, lo que corrobora que el script está funcionando bién y hace las tareas encomendadas.
Un saludo.
PD: Otras 346 Lineas de código que me he sacado de la manga para hacer esta modificación que estoy frito por probar a fondo.