GANAR HASTA 100MB DE ESPACIO LIBRE EN LA MEMORIA INTERNA DEL MOTOROLA SPICE XT531

Bueno he tenido muy abandonado mi blog, la ultima entrada fue hace mas de 2 años y en el transcurso de este tiempo he aprendido muchas cosas y cambiado otras, abandone ubuntu para pasar a debian testing aunque aun tengo ubuntu lucid en el trabajo, cambie kde por lxde me entro la onda minimalista y estoy casi obsesionado con que mi equipo consuma la menor cantidad de recursos disponible, he aprendido a programar en java y estoy muy encarretado con JavaEE usando JBoss y progamando con NetBeans asi que espero revivir el blog posteando articulos que les sean de ayuda.

Bueno basta de mi, vamos al motivo de esta entrada, me compre un Motorola Spice XT531 con android 2.3.5 Gingerbread, estoy muy satisfecho con este celular, tiene una exelente relacion costo-prestaciones, procesador AMRv6 a 800mhz, Memoria ram de 512mb, pantalla capacitiva, 3g, wifi; pero tiene un pequeño problema la memoria rom de almacenamiento interno es de solo 180mb asi que instalas 3 o 4 aplicaciones y eso es todo ni hablar de los juegos.

Se puede usar Link2sd de hecho yo lo hice pero despues de un tiempo descubrí que el problema seguia al instalar muchas aplicaciones ademas cuando reiniciaba el teléfono se demoraba una eternidad, salia un letrero de memoria insuficiente que no me dejaba usar el teléfono hasta que Link2sd enlazara aplicación por aplicación así que buscando en internet y usando mis conocimientos en linux encontre una solucion que me ha dejado al rededor de 100mb libres de memoria interna y las aplicaciones se instalan en la sd, he instalado mas de 25 aplicaciones y la memoria interna esta en unos 95mb libres.

DISCLAIMER:
NO ME HAGO RESPONSABLE POR EL RESULTADO DE SEGUIR ESTE TUTORIAL SI LO VAS A HACER ES BAJO TU PROPIA RESPONSABILIDAD Y TOMANDO EL RIESGO DE QUE ALGO SALGA MAL Y TU TELÉFONO QUEDE COMO UN LINDO PISAPAPELES, ESTE TUTORIAL HA SIDO PROBADO SOLO CON EL TELÉFONO MOTOROLA XT531 CORRIENDO ANDROID 2.3.5 GINGERBREAD Y CON LA ROM DE FABRICA DE CLARO, FAVOR DE NO REALIZAR CON OTROS TELÉFONOS Y OTRAS ROMS A MENOS QUE SEPAS REALMENTE LO QUE ESTAS HACIENDO.

NOTA: Para hacer la entrada corta voy a omitir procedimientos que son muy conocidos.

Que se necesita?:

* Telefono rooteado

* Instalar en el telefono (Estan en Google Play)

-Android Terminal Emulator
-BusyBox

* Tarjeta sd con 2 particiones, los que usen Link2sd el procedimiento es el mismo para crear las 2 particiones así que no lo voy a describir aquí, el sistema de archivos para la particion donde se instalaran las aplicaciones debe ser EXTx solo lo he probado con EXT2 pero pueden intentar con EXT3, yo le deje 1gb a la segunda partición aunque algunos recomiendan que solo 512mb  seria mas que suficiente, lo dejo a criterio de ustedes; recomiendo una tarjeta sd clase 6 u 8 aunque la mía es clase 4 pero no se como se vaya a comportar cuanto tenga muchas aplicaciones instaladas, es mejor la seguridad que la policía.

* Conocimientos intermedios del uso del terminal en linux.

Manos a la obra:

Lo mejor para empezar es hacer un factory reset desde el menú recovery del celular (Para entrar al menu recovery con el telefono apagado precionar los botones del volumen y el boton power el tiempo). Después de hacer el factory reset instalar el Android Terminal Emulator y el BusyBox.

Crearemos los scripts de arranque que son los encargados de montar la segunda particion, con un editor de texto en el pc para que sea mas comodo creamos un archivo con el siguiente contenido:

#!/system/bin/sh
/system/etc/init-sd2.sh&

a este archivo lo llamaremos install-recovery.sh

Creamos un nuevo archivo con el siguiente contenido:

#!/system/bin/sh
MYLOG=/data/install-recovery.log
echo "$(date) Starting install-recovery.sh" > $MYLOG
echo "$(date) Waiting SD to become ready..." >> $MYLOG
sleep 10
mount -t ext2 -o rw /dev/block/mmcblk0p2 /system/sd 1>>$MYLOG 2>>$MYLOG
mount -o bind /system/sd/app /data/app 1>>$MYLOG 2>>$MYLOG
mount >> $MYLOG
echo "$(date) Finishing install-recovery.sh" >> $MYLOG

este lo guardaremos como init-sd2.sh

Una vez creados estos archivos los copiamos en la sd, los usaremos mas adelante

Entrar al Terminal Emulator y convertirse en root:
$ su #

buscamos en que particion se encuentra /system usamos el comando mount:
#mount

les debe aparecer una lista de todas las particiones montadas, busquen la siguiente linea:
/dev/block/mtdblock8 /system yaffs rw,realtime 0 0

deben fijarse en la particion, el comando mount nos muestra que /system esta en la particion /dev/block/mtdblock8 si a ustedes les aparace una particion diferente (aunque dudo mucho que les pase) deben cambiar la particion cuando la vayan a remontar.

remontamos /system en modo lectura-escritura
# mount -o remount,rw /dev/block/mtdblock8 /system

si la partición que les apareció a ustedes con el comando mount es diferente por ejemplo /dev/block/mtdblock4 entonces se remontaría de la siguiente manera
# mount -o remount,rw /dev/block/mtdblock4 /system
pero no creo que la partición cambie de un xt531 a otro

creamos es directorios /system/sd donde se montara la segunda partición de la sd:

#mkdir /system/sd

Montamos la segunda partición de la sd donde se van a instalar las aplicaciones que descargamos:

#mount -t ext2 -o rw /dev/block/mmcblk0p2 /system/sd
#

si no les sale ningún mensaje es por que la partición se monto sin ningún problema

Creamos el directorio donde se instalar las aplicaciones y cambiamos su propietario y su grupo:

#mkdir /system/sd/app
#chown system.system /system/sd/app

Nos vamos al directorio /data:

#cd /data

Copiamos el contenido del directorio /data/app en /system/sd/app y le cambiamos el propietario y el grupo

#busybox cp /data/app/* /system/sd/app/
#chown system.system /system/sd/app/*

Cambiamos el nombre de del directorio /data/app a /data/app.old

#mv /data/app /data/app.old

Copiamos los scripts que creamos y que tenemos guardados en la sd:

#busybox cp /mnt/sdcard/install-recovery.sh /system/etc/
#busybox cp /mnt/sdcard/init-sd2.sh /system/etc/

esto suponiendo que guardaron los scripts directamente en la sd y no dentro de una carpeta si los guardaron dentro de una carpeta la agregan dentro de la ruta por ejemplo:

#busybox cp /mnt/sdcard/nombre-carpeta/install-recovery.sh /system/etc/
#busybox cp /mnt/sdcard/nombre-carpeta/init-sd2.sh /system/etc/

reiniciamos el teléfono una vez haya encendido verificamos que tanto el BusyBox como el Android Terminal Emulator sigan instalados si es así ya tenemos la mitad del camino pues ya el directorio donde se instalan las aplicaciones esta montado en nuestra sd dejando libre la memoria interna.

Ahora vamos a enlazar el dalvik-cache a la sd.

Abrimos el Android Terminal Emulator y nos convertimos en root:

$su
#

Creamos el directorio dalvik-cache en la segunda partición de nuestra sd y le cambiamos el propietario y el grupo ya no tenemos que montar la partición por que los scripts la montan al encender el teléfono:

#mkdir /system/sd/dalvik-cache
#chown system.system /system/sd/dalvik-cache

Nos vamos al directorio /data:

#cd /data

Copiamos el contenido de /data/dalvik-cache a /system/sd/dalvik-cache y cambiamos su propietario y su grupo

#busybox cp /data/dalvik-cache/* /system/sd/dalvik-cache/
#chown system.system /system/sd/dalvik-cache/*

Cambiamos el nombre de el directorio /data/dalvik-cache a /data/dalvik-cache.old

#mv /data/dalvik-cache /data/dalvik-cache.old

Creamos un enlaze simbolico al directorio /system/sd/dalvik-cache:

#ln -s /system/sd/dalvik-cache /data/dalvik-cache

Reiniciamos el teléfono una vez encendido probamos instalando cualquier aplicación desde google play si instala sin problemas y la aplicación funciona sin problemas hemos terminado pero aun no hemos liberado el espacio que el teléfono de usaba antes se acuerdan de los directorios app.old y dalvik-cache.old pues los eliminamos abrimos el Android Terminal Emulator:

$su
#busybox rm -rf /data/app.old
#busybox rm -rf /data/dalvik-cache.old

y es todo si consultamos el espacio libre de aplicaciones desde el administrador de aplicaciones nos encontraremos con la grata sorpresa de que tenemos mas de 100mb libres ademas las aplicaciones se instalaran directamente en la sd y el dalvik-cache también estará en la sd así que cuando instalen aplicaciones nuevas apenas se usara una pequeñísima parte de la memoria interna ahh y otra ventaja que descubrí es que si haces un factory reset no pierdes las aplicaciones que hayas instalado, se pierden sus configuraciones pero las aplicaciones seguirán instaladas.

Por ultimo como un complemento recomiendo instalar la aplicación Limpiar Cache para limpiar el cache de las aplicaciones de vez en cuando y así liberar mas memoria interna

El objetivo final seria que no se usara la memoria interna para nada pero para eso hay que enlazar el directorio de datos de las aplicaciones /data/data lo hice pero el sistema se volvió inestable, las aplicaciones se cerraban solas y cuando reinicie el teléfono la tarjeta sd no se monto entonces mejor desistí si se pudiera lograr seria la panacea de pronto sea por que mi tarjeta sd es clase 4 con una clase 6, 8 o 10 pueda que funcione pero eso se lo dejo al que tenga una tarjeta de esas y quiera experimentar.

Bueno eso es todo espero que les haya sido de ayuda y si tienen cualquier duda estaré pendiente de los comentarios.

29 comentarios en “GANAR HASTA 100MB DE ESPACIO LIBRE EN LA MEMORIA INTERNA DEL MOTOROLA SPICE XT531

  1. Saludos Ely perdón por no responder antes estaba algo ocupado con cosas del trabajo, respecto a tu pregunta hacer el factory reset es lo mas recomendando aunque no obligatorio igual puedes sacarle copia de seguridad a tus aplicaciones con el titanium backup realizar el procedimiento y restaurar tus aplicaciones.

    1. Ya me salio la verdad sos un genio ahora si me gusta el celu tengo mas de 28 aplicaciones y mas de 100 mb libres en la interna je mil gracias

  2. supon que no quiero hacer el factory reset…que pasaria con mis aplicaciones? (notese que tengo link2sd y paulatinamente me estoy quedando sin espacio pese a que uso esta apps)
    las aplicaciones ya instaladas se pasarian a la sd con tu metodo? o que les pasaria?….

  3. Buenos dias, esta bien explicado tu post sigo todos los pasos pero cuando llego hasta donde cambias el nombre de /data/app a /data/app.old

    sigo el otro paso reinicio el cel y ya no estan el emulador ni busybox lo intente varias veces y no me sale. cabe aclarar que estoy probando con otra rooms no es la original.

    Tuve un problema antes de conocer este post, se me clavo y tuve que flasharlo y le puse una rooms de claro.

    Si es posible me pasarias una room, que si ande con busybox o el codigo de la room para buscarla en internet, pienso que por ahi viene el problema. te agradezco, sdos

    1. Ariel, pudiste lograrlo, yo tambien llegué al REINICIO del equipo y los apk instalados ya no estan! Espero que Alex nos pueda ayudar.

      1. Saludos Marcelo

        Lo único que se me ocurre es que no hayas copiado los scripts de inicio, el install-recovery.sh y el init-sd2.sh recuerda que deben de ir en /system/etc/, si los copiaste revisa que este bien hechos repasa las lineas que estén igual como las puse en el post y por ultimo debes revisar que la segunda partición que le hicimos a la sd para instalar las aplicaciones este correctamente montada.

        No dudes en preguntar si tienes otra duda depronto me demoro en responder pero seguro lo hago.

  4. Hola! Voy a hacer lo que has dicho… pero quisiera preguntarte si conoces de alguna rom que funcione para este cel.. tipo cyamogen….

  5. Un par de consultillas como le hago roor mi versión android es 2.3.5 gingerbread

    La otra como instalar la room ics jelly bean 4.1.1

    Ó es que tengo que hacerle root?

  6. Solo puedo llegar hasta donde dice «Copiamos el contenido del directorio /data/app en /system/sd/app y le cambiamos el propietario y el grupo

    #busybox cp /data/app/* /system/sd/app/»

    Y en la consola me sale «busybox: not found»

    y busybox lo tengo instalado… que hago?

    de antemano, gracias!

    1. Hola eduardo

      ya ejecutaste Busybox???, recuerda despues de instalar busybox tienes que ejecutarlo y dentro de busybox hay una opcion de instalar que es la verdadera instalacion te explico:

      Cuando instalas busybox desde el play store lo que estas haciendo es instalar (valga la redundancia) el instalador el cual debes ejecutar para realizar la verdadera instalacion.

      Recuerda que el telefono debe estar rooteado.

  7. Hola amigaso tengo todo los requisitos que pones pero la verdad no tengo ni idea de como comenzar ah hacer los pasos y no quisiera desgraciar mi móvil…ojala pudieras hacer un vídeo y colgarlo en youtube todos los que tenemos este modelo seriamos los beneficiados ya que compartimos el problema de la escasa memoria. muchisimas gracias de antemano 🙂

    1. Saludos Miguel

      Lo siento Miguel pero ya cambie de celular ahora tengo un Samsung S3 Mini me gustaría hacer el vídeo pero ya no tengo le XT531 y me queda imposible.

  8. Buen tutorial. Aunque en mi caso tengo un huawei ascend y200 rooteado y con una tarjeta externa particionada yo movi estas carpetas a la particion sdext2. Con el root explorer mueven ambas carpetas (yo solo lo hice con la dalvik-cache — es mas q suficiente) a sdext2m luego presionando sobre las mismas nos da la opcion de crear yn link q lo hacemos en la carpeta de origen (/data) eso es todo. PD. solo queda reiniciar su telefono (en mi caso lo hago 2 veces) esperamos un minutos a que se linken y listo. tambien les recomiendo instalar link2sd para mover las aplicaciones

  9. Buenas disculpen la joda pero he intentado unas cuantas veces y no me sale llego hasta reiniciar el telefono y cuando lo vuelvo a encender ya no tengo ninguna de las apps instaladas y hasta el google play se me des instala la verdad no tengo idea si he hecho bien los scripts o si esta bien montada la segunda particion si me podrian ayudar les agradesco mucho o si me pudieran pasar los archivos scripts

  10. a mi me pasó lo mismo, se me desintala todo, al final lo que he hecho es rootear el telefono, instalar «link2app» con esta aplicacion muevo algunas a la sd, y además hay que ponerle opción «enlazar» o algo asi, lo que pasa con esto es que al enlazar la aplicación le estamos diciendo que ocupe la memoria sd como memoria ram, y por ahi se me ha solucionado el problemita…. las aplicaciones de sistema solo las enlazo a la sd, no las copio ya que ahi queda la escoba, en cambio las que no son de sistema si las copio completas a la sd y a su vez las enlazo….

  11. mmmm bastencomplejo de seguir pero se complica cuando me dices q hay q rotearlo ahun no he podido con el mio com rootearo esaria feliz

    1. la opcion mas facil para mi es: rootear el telefono y luego instalar «link2app» con este programa además de trasladar los programas a la memoria externa sd, linkeas el programa con la opción «enlazar», así ocupa parte de la memoria sd para usarlo de memoria temporal (por decirlo de alguna forma) y no consume la memoria interna del telefono..

      para esto además debes formatear la tarjeta en formato fat32 y una parte (yo dejé 1gb) para area de intercambio en formato ext2 o ext3 y listo… resuelto…

  12. PASA Q LA MAYORIA DE OS TUTORIALES NO SON CLAROS A LA HORA DE DARTE UNA MANERA FACIL DE ROOTEAR EL MOTOROLA EN SU VERSION 2.3.5 DEL SPICEXT531 ALGUIEN SABE UN MODO Q SEA SENSILLO DE SEGUIR? PARA ROOTEARRLO’?

    1. buenas, descubri que mi problema es que no esta funcionando el scrip init-sd2.sh ya que cuando reinicia no monta la particion ext2 pero segun reviso el scrip esta bien! asi q no entiendo!

  13. AMIGAZO INCREIBLE POST TE AGRADECERIA MUCHO SI E AGREGAS FB.COM /YOUSHADOW PARA ACLARAR UNA PARTE DEL PROCEDIMIENTO, QUE SERIA CUANDO DICES : Entrar al Terminal Emulator y convertirse en root:
    $ su #

    buscamos en que particion se encuentra /system usamos el comando mount:
    #mount

    les debe aparecer una lista de todas las particiones montadas, busquen la siguiente linea:
    /dev/block/mtdblock8 /system yaffs rw,realtime 0 0

    SINCERAMENTE NO ENTIENDO QUE QUIERES DECIR CON ESTO ..

  14. disculpen tal vez estoy retrasado pero hasta hoy vi el post lo que pasa es que todo va bien excepto que al cpiar dalvik cache a la system/sd no tengo el espacio suficiente para realizarlo y al reiniciar el telefono me ingnora el enlace simbolico y lo crea en en sistema no en la tarjeta que hago uso otra direccion como mnt/obb que tiene mas espacio libre que system/ ayuda por favor? gracias de antemano

Replica a Ely Cancelar la respuesta