![]() |
|
ROMs y desarrollo Samsung Galaxy mini Plus s5570i ROMs y desarrollo Samsung Galaxy mini Plus s5570i |
«
Tema Anterior
|
Siguiente tema
»
|
Herramientas |
#1
|
|||||||||||||||
|
|||||||||||||||
Cocinando para el GT-S5570i
Hola a todos, en este tutorial voy a intentar explicar de forma clara y 'rápida' como he ido construyendo la Rom GingerCerecilla.
Solo os pediré que comprendáis una cosa, no me voy a volver loco contestando comentarios sobre Windows, ¿por qué? Principalmente porque no lo uso, no me gusta, no lo apoyo y no lo conozco bien ni se que herramientas se usan en Windows, y además porque ya me lloverán preguntas suficientes para tenerme ocupado ![]() Prólogo:
Requisitos mínimos para empezar Para empezar, como en toda buena receta necesitamos los ingredientes:
Herramientas y útiles que usaremos - Android Kitchen de XDA (Para cocinar la rom, deoxead, firmar, alinear.... vamos, una maravilla de herramienta) - apktool (sin scripts ni historias... Descompila y compila APKs para modificación) md5sum: bb877d467ae906facdaca67568a941b5 - Odin + pit tassve (Este enlace ya lleva un pit modificado, sirve para flahear el teléfono con la versión Stock base) md5sum: 516794fbff8bc7e8769b5406f72abbc3 - Binarios de adb y fastboot (opcional pero muy recomendable, para tener un gran control de tu android desde terminal de Linux) md5sum: 1e501a150be55dcb26755970cc268292 O en su defecto podéis intentar instalarlos desde los repositorios oficiales, pero esto será según disponibilidad en cada distribución Linux.... en las basadas en Debian podemos usar este comando para instalarlos: sudo apt-get install android-tools-adb android-tools-fastboot Os pedirá la contraseña, la introducís (no veréis nada en pantalla) y pulsáis la tecla "ENTER" para confirmar. - update-binary (Para introducir junto al updater-script) - PIT Magic v1.3.10 (Herramienta de Samsung para modificar el archivo PIT) md5sum: 7799b92dea7125b03b2ac23cf1506def - Binario bmlunlock usado durente la instalación de la rom para desbloquear la partición de arranque de nuestro gt-s5570i pop_plus_CWM-Scorpyo82.zip es el CWM modificado por mí porque el original tenía algunos scripts mal. Organización ante todo Para empezar recomiendo encarecidamente organización, así que debéis de crear una carpeta donde tengáis estas otras carpetas: (solo como recomendación...) Si lo usáis como yo os recomiendo, no tendréis problemas a la hora de usar los comandos de la terminal descritos en esta guía puesto que yo me guiaré por la estructura que he recomendado. Recomendación: Usar en la medida de lo posible letras minúsculas, además de usar guiones bajos en lugar de espacios, os ayudará muchas veces a no cometer errores bajo línea de comandos. Jamás uséis tildes para los nombres de carpetas/archivos en Linux si creéis que hay posibilidad de pasar esos archivos a Windows, porque Linux soporta utf-8 con tildes... pero Windows no lo soporta y puedes tener problemas. En vuestra carpeta personal, cread una carpeta que se llame gt-s5570i Dentro crear estas otras carpetas: - roms_originales (Dentro ponéis las roms originales que habéis descargado para usarlas como base) - custom_roms (Dentro ponéis las custom roms que tengáis y que hayáis creado, organizadas por carpetas.... y por versiones, nada de 'cacao maravilláo' que luego pasa lo que pasa) - herramientas (aquí colocáis las herramientas que habéis descargado para tener siempre las originales en caso de que tengáis que reinstalar o compartirlas) - utiles (ponéis cosas que no consideréis herramientas... como chuletas o scripts) - tutoriales (pues eso, si descargáis un tutorial completo como este pues se guarda aquí, o chuletas y apuntes que os valgan para consultas) - cocina (muy importante, en esta carpeta se cocinará la rom, no meter nada dentro hasta que no llegue la hora de cenar.... ![]() Preparación del entorno de trabajo 1.- Para empezar tendremos que descomprimir el zip de la cocina de Android (Android Kitchen de XDA) para poder usarla. Así que solo tenéis que abrir el zip y extraerlo todo a la carpeta "cocina" que habéis creado anteriormente. Obtendréis una estructura básica para trabajar y un Script llamado "menu" Asegúrate de que el script "menu" tiene permiso de ejecución (botón derecho > permisos > "Permitir ejecutar como una aplicación") 2.- Ahora, dentro de la carpeta cocina crearemos una carpeta que llamaremos "apktool" y dentro extraeremos el programa apktool y su script (va todo junto) A su vez, dentro de la carpeta apktool crearemos una última carpeta que se llamará "apks", que será donde posteriormente pongamos nuestras aplicaciones originales para su modificación. 3.- Extraemos el binario de adb, y lo colocamos en /usr/bin Nota: Si conseguiste instalar los binarios desde los repositorios sáltate este paso y ve directo al número 4 Para hacerlo, lo ponemos en el escritorio mismo.. y ejecutamos el siguiente comando en una terminal que lo moverá y le dará los permisos: sudo mv ~/Escritorio/adb /usr/bin/adb && chmod 755 /usr/bin/adb 4.- La cocina necesita tener instalado la aplicación zip, así que la instalamos desde una terminal con el siguiente comando: sudo apt-get install zip Listo. Flasheando una RomStock Siempre que esteis creando una Custom Rom es muy aconsejable instalar la rom stock sin moficar en el tlf. Esto más que nada es por si no habéis modificado algunas partes del sistema (particiónes boot, data, CSC....), pues así mantendréis las originales de la rom stock... y solo reescribiréis los cambios. Aún así, en este caso prácticamente lo que hemos creado es una rom completa Recupenrando información importante Llegados a este punto y comprobando que tenemos una rom más o menos viable para trabajar con ella procedemos a hacer una copia de seguridad que mas tarde usaremos para recuperar datos importantes que no están tan fácilmente accesibles desde Debemos de compiar en la tarjeta SD el archivo pop_plus_CWM.zip. Una vez dentro de la SD, apagamos el teléfono para iniciarlo en modo recovery. Para hacerlo presionamos y mantenemos presionados los botones (power + Subir Volumen + Home) os aparecerá el logo de Samsung, cuando este desaparezca ya podemos soltar los botones.... volverá a aparecer el logo de Samsung y dará paso al recovery. Este es el recovery de Samsung, muy pobre en opciones, elegimos "Install update zip" y de la lista que sale elegimos el archivo pop_plus_CWM.zip. Se nos abrirá el nuevo recovery (no se queda instalado) y ya podréis usarlo. Tendréis que hacer un backup seleccionando "Backup and Restore" y luego eligiendo "Backup" Comenzará un proceso que tardará un rato. Cuando termine le dais a cancelar hasta llegar a la primera pantalla y ya podremos presionar en "Reboot System now" para reiniciar. Una vez reiniciado accedemos al teléfono con el cable usb y compartimos la tarjeta SD. Veremos que hay una carpeta en la SD llamada clockworkmod, esta carpeta contiene los backups que vallamos haciendo, el nombre de cada carpeta es el resultado de la fecha y hora a la que hicimos la copia. Nos interesa obtener la carpeta System que se encuentra en el archivo System oviamente. Pasad ese archivo al pc para tenerlo a mano. Comenzando a cocinar Si! Llegó la hora y no hemos tardado nada ¿verdad? Vamos allá. Pero antes os doy una nueva ayudita.... Os facilitaré la vida un poco, resulta que el updater-script que se creará con la cocina de xda no contempla nuestro modelo porque es desconocido, para eso he creado un archivo que se ha de meter en "gt-s5570i/cocina/tools/edify_defs" El archivo contiene las líneas para el correcto montaje de las particiones de nuestro modelo, aquí lo tenéis (no le cambien el nombre): edify_defs.zip md5sum: 1ecb74803a3557a3cb615ff72beebbe4 Ahora si que si! Abrimos la carpeta gt-s5570i(Recomiendo partir la ventana en dos o usar múltiples ventanas para no estar yendo de atrás a adelante o viceversa, en Linux se suele usar F3 para partir las ventanas de navegación en 2 verticalmente) Ahora necesitamos copiar la imagen de sistema a la carpeta "gt-s5570i/cocina/original_update" Para eso abrimos el zip de la RomStock, dentro podremos ver varios archivos, nos interesa el que tenga parte de su nombre compuesto por "PDA", terminará en md5, pero no es más que un archivo comprimido en formato tar, así que lo copiamos a la carpeta "gt-s5570i/cocina/original_update" y modificamos el nombre a nuestro gusto asegurándonos de eliminar la coletilla .md5 para que quede algo como "mirom.tar" Ejecutamos el Script "menu", si nos pregunta como abrirlo le decimos que en una terminal y obtendremos un menú como este: Recomiendo que os familiaricéis con el menú y no sigáis el tutorial al pie de la letra porque puede estar desactualizado.... Lo primero es cargar una nueva rom original, así que elegiremos del menú la opción 1 (Set up working folder from ROM) presionando la tecla 1 y luego enter para cargar una rom, después, para mostrar una lista de nuestras RomStock nuevamente la tecla enter, elegimos el número correspondiente a nuestra rom en la lista y teóricamente podríamos contestar todo lo que siga preguntando por omisión, (presionando simplemente la tecla enter) hasta que muestre una pantalla en la que nos informa de las características de la rom y volverá al menú principal. Nota: Durante el proceso tal vez pida la contraseña para usar sudo y montar la imagen. En este punto ya hemos creado una carpeta de trabajo en la raiz de la cocina llamada WORKIMG_XXXXXXX (donde las x son la fecha y hora de la creación) y dentro estará la carpeta system descomprimida y el boot.img para flashear sin modificaciones aún. Añadiendo archivos importantes: Ahora llega el punto de usar la imagen System que hicimos en la copia de seguridad. Tenemos que abrir el zip (porque es un zip) Tambien abrimos la carpeta de trabajo que está en "gt-s5570i/cocina/WORKING_XXXXXXXXXXXX" (Las X las pongo como ejemplo) Ya solo nos queda arrastrar cualquier carpeta del directorio raiz de la copia al la carpeta de trabajo... ejemplo:
Modificando el nombre de la ROM: Bueno, de vuelta a la ventana de android Kitchen. Antes de nada vamos a modificar el nombre de la rom: Presionamos la tecla 7, nos preguntará si queremos cambiar el nombre por defecto, contestamos que si e introducimos el nuevo nombre de la rom, presionamos enter para confirmar. Deoxeando la ROM: Ahora vamos a hacer algo muy básico que toda rom agradece, deoxead. Básicamente lo que se hace es colocar el archivo .odex que acompaña a cada .apk dentro del mismo .apk, de manera que se eliminan problemas a la hora de modificar aplicaciones. Presionamos la tecla 0 para ir al menú avanzado, luego elegimos la opción 11 "De-odex files in your ROM". Aquí tendrémos que tener algo en cuenta, el nivel de API que usa la versión que intentamos deoxear, si no lo tenemos claro veremos que nos da la posibilidad de mostrar una tabla con los valores adecuados: v = Set Android OS version (Current API level = 17) Así que para ver las correspondientes API presionamos "v" y confirmamos con el botón enter. Se nos mostrará algo como esto: Como la versión que tenemos en este tutorial es la de android 2.3.6 tendríamos que seleccionar el nivel de el Nivel de API 10 Así que ponemos 10 y damos enter. Volveremos a la pantalla anterior y ya podremos seleccionar la opción "b" que es la de deoxear las carpetas /system/app y /system/framwork (b = Deodex both folders (recommended)) Tardará un buen rato. Cuando termine, si no obtenéis ningún error os mostrará un resumen como este y tendréis la rom deoxeada. No alinearemos los zip aún, porque eso ya lo haremos cuando empecemos a crear el zip, ya que nos preguntará antes de crear el zip. Soporte para init.d: Elegimos la opción 0 (avanzado) y luego la 14 Confirmamos y con eso habremos modificado el arranque del sistema (boot.img) para que atienda a los script que halla en /system/init.d Haciendo root: Para poder hacer root elegimos la opción 2 del menú principal
Añadiendo Busybox: Para añadir Busybox elegiremos la opción 3 Cita:
Comprobando estado actual: Cuando queráis saber el estado en el que se encuentra la rom (las cosas que se le ha hecho o que le faltan por hacer) elegimos la opción 8 del menú principal... Que en mi caso mostraía algo como esto: Añadiendo más scripts/binarios al futuro zip: Hemos añadido busybox, acceso root y otras cosas. Algunas de las cosas que añadimos están dentro del boot.img El problema es que el boot.img no se puede copiar de manera normal en nuestro terminal porque tiene esa partición bloqueada. Para solucionarlo, meteremos el binario bmlunlock dentro de la carpeta de trabajo y luego añadiremos las líneas oportunas al script para poder usarlo. Creando el Zip para distribuirlo: Ahora ya podríamos crear nuestro primer zip flasheable con las líneas adecuadas para su montaje. Elegimos la opción 99 Cuando nos pregunte que modo queremos usar le decimos que el interactivo (por defecto) y a todo contestamos que si (porque todo lo que pregunta es para mejorar el zip) Pararos con atención cuando nos pregunta si firmar el zip o no.... lo dejaremos así un momento y observaremos que en la carpeta de trabajo ya se ha creado el zip pero no está firmado, así que aprovecharemos y abriremos el zip para ver el contenido (no descomprimirlo, solo abrirlo y modificar directamente sin descomprimir).... Confirmamos que justo en la raiz del zip se encuentre el archivo bmlunlock y los scripts que podamos necesitar ejecutar durante el la instalación. Iremos a la siguiente ruta "/META-INF/com/google/android/" Dentro podremos ver que hay dos archivos, "update-binary" que es el binario usado para ejecutar la instalación y el "updater-script" que contendrá las ordenes de instalación Necesitamos modificar el update-binary por el que a mi me está funcionando, que es el que he puesto en el enlace de arriba. Luego necesitamos abrir el updater-script y comprobar los valores de nuestro terminal para corregir algunas cosas. Aunque todo debería estar bien, porque ya hemos añadido el correspondiente archivo de configuración para nuestro tlf en la cocina de xda, lo mejor es comprobarlo. Los valores correctos para el montaje de las particiones en nuestro terminal son estos: Con esto, podemos observar que la partición de montaje para /system , por ejemplo /dev/block/stl9 Si vemos una línea como esta: Debemos eliminarla, porque nuestro binario no soporta el formateo, pero si podemos borrar recursivamente, así que borramos esa línea y buscamos esta otra: Cita:
Lo hacemos así porque primero necesitamos que la partición esté accesible, que es lo que hace el comando mount... y luego ya podemos borrar el contenido.... Ahora diréis... ¿listo? pues no, si os fijáis dentro del zip en la raiz tendréis el boot.img pero no hay datos dentro del updater-script para flashear correctamente ese archivo en el teléfono, así que modificamos esto: Por esto otro que a mi siempre me funciona: Y una vez modificado, guardado todo y cerrado el zip, ya podéis volver al menú del script y darle a continuar contestando que si (y) para firmar el zip. Cuando termine os preguntará si queréis cambiar el nombre del zip.... ya como queráis. Y en este punto ya tenéis vuestro primer zip flasheable en la carpeta gt-s5570i/cocina/OUTPUT_ZIP Usando ADB Para empezar abriremos una terminal o consola, como queráis llamarlo. Antes de nada, para los que no tengáis nociones de comandos Linux, os recomendaré que siempre uséis el comando man para obtener el manual de un comando.... por ejemplo en este caso poniendo "man adb" obtendríamos el manual de adb, o en su defecto, si queremos algo más simple podemos usar "adb --help" y obtendremos una lista con los posibles parámetros que se le pueden pasar a adb. Bueno, para pasar rápidamente y sin complicaciones el nuevo zip (o cualquier cosa que queramos) a nuestro teléfono colocaremos el tlf en modo depuración yendo a "Ajustes > Aplicaciones > Desarrollo > Depuración de USB", lo conectaremos mediante el cable usb y usaremos este comando dentro de la terminal que antes abrimos: adb push ~/gt-s5570i/cocina/OUTPUT_ZIP/rom.zip /sdcard Siendo rom.zip el nombre que le dísteis al archivo zip que habéis creado. Tardará un rato y cuando termine veréis un resumen del tiempo y velocidad de trasferencias alcanzado. Ahora podéis pasar igualmente el zip con el recovery CWM, si habéis seguido mis consejos lo tendréis guardado en la carpeta herramientas, así que con un: Código:
adb push ~/gt-s5570i/herramientas/pop_plus_CWM-Scorpyo82.zip /sdcard En este punto hay que reiniciar el móvil en modo recovery, que es un coñazo usando los botones del movil, pues hay que apagarlo, y luego encenderlo presionando (y manteniendo presionados) los botones de encender+subir volumen+botón central "home", luego, cuando desaparezca el logo de samsung soltáis los botones y aparecerá nuevamente el logo de Samsung para posteriormente dar paso al recovery de samsung... Peeeero, si queréis hacerlo muuuucho más rápido y dado que ya lo tenéis conectado al ordenador por cable ![]() Código:
adb reboot recovery Flasheando tu propia CustomRom Lo que viene ahora es sencillo: Instalación en el teléfono: 1 - Encender el tlf en modo recovery, (botón power + home + Subir Volumen) usar la opción “Apply update from sdcar” 2 - Elegir el archivo “pop_plus_CWM“ 3 - En el nuevo recovery hacer Wipe Data, Wipe cache, y Wipe Davilk Cache (en el menú Avanced) 4 - Volver al menú principal y elegir “Install zip from sd“ 5 - Elegir la opción “choose zip from sdcard” y elegir el arhivo de la rom que habéis creado.... y con suerte todo vaya bien. Listo! El primer encendido tardará algo, pero es normal porque se está generando la caché para acelerar el arranque la próxima vez que inicie el tlf, solo lo hará la primara vez. Continuará....... |
Los siguientes 4 usuarios han agradecido a su comentario: | ||
|
#2
|
||||
|
||||
Hala, para que os volváis locos...
![]() Espero haberlo explicado lo mejor posible, que os sirva y que tengáis una base buena para comenzar ustedes mismos vuestros pinitos. Un saludo a tod@s |
Gracias de parte de: | ||
#3
|
||||
|
||||
![]() ![]() ![]() ![]() ![]() Un saludo. |
#4
|
Joder..... Facil no es pero yo si quiero probar....
Ahora solo tengo un terminal, el otro se lo he dado a mi suegra que rompio el suyo, pero para el dia del padre me regalan un xiaomi red rice con lo que tendre este para trastear todo lo que quiera....... |
#5
|
Otra cosilla, lo de los comandos es comun en todas las distribuciones linux? Tengo kubuntu en makina virtual pero si hay que poner otra distribucion lo cambio..... Ademas estoy arreglando un viejo pc para poner solo linux...
|
#6
|
||||
|
||||
Cita:
Luego como digo viene lo peor ![]() Pero todo es entretenerse. ![]() Un saludo. |
#7
|
||||
|
||||
Cita:
Puedes usar el tutorial perfectamente. A mi KDE me parece una nave espacial... jajja me agobia tanta sostificación y por eso uso Mate, un fork de Gnome 2.X Un saludo. |
#8
|
Scorpyo muchas gracias por el tutorial, en estos tres dias sin colegio me pondre a cocinar jajajaja
Muchisimas gracias tio ![]() Un saludo! |
#9
|
Necesario, el tuto que muchos buscaban. Currazo, chapó.
Un saludo! |
#10
|
||||
|
||||
Cita:
No está acabado, pero ando de tiempo regular. A ver si lo completo. Pero supongo que da nociones a muchos sobre el tema. Un saludo. |
Respuesta |
![]() |
||||||
|
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 15:43:42 (GMT +2)
HTCMania: líderes desde el 2007