Cocina tu propia ROMTutoriales

Cómo cocinar nuestra propia ROM para Android: La cocina

La Cocina

Ahora sí, ha llegado el momento de trastear con la ROM. En este tutorial explicaré qué hace cada opción de nuestra cocina, crearemos nuestra carpeta de trabajo y extraeremos todos los datos de nuestra ROM, además añadiremos las personalizaciones del operador/fabricante, en este caso Samsung, para poder modificar más aspectos de Android muy facilmente.

Antes de continuar, me gustaría advertiros de que hay que tener cuidado de qué aspectos modificamos ya que nuestro terminal puede dañarse irreparablemente, por este motivo no me hago responsable del daño que pueda sufrir algún dispositivo por seguir este tutorial. Advertidos estáis.

Accediendo a la cocina

Para acceder a la cocina tendremos que hacerlo a través de Cygwin, así que lo primero que debemos hacer es abrirlo y ejecutar:

cd Kitchen

Y a continuación:

./menu

Ojo, es sensible a mayúsculas y minúsculas, así que no es lo mismo: Kitchen, que kiTchen, que kitcheN.

Ventana de Cygwin

Ventana de Cygwin

Una vez ejecutado el segundo comando accederemos a la cocina. El menú es muy sencillo y si sabéis algo de inglés podréis moveros por él sin problema.

Menú principal

Menú principal

A continuación os explicaré qué hace cada opción:

  1. Crea el espacio de trabajo y desempaqueta la ROM. Sólo se puede cocinar una ROM, así que si queremos hacer varias a la vez tendremos que tener una cocina por cada una.
  2. Rootea.
  3. Añade BusyBox. No es más que un conjunto de herramientas habituales en UNIX y que no están en Android.
  4. Elimina el sonido al encender el móvil.
  5. Alinea todos los paquetes .apk para optimizar el uso de la RAM. Esta opción no la utilizaremos porque lo haremos al construir la ROM.
  6. Establece si la ROM realizará los wipes, es mejor que esa operación la hagan los usuarios para no borrar datos sin necesidad.
  7. Cambiar el nombre de compilación. Nosotros editaremos directamente el archivo build.prop.
  8. Muestra toda la información de la ROM, nos será de utilidad para saber qué hemos hecho y qué queda.

0. Advanced Options:

ADVANCED OPTIONS

ADVANCED OPTIONS

11. “Deodexa” los paquetes. Las ROMs oficiales incorporan los paquetes divididos en un archivo .apk y otro .odex. Con esto se acelera el arranque del dispositivo la primera vez que se inicia. Sin embargo, cuando lo que se pretende es modificarlos, es un problema porque no podemos acceder al contenido por estar dividido. Esta opción los vuelve a unificar. La parte negativa es que la primera vez que se inicie la ROM tardará un poco, el resto de veces iniciará rápido.

12. Desempaqueta/empaqueta el kernel, esta opción es mejor no tocarla si no sabemos qué estamos haciendo.

13. Añade el soporte para el directorio /data/app. Las aplicaciones que integremos en la carpeta /system/app no pueden estar firmadas, por este motivo, si queremos añadir más aplicaciones lo habitual es que estén firmadas, así que no funcionarán. La solución es añadir este directorio y meter aquí dichas apps.

14. Esta opción añade soporte para el directorio /etc/init.d, su utilizad es ejecutar todos los scripts que se encuentren en él en cada inicio del móvil.

15. Desempaqueta el archivo data.img

16. Firma un apk o un zip.

17. Convierte el script de instalación del formato update-script a updater-script. Se hace automáticamente al construir la ROM, así que no es necesario que lo hagamos.

18. Plugins de la cocina.

 Carpeta de trabajo

Como vimos anteriormente, para crear el directorio de trabajo tenemos que elegir la opción 1 en el menú principal.

Working Folder

Working Folder

Nos pregunta que comprobemos que efectivamente hemos movido el archivo de la ROM a la carpeta “original_update”. Además, presionando la letra “S” podemos ver los formatos admitidos. Como ya hemos hecho todo, damos a ENTER para continuar.

Ha encontrado nuestra base

Ha encontrado nuestra base

Presionamos ENTER

Nombre del directorio de trabajo

Nombre del directorio de trabajo

Nos muestra el nombre que va a asignar al directorio de trabajo. Dado que sólo podemos tener uno no es necesario cambiarle el nombre, así que presionamos ENTER. Ahora empezará a extraer todos los archivos.

Ejecutar como administrador

Ejecutar como administrador

Es posible que nos avise de que la aplicación encargada de extraer los archivos se deba ejecutar como administrador. Ni caso, pulsamos OK.

Ext2explore

Ext2explore

Vamos a “File -> Open image” y abrimos el fichero:

 C:/cygwin/home/[TU_USUARIO/Kitchen/WORKING_050413_025505/system/ext4_system.img

En la columna de la izquierda, seleccionamos el dispositivo que ha salido, pulsamos sobre él con el botón derecho del ratón y a continuación seleccionamos “Save

Botón secundario del ratón -> Save

Botón secundario del ratón -> Save

Y lo guardamos en:

 C:/cygwin/home/[TU_USUARIO]/Kitchen/WORKING_050413_025505/system

Cuando acabe, lo cerramos y pulsamos ENTER.

Customer Software Customization (CSC)

Customer Software Customization (CSC)

Nos pregunta si queremos descomprimir también las aplicaciones que ha insertado el fabricante/operador. Es interesante agregarlas, aunque después eliminemos la mayoría, pero algunas configuraciones no vendrán bien. Pulsamos ENTER.

CSC

CSC

En esta ocasión tendremos que hacer más cosas. Lo primero es abrir Ext2explore manualmente, para ello abrimos su ejecutable, que se encuentra en:

C:/cygwin/home/[TU_USUARIO]/Kitchen/tools/ext2read_windows/ext2explore.exe

Repetimos la operación de antes, pero en esta ocasión buscamos el archivo ext4_cache.img:

C:/cygwin/home/[TU_USUARIO]/Kitchen/WORKING_050413_025505/system

En esta ocasión, al pulsar en “Save” elegimos que lo guarde en el escritorio. Una vez guardado podemos cerrar Ext2explore. En el escriotiro veremos que se ha creado una carpeta llamada “recovery”. Dentro habrá un archivo comprimido llamado sec.csc.zip. Descomprimimos el archivo y obtendremos dos carpetas:

  • META-INF
  • system

Copiamos la carpeta system en:

C:/cygwin/home/[TU_USUARIO]/Kitchen/WORKING_050413_025505

Nos aparecerá un mensaje diciendo que si queremos combinar los archivos, aceptamos. Volvemos a la ventana de Cygwin y pulsamos ENTER.

Show info

Show info

Pulsamos ENTER para que nos muestre toda la información de la ROM.

Información

Información

Como era de esperar, la ROM que hemos usado no tiene soporte para la mayoría de cosas, ya que se trata una ROM Stock, así que volviendo al menú principal y entrando en cada uno de los apartados que expliqué anteriormente añadiremos soporte para todo, de modo que al acabar ponga YES en la mayoría de filas.

Actualización:

He subido un screencast (el primero que hago, así que no seáis muy duros… jeje) de cómo se hacen algunos pasos intermedios, de todas formas si tenéis alguna duda tan sólo tenéis que dejarme un comentario y os echo un cable 😉

Pulsa aquí para ver el índice del tutorial
Etiquetado con: ,
Publicado en: Android, Tutoriales
191 comentarios sobre “Cómo cocinar nuestra propia ROM para Android: La cocina
  1. Joshelu dice:

    @Bryan, asegúrate de que estás escribiendo “kitchen” exactamente igual que el nombre de la carpeta, mayúsculas/minúsculas inclusive.

  2. Irving dice:

    Oye, un problema, después de poner ./menu, me dice que no tengo instalado Java, pero hice todo pues bien, a qué se debe? :/

  3. Irving dice:

    Ya arreglé eso, pero ahora no encuentro el archivo radio.img o lo que sea, no me lo marca :/

  4. JulioP dice:

    amigo muy exelente tutorial….solo tengo un problema… al ejecutar cygwin no he podido acceder al menu ya que aparece que no se ha encontrado la orden..ya he intentado reinstar el programa pero sigo en las mismas…

  5. Joshelu dice:

    Hola Julio, ¿has entrado en el directorio de la cocina? ( cd Kitchen )

  6. Luis Fernandez dice:

    olle amigo gran tuto gracias. solo un problema cuando abro cygwin y le pongo ./menu despues de poner cd Kitchen me pone
    Error: The folder name “/home/Luis FErnandez/Kitchen” contains the space character.
    This will cause problems with kitchen functionality and the OS.
    Please move the kitchen to a folder without spaces.

    For example: /home/kitchen
    y ya no me deja hacer nada mas que puedo hacer porfa contesta lo mas proto que puedas. gracias

  7. diego dice:

    pregunta, si yo quiero modificar la rom de otro equipo para el mio, tengo que usar la rom del equipo que quiero portar, verdad? o igualmente tengo que usar la rom stock de mi terminal?

  8. Joshelu dice:

    Siempre la del tuyo, luego ya le añades los efectos e imágenes del otro, pero la base tiene que ser de tu teléfono.

  9. rodrigo dice:

    Available ROMs:

    (1) WORKING_090414_160832

    Enter selection number (default=1, cancel=0, r=refresh): 1

    Selected WORKING_090414_160832

    The new working folder will be named WORKING_090414_160906
    Change the name (y/n)? (default: n): n

    Creating working folder WORKING_090414_160906 …

    Copying contents of WORKING_090414_160832 …

    Error: Cannot copy folder contents!

    Press Enter to continue

    ***eso me aparece no puedo pasar de ahi

  10. Joshelu dice:

    Rodrigo yo borraría todas las carpetas de trabajo y empezaría de nuevo. Si no quieres perder todo lo que hayas modificado, sácalas de la cocina (al escritorio por ejemplo) y crea un nuevo directorio de trabajo.

  11. rodrigo dice:

    Joshelu gracias por responder sucede que ya he borrado las carpetas (no tenian nada por que es la primera vez que utilizo el programa ) y tambien he tratado de cambiar el directorio alguna otra sugerencia?

  12. Alvaro dice:

    Hola, buen tutorial pero tengo un problema al momento de crear un directorio de trabajo porque tengo un Sony Xperia E y el formato del firmware es .TFT y me sale un error, ya cambié el formato a .ZIP y .TAR pero me arroja el mismo error…

    Necesito otro programa de cocina o que puedo hacer al respecto?
    Gracias.

  13. N00Bster dice:

    He seguido al paso todas las instruciones de los tutos hasta este y me he encontrado con un “problemilla” que me esta dando muchos dolores de cabeza.

    Despues de patearme medio google para buscar info no he dado con nada que me explique estos errores:

    smali/baksmali version: 1.4.2

    Folder: app
    ——————-
    * ERROR: Aborting SamsungIME.odex!
    * ERROR: Aborting SecGallery2013.odex!
    * ERROR: Aborting SecPhone.odex!
    * ERROR: Aborting SecSettings.odex!
    * ERROR: Aborting SecTabletAlarmClock.odex!

    He intentado las cosas de todas las maneras que se me han ocurrido, incluso haciendo Deodex en primer lugar antes incluso de instalarle el Super Su o BusyBox y sigue dandome problemas. Tengo entendido que si no se hace Deodex se puede compilar y si se hace hay que hacerlo TODO, pero estas 5 apps me estan matando. ¿alguna forma de solucionarlo? ¿alguen tiene el mismo problema?

    Gracias y excelente tutorial.

    Utilizo para las pruebas:
    Galaxy Tab 2 10.1 (GT-P5110 Wifi)
    Android 4.2.2 (P5110XXDMH2_P5110OXADMH2_HOME) sacado de SamMobile
    Kitchen – última versión en la web
    Cygwin x64 (23/10/2014)
    jdk1.8.0_25 x64
    jre1.8.0_25 x64

  14. maunpok dice:

    Hi
    Dijiste “no tiene soporte para la mayoría de cosas, ya que se trata una ROM Stock, así que volviendo al menú principal y entrando en cada uno de los apartados que expliqué anteriormente añadiremos soporte para todo”
    Cuando vas a enseñar a hacerlo compatible¿?
    Saludos 😉

  15. Andrés Zapata dice:

    Cada ves que coloco lo que vos pusiste me sale esto:

    Error: The folder name “/home/Familia Zagon/Kitchen” contains the space character.
    This will cause problems with kitchen functionality and the OS.
    Please move the kitchen to a folder without spaces.

    For example: /home/kitchen

  16. gerSON dice:

    hola me ocurrio un supuesto error al momento de dar accecibilidad a la rom
    00 ENTER
    LEGACY OPTIONS
    ENTER OPTION: 24
    Proceed with install (y/n)? (defaault: y): “y”
    ENTER
    ——y aqui es el error me salio que:
    ‘su’ binary not found under working folder!
    press Enter to continue—-
    como lo soluciono porfa ayuda jose

  17. gerSON dice:

    ggggg… ya solucione el error le di acceso root y na mas 😉

  18. Felipe Alzate dice:

    Hey men mira que entro a ext2explore y busco el archivo y tales hasta que lo abro y no me sale nada se queda en blanco ese programita y lo omito enm la cocina y me manda el error de que no se encuentra el fraemwork y otravez todo

    tiene arreglo?? GRACIAS

  19. ricrdo vega dice:

    Excelente tutorial, a mi tambin me sale el Error: Could not find valid Superblock. al momento de tratar de extraer, qu crees que pudiera ser

  20. juanvi dice:

    Hola, he hecho todos los pasos correctamente, pero me sale la linea de: radio.img found NO

    Como puedo ponerlo a YES, donde esta ese archivo? Importa mucho si se instala?

    Espero tu respuesta para poder seguir el tutorial, muchas gracias, estas haciendo un buen trabajo!

  21. Joshelu dice:

    Hola Juanvi. El archivo radio.img es el que se encarga de las comunicaciones del teléfono. Si no lo incluyes pueden suceder dos cosas: 1º- Que no funcione la red móvil, ni el wifi, ni el bluetooth,… o 2º- Que mantenga la versión anterior. Yo te recomiendo extraerlo de la ROM stock, si no lo tiene cógelo de otra ROM. De paso, puedes buscar la versión que mejor funcione. 😉

    Saludos

  22. rabito dice:

    Primeramente agradecerte por este gran tutorial, es genial. Gracias por dedicarte a compartir parte de tu tiempo y conocimiento con los que quieren aprender.
    Tengo un problemilla al crear la carpeta de trabajo y extraer el archivo .tar me sale el siguiente error

    Available ROMs:

    (1) S5830MWHLE3_S5830MCOLLE1_S5830MWHLE2_HOME.tar
    (2) S5830MWHMJ1_S5830MCOMMJ1_S5830MWHMJ1_HOME.tar
    (3) WORKING_030315_151411

    Enter selection number (default=1, cancel=0, r=refresh):

    Selected S5830MWHLE3_S5830MCOLLE1_S5830MWHLE2_HOME.tar

    The new working folder will be named WORKING_030315_151931
    Change the name (y/n)? (default: n):

    Creating working folder WORKING_030315_151931 …

    Extracting ROM from TAR file …

    Error: No image files identified in TAR archive!

    Press Enter to continue

    Podrias ayudarme con eso? Te lo agradezco!

  23. rabito dice:

    la rom la descargue por sammobile para galaxy ace gt-s5830m.

  24. Joshelu dice:

    @Rabito, pueden suceder dos cosas: La ROM no es compatible con la cocina o no lo has descargado bien. Prueba a descargarlo de nuevo, si continua abre el archivo .tar y comprueba que los archivos que contiene son los que necesita la cocina.

  25. STEVEN dice:

    al poner el comando ./menu

    Error: The folder name “/home/STEVEN 2/kitchen” contains the space character.
    This will cause problems with kitchen functionality and the OS.
    Please move the kitchen to a folder without spaces.

    For example: /home/kitchen

  26. juan antonio dice:

    porque me da error en init. y dice que no fount framework scrip up date.

  27. brunoboneli dice:

    Hola que tal, soy nuevo en el foro, no me llega la activación. mi pregunta es, como puedo que la cocina sea compatible con la rom de la tablet samsung N5110 o hay alguna otra cocina que me permita cocinar la rom de las tablet. Desde ya muchas gracias por su respuesta.

  28. Juan Antonio dice:

    Hola otra vez me podrías ayudar con un error en init.cr y al instalar la ROM no arranca, ya borre todos los nox pero sigue igual e seguido al pie de la letra el tutoriales y sigue el error.gracias y saludos

  29. Cristian dice:

    Oye amigo que yo al poner el segundo comando en el cygwin de ./menu me da un error de que la aplicacion clear no esta instalada y que sin eso instalado no puedo hacer roms una solucion, ayudaa!! gracias

  30. Francisco dice:

    Que tal amigo! en primer lugar mas que un genio sos una inspiración para mucho por lo que andas haciendo. excelente el tutorial, solo un problema tengo, no se como ponerle YES a radio.img en la 4ta parte de la cocina, que podría hacer? ya leí que si no lo cambio a YES podría tener 2 posibles problemas, si puedes ayudarme por favor te pido que me ayudes a solucionar eso, mi dispositivo es un Samsung Galaxy S3 mini GT-I8200L Gracias amigo! Un abrazo.

  31. Joshelu dice:

    @Francisco, eso te lo pone porque la rom cocinada no tiene el archivo correspondiente a las radios (bluetooth, gps, wifi,…) del móvil. Tendrás que identificar el archivo (nomarlmente modem.bin o radio.bin) y meterlo manualmente en su sitio.

  32. ramiro dice:

    Hola quiero una respuesta amigo. Ya hice todo. Y me dejo un zip yamado output zip. Pero al qerer intalar x cwm o philz touch simplemente me da error. Q puede ser o comoblo soluciones. La cocina no me dio errores

  33. Ronald dice:

    Amigo, tengo problemas al deodexar..hago la opcion 11 que es para deodexar la ROm, pero lo realiza rápido y al momento de volver al menú y ver si ya tiene soporte aun me marca NO. Que podría estar pasando

  34. Juan Pablo Cardona Mena dice:

    No encuentro el archivo ext4_system.img Que hago?

  35. Joshelu dice:

    ¿Has probado a utilizar otra base?

  36. Juan Pablo Cardona Mena dice:

    Eh intentado hasta con la rom original de mi movil y no me aparece ese archivo me aparece el archivo boot.img

  37. Aleix dice:

    Hola, hice todos los pasos como pusiste en las fotos (gran tutorial), pero el paso del ext4_cache.img no me sale, me fui al directorio “system” y no esta, y en la cocina tampoco me dice nada del CSC…

    Solución?

    Gracias!

  38. Geovanny Guaipo dice:

    Hermano Muchas Gracias Por Hacer Este Tutorial… Hasta Los Momentos El Mejor Que He Visto Sobre La Cocina De Una ROMs!

  39. AngelF dice:

    Que tal amigo estoy en un proyecto escolar e intento hacer una rom para un S3 mini. El problema es que intento deodexar las apps, y se supone lo hace sin problemas, pero luego cuando veo la info me dice que aun no está listo, crees que tenga problemas si no lo hago?

  40. carlos dice:

    yo pense lo mismo poniendo los archivos del bluethoo y wifi, de la stock rom del tv box que lleva de origen
    a una rom que no es la suya pero funciona todo menos blueth… y wifi
    funcionaria jejej y no
    que mas hace falta, o esta vinculado o implementado (como se diga….) en el kernel
    que haria falta?

  41. Camilo dice:

    Joshelu, gracias por compartir tus conocimientos, eso es invaluable.
    Tengo problemas al deodexar, me quedan 6 aplicaciones del framework sin deodexar y no puedo deodexar ninguna del folder app, a que se deberá este error? Podré proseguir si omito esto?

  42. Joshelu dice:

    Hola Camilo, busca por la red a ver qué función tienen esos paquetes, si no son vitales puedes pasar sin ellos, perderás como es lógico las funciones que realicen pero bueno…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

Sígueme en Twitter