|
ROMs y desarrollo Samsung Nexus S ROMs y desarrollo Samsung Nexus S |
|
Herramientas |
#1
|
||||
|
||||
Yo cocino, y vosotros?
Bueno abro este hilo para comentaros que estoy iniciando un proyecto para cocinar una rom para el Nexus S. La cosa es que no tengo ni papa de cocinar, empiezo de 0 y mi idea es que si hay alguien más que tenga inquietudes en este ámbito y ganas de aprender puediesemos tener un hilo donde ir ayudandonos en los pasos a seguir.
El objetivo que me he marcado a corto plazo es cocinar una rom, basandome en la stock 2.3.3 deodexada (Me gustaria deodexarla yo mismo) por eso partire del zip de la 2.3.3 full de los servers de google (Salvo que a medida que voy avanzado vea que este no es útil) El objetivo a medio/largo plazo (Que desconozco si llegaré a conseguir, todo sea dicho) es portar Sense al Nexus S como se hizo en el Nexus One, no se si al 100% pero sin con unos mínimos. Actualmente ando leyendo y traduciendo tutoriales (Algunos de xda, algunos de otros foros y otros de la wiki de htcmania) y ya hay algún progreso, pero aún no he hecho nada. Bueno miento ya he limpiado uno de mis portatiles y le he metido ubuntu 10.10, instalado el sdkd e android, adb, fastboot los he puesto en el path. Además he instalado un monton de paquetes necesarios y anoche me fui a dormir tras instalar e inicializar "repo" Ahora aquí tengo mi primera disyuntiva, existen 2 maneras de crear una rom, usando una base o compilando el codigo fuente, el tutorial de la wiki explica como compilar android desde el código fuente, pero existen ciertas herramientas ya funcionales para la creación de roms por ejemplo dsixda Android Kitchen que quizás para los novatos como yo seria la mejor opción. Así que pregunto, ¿que opinais? desmontar una rom y añadir algunas cosillas, eliminar, añadir apks, editar el framework un poquillo y empaquetar? o intentarlo desde cero? Bueno pues estos son los avances hasta ahora, si alguien quiere apuntarse a esto aún puede hacerlo, solo tiene que tener ganas y algo de tiempo. Cualquier comentario del tema será bien recibido, por supuesto intentaré ponerme en contacto con cocineros del foro para ver si me pueden aconsejar en algunos aspectos y a ver que saco en claro. Ojo, es importante recalcar que esto no es un tutorial para novatos en android, esto puede ser una ayuda para novatos en cocina de roms, se requiere al menos conocimientos de adb, fastboot y/o comandos ms-dos/linux y si además tienes conocimientos de programación y más concretamente en Java ya será la rehostia de sencillo para ti. Yo soy desarrollador de software y tengo titulación específica en java pero en mi vida he desarrollado un proyecto en Java (Mi formación y trabajo, van por un camino muy diferente al java) así que supongo que me costará algo pero lo conseguiré. Lo dicho, comentarios, dudas, etc... las podeis comentar por aquí. A lo largo de la tarde/noche subiré un tutorial para instalar adb, fastboot y el sdk en linux por si hay algún interesado y quiere empezar por ahí. Ojala consigamos algo grande! Saludos
__________________
Su publicidad aquí por solo 3.99€ al mes
|
|
#3
|
||||
|
||||
Hola Raulgm, a mi me encantaría participar, conozco un poco Abd, fastboot y msdos, de java ni idea i de programación casi nada, pero mucha curiosidad! Hace cosa de tres meses me ha empezado a picar el gusanillo para sacar una ROM básica desde el SDK de google. No he hecho nada todavía, tengo dos hijas pequeñas y muy poco tiempo!!
Aun así estaría encantado de participar, almenos como beta-tester avanzado!! |
#4
|
||||
|
||||
Una idea genial, salga bien o mal, pero seguro que algo se aprende.
Yo hace unos años estuve programando aplicaciones de gestion, en lenguaje visual basic, y bases de datos acess, mysql, tambien algo de php y html. De java la verdad es que perdi el tren, y ahora me dedico a otras actividades, pero si pudiera aportar algo desde luego lo haria pues lo veo interesante, aunque nunca me he metido en los entresijos del android.
__________________
|
#5
|
||||
|
||||
Me parece una buenísima idea y a mi me encantaría...pero no tengo ni tiempo ni conocimientos (aunque soy de los que aprender rápido jaja)
Aunque no pueda ayudaros os seguiré de cerca! |
#6
|
||||
|
||||
A mi también me encanta la idea, pero la verdad es que yo no tengo tiempo para dedicarle a esto...
Aún así me encantará seguir por el foro como van tus avances!!! Mucho ánimo!!! ;D |
#7
|
||||
|
||||
Bueno mi primer intento ya esta flasheado en mi nexus y de momento con éxito, tengo que pedir permiso al creador del tema y al creador del kernel antes de colgarlo pero parece que va bien... lo he hecho de la manera más automática... para ir aprendiendo poquito a poco, usando la cocina de dsixda
Y he montado una rom rooteada stock 2.3.3 deodexada, con el kernel de james bond, con los tweaks de ext4, el control de volumen y de pantalla de voodoo y la opciones para usar BLN en superamoled, además incluyo el tema Amped! Lo dicho si estos 2 compañeros de xda me permiten publicar la rom con sus añadidos la colgaré por aquí y el siguiente paso será intentar construirla yo manualmente Saludos
__________________
Su publicidad aquí por solo 3.99€ al mes
|
Gracias de parte de: | ||
#8
|
||||
|
||||
Enhorabuena. Pero mas o menos que haces ¿coger de aqui de alla y ponerlo en la coctelera, batirlo y ya esta?
__________________
|
#9
|
||||
|
||||
De momento si, más o menos así ha sido.
Con la cocina de dsixda he cogido la base de la stock 2.3.3 la he deodexado, he añadido un tema y un kernel y la he montado... Pero bueno para ir familiarizandose con cositas, términos, archivos, scripts y como inicio va bien... Ahora de momento veo que no chuta el wifi, tengo que mirar porque pero parece que es lo único que no funciona Saludos
__________________
Su publicidad aquí por solo 3.99€ al mes
|
#10
|
||||
|
||||
Esta tarde he tenido un poco de tiempo y me he estado instalando una maquina virtual donde he instalado linux Ubuntu. Voy a intentar seguir los wikis de HTC mania a ver si aprendo algo.
|
#11
|
||||
|
||||
Yo no tengo un nexus s pero podria ayudar, tengo experiencia en creacion de roms para el galaxy s y no es muy distinto.
Para deodex y zipallign usa cygwin que aunque es para htc, esas funciones las hace a la perfeccion Sent from my GT-I9000 using Tapatalk |
#12
|
||||
|
||||
De momento si, más o menos así ha sido.
Con la cocina de dsixda he cogido la base de la stock 2.3.3 la he deodexado, he añadido un tema y un kernel y la he montado... Pero bueno para ir familiarizandose con cositas, términos, archivos, scripts y como inicio va bien... Ahora de momento veo que no chuta el wifi, tengo que mirar porque pero parece que es lo único que no funciona Saludos Si quieres puedo ir guiandote con la cocina.... Te comento, al cambiar el kernel (desconozco como lo has hecho), si has añadido una carpeta llamada kernel a la raiz de tu carpeta de trabajo (junto al system, meta-inf,...) debes añadir otro archivo para que el wifi funcione. Este archivo debe ir en \system\lib\modules y el archivo es uno con extension .ko Para completar este paso hay que editar el updater-script (o el update, sin la R, segun lo hagas) con los comandos necesarios para que el kernel se flasee tras la rom. Te digo esto por que existen 2 maneras, una con la carpeta kernel + el archivo .ko (ahora de memoria no recuerdo el nombre) y otra que es destripando el boot.img y metiendo dentro el kernel. Si no te funciona el wifi al 99.99% que es por el kernel, algo te falta por meter en la cocina. Saludos y suerte con ello, si necesitas algo hazme una mencion y me paso por aqui y en la medida que sepa de que va el tema te echare un cable. |
#13
|
||||
|
||||
Si quieres puedo ir guiandote con la cocina....
Te comento, al cambiar el kernel (desconozco como lo has hecho), si has añadido una carpeta llamada kernel a la raiz de tu carpeta de trabajo (junto al system, meta-inf,...) debes añadir otro archivo para que el wifi funcione. Este archivo debe ir en \system\lib\modules y el archivo es uno con extension .ko Para completar este paso hay que editar el updater-script (o el update, sin la R, segun lo hagas) con los comandos necesarios para que el kernel se flasee tras la rom. Te digo esto por que existen 2 maneras, una con la carpeta kernel + el archivo .ko (ahora de memoria no recuerdo el nombre) y otra que es destripando el boot.img y metiendo dentro el kernel. Si no te funciona el wifi al 99.99% que es por el kernel, algo te falta por meter en la cocina. Saludos y suerte con ello, si necesitas algo hazme una mencion y me paso por aqui y en la medida que sepa de que va el tema te echare un cable. Lo que pasa es que en cwm 3 solo vale edify (updater-script y updater-binary) mientras que en cwm 2.X valen tanto edify como amend |
#14
|
||||
|
||||
@Coldflid @vauss ante todo gracias por vuestros comentarios.
La verdad es que el cygwin lo he instalado en el curro para los ratos muertos, pero aquí trabajo directamente en linux... Sinceramente habia pensado en pediros ayuda directamente pero antes quise investigar e indagar antes de preguntaros por donde empiezo y además me parecia mucha jeta... Respecto a lo que me comentas vauss (madre mia! al pie del cañon desde los tiempos de la diamond... xd ) si que necesito un pequeño cable con el tema kernel por que usando la cocina de dsixda le meti el kernel sustituyendo directamente el boot.img por el del kernel y el wifi no funcionó, luego esta mañana desde el curro he desmontado el boot.img y he metido el zImage resultante, pero en este caso si que es cierto que olvide poner el archivo .ko en la carpeta system\lib\modules pero el caso es que cuando lo hice la primera vez si que sustituí los archivos y no funcionó... y ahora mirando veo que no tengo una carpeta que sea system/lib/modules, system/lib existe pero modules no esta dentro... es decir que tengo: system/lib y system/modules Pregunté a dsixda en xda y me dijó lo mismo los drivers a /system/lib/modules es decir el archivo .ko pero esa carpeta no existe... quizás deberia crearla? Sigo probando y espero vuestros consejos Edito: Funcionó! desmonté el boot.img añadí el zImage en mi boot.img y le añadí a mi system/modules el archivo .ko y ahora si el wifi funcionando! No obstante vauss te tomo la palabra... intentaré no abusar mucho pero seguramente algo de ayuda necesitaré... Coldflid a ti también muchas gracias por el interes, llevo unos dias leyendo los manuales de la zona del galaxy s y creo que me vendrán bien para aprender... Edito2: Empiezan las dudas... como veis de complejo añadir a mi rom las opciones de reinicio en el menú del power... he visto un tuto pero hay que liarse a tocar código a saco y no lo veo claro del todo... es la mejor forma esta? Tengo que tocar código a piñon o existe alguna forma de automatizarlo? Saludos
__________________
Su publicidad aquí por solo 3.99€ al mes
Última edición por raulgm Día 12/04/11 a las 00:00:58. |
#15
|
||||
|
||||
Si quieres puedo ir guiandote con la cocina....
Te comento, al cambiar el kernel (desconozco como lo has hecho), si has añadido una carpeta llamada kernel a la raiz de tu carpeta de trabajo (junto al system, meta-inf,...) debes añadir otro archivo para que el wifi funcione. Este archivo debe ir en \system\lib\modules y el archivo es uno con extension .ko Para completar este paso hay que editar el updater-script (o el update, sin la R, segun lo hagas) con los comandos necesarios para que el kernel se flasee tras la rom. Te digo esto por que existen 2 maneras, una con la carpeta kernel + el archivo .ko (ahora de memoria no recuerdo el nombre) y otra que es destripando el boot.img y metiendo dentro el kernel. Si no te funciona el wifi al 99.99% que es por el kernel, algo te falta por meter en la cocina. Saludos y suerte con ello, si necesitas algo hazme una mencion y me paso por aqui y en la medida que sepa de que va el tema te echare un cable. Raulgm... aprovechate de el , que es muuuuuuuuuuy bueno. Dicen que tiene una estatua suya recubierta en oro en su ciudad
__________________
Lee , Comprende, Piensa y si no sacas la solucion PREGUNTA. Las dudas se preguntan en el foro y NO por privado. NO atiendo privados.
Oneplus 6T y Fossil Gen5 |
#16
|
||||
|
||||
@Coldflid @vauss ante todo gracias por vuestros comentarios.
La verdad es que el cygwin lo he instalado en el curro para los ratos muertos, pero aquí trabajo directamente en linux... Sinceramente habia pensado en pediros ayuda directamente pero antes quise investigar e indagar antes de preguntaros por donde empiezo y además me parecia mucha jeta... Respecto a lo que me comentas vauss (madre mia! al pie del cañon desde los tiempos de la diamond... xd ) si que necesito un pequeño cable con el tema kernel por que usando la cocina de dsixda le meti el kernel sustituyendo directamente el boot.img por el del kernel y el wifi no funcionó, luego esta mañana desde el curro he desmontado el boot.img y he metido el zImage resultante, pero en este caso si que es cierto que olvide poner el archivo .ko en la carpeta system\lib\modules pero el caso es que cuando lo hice la primera vez si que sustituí los archivos y no funcionó... y ahora mirando veo que no tengo una carpeta que sea system/lib/modules, system/lib existe pero modules no esta dentro... es decir que tengo: system/lib y system/modules Pregunté a dsixda en xda y me dijó lo mismo los drivers a /system/lib/modules es decir el archivo .ko pero esa carpeta no existe... quizás deberia crearla? Sigo probando y espero vuestros consejos Edito: Funcionó! desmonté el boot.img añadí el zImage en mi boot.img y le añadí a mi system/modules el archivo .ko y ahora si el kernel funcionando! No obstante vauss te tomo la palabra... intentaré no abusar mucho pero seguramente algo de ayuda necesitaré... Coldflid a ti también muchas gracias por el interes, llevo unos dias leyendo los manuales de la zona del galaxy s y creo que me vendrán bien para aprender... Edito2: Empiezan las dudas... como veis de complejo añadir a mi rom las opciones de reinicio en el menú del power... he visto un tuto pero hay que liarse a tocar código a saco y no lo veo claro del todo... es la mejor forma esta? Tengo que tocar código a piñon o existe alguna forma de automatizarlo? Saludos Para el menu extendido ya es mas dificil, hay que decompilar el framework-res.apk y algun jar creo. Si lo quieres hacer tu, tienes que tocar codigo, pero sino coge algum tema que lo tenga y cambia los iconos por los que quieras y asi no hace falta tocar codigo. Si tienes alguna duda que pueda responder, no dudes en preguntarme ;) Sent from my GT-I9000 using Tapatalk |
#17
|
||||
|
||||
@Coldflid @vauss ante todo gracias por vuestros comentarios.
La verdad es que el cygwin lo he instalado en el curro para los ratos muertos, pero aquí trabajo directamente en linux... Sinceramente habia pensado en pediros ayuda directamente pero antes quise investigar e indagar antes de preguntaros por donde empiezo y además me parecia mucha jeta... Respecto a lo que me comentas vauss (madre mia! al pie del cañon desde los tiempos de la diamond... xd ) si que necesito un pequeño cable con el tema kernel por que usando la cocina de dsixda le meti el kernel sustituyendo directamente el boot.img por el del kernel y el wifi no funcionó, luego esta mañana desde el curro he desmontado el boot.img y he metido el zImage resultante, pero en este caso si que es cierto que olvide poner el archivo .ko en la carpeta system\lib\modules pero el caso es que cuando lo hice la primera vez si que sustituí los archivos y no funcionó... y ahora mirando veo que no tengo una carpeta que sea system/lib/modules, system/lib existe pero modules no esta dentro... es decir que tengo: system/lib y system/modules Pregunté a dsixda en xda y me dijó lo mismo los drivers a /system/lib/modules es decir el archivo .ko pero esa carpeta no existe... quizás deberia crearla? Sigo probando y espero vuestros consejos Edito: Funcionó! desmonté el boot.img añadí el zImage en mi boot.img y le añadí a mi system/modules el archivo .ko y ahora si el wifi funcionando! No obstante vauss te tomo la palabra... intentaré no abusar mucho pero seguramente algo de ayuda necesitaré... Coldflid a ti también muchas gracias por el interes, llevo unos dias leyendo los manuales de la zona del galaxy s y creo que me vendrán bien para aprender... Edito2: Empiezan las dudas... como veis de complejo añadir a mi rom las opciones de reinicio en el menú del power... he visto un tuto pero hay que liarse a tocar código a saco y no lo veo claro del todo... es la mejor forma esta? Tengo que tocar código a piñon o existe alguna forma de automatizarlo? Saludos De esta manera sabras que ha cambiado (si ha cambiado algo) y al mismo tiempo aprenderas mas cosas que un simple copia/pega de un tutorial. Respecto a tu pregunta. si hay que tocar el codigo smali para meter ese menu, no hay otra manera, o al menos yo la desconozco. jajaja, no te pases tio, simplemente se hace por que me gusta echar un cable a la gente. |
#18
|
||||
|
||||
@raulgmNexus One y Nexus S se pueden compilar sin mucho problema desde el git de Android, puesto que al ser los terminales oficiales de Google, estos tienen soporte completo desde el código fuente, esto a la vez permite ganar en velocidad y consumo, al ser una de las ROMs más limpias posibles pero por contra puede dar más quebraderos de cabeza cuando salen errores al compilar.
Yo lo estoy probando con la HTC Desire intentando hacer algo entre el AOSP oficial y otro llamado Amethyst que es una AOSP concreta para Desire totalmente funcional. Yo te recomiendo que intentes iniciarte con el repo aunque sea más complicado sacarás mucho mejor rendimiento de la ROM, a la part que es más sencillo tematizar y añadir nuevas funcionalidades ya que estas trabajando directamente con el código fuente Si conseguís hacer progresos en este aspecto, estaría bien documentar lo máximo posible puesto que la información al respecto de como adaptar el source a terminales, hacerle pequeñas o grandes modificaciones es totalmente escasa.
__________________
Agradecer no cuesta nada
|
#19
|
||||
|
||||
@vauss @Coldflid @shawe y cualquiera que me pueda ayudar...
Avances: Bueno ante todo comentaros que estoy en 2 frentes uno el de compilar el código fuente desde el git de android y el segundo el de crear una rom con la cocina online de dsixda, actualmente estoy haciendo incapié en este segundo paso pues me esta ayudando bastante a familiarizarme con muchos conceptos, scripts, kernel, carpetas. Paralelamente estoy intentando compilar desde 0 android para el Nexus S, pero lo tengo aparcado hasta que consiga poder mostrar una rom funcional. Esta todo preparado, conseguí ponerle el Kernel que queria (y hacer que funcionará ya que una vez puesto primero no funcionaba el wifi y luego el script del ext4 no chutaba...), el tema, las aplicaciones, pero ahora mismo hay un tema que me toca las narices y que doy con la tecla, el Wallpaper por defecto. Tengo claro que el wallpaper por defecto esta en: \system\framework\framework-res.apk y una vez decompilado en \res\drawable-hdpi-v4\default_wallpaper.jpg Y entonces vosotros direis, donde esta el problema? pues el problema radica en que los Nexus por defecto llevan un live wallpaper, (Que personalmente detesto) ya que hace caer el rendimiento y la fluidez del launcher y que incrementa notablemente el gasto de batería. Supongo que o el apk LiveWallpapers.apk - LiveWallpapersPicker.apk o MagicSmokeWallpapers.apk tiene algún parámetro que indica que el live wallpaper Nexus sea el predeterminado. La duda esta ahí, cual es ese parámetro? esta en el framework? o en alguno de estos archivos de wallpapers que os comento? Se puede poner un wallpaper (Estático) por defecto sin eliminar los apk's del Livewallpaper? Saludos y gracias de antemano!
__________________
Su publicidad aquí por solo 3.99€ al mes
|
|
#20
|
||||
|
||||
@vauss @Coldflid @shawe y cualquiera que me pueda ayudar...
Avances: Bueno ante todo comentaros que estoy en 2 frentes uno el de compilar el código fuente desde el git de android y el segundo el de crear una rom con la cocina online de dsixda, actualmente estoy haciendo incapié en este segundo paso pues me esta ayudando bastante a familiarizarme con muchos conceptos, scripts, kernel, carpetas. Paralelamente estoy intentando compilar desde 0 android para el Nexus S, pero lo tengo aparcado hasta que consiga poder mostrar una rom funcional. Esta todo preparado, conseguí ponerle el Kernel que queria (y hacer que funcionará ya que una vez puesto primero no funcionaba el wifi y luego el script del ext4 no chutaba...), el tema, las aplicaciones, pero ahora mismo hay un tema que me toca las narices y que doy con la tecla, el Wallpaper por defecto. Tengo claro que el wallpaper por defecto esta en: \system\framework\framework-res.apk y una vez decompilado en \res\drawable-hdpi-v4\default_wallpaper.jpg Y entonces vosotros direis, donde esta el problema? pues el problema radica en que los Nexus por defecto llevan un live wallpaper, (Que personalmente detesto) ya que hace caer el rendimiento y la fluidez del launcher y que incrementa notablemente el gasto de batería. Supongo que o el apk LiveWallpapers.apk - LiveWallpapersPicker.apk o MagicSmokeWallpapers.apk tiene algún parámetro que indica que el live wallpaper Nexus sea el predeterminado. La duda esta ahí, cual es ese parámetro? esta en el framework? o en alguno de estos archivos de wallpapers que os comento? Se puede poner un wallpaper (Estático) por defecto sin eliminar los apk's del Livewallpaper? Saludos y gracias de antemano! Enhorabuena por todos los progresos que estas haciendo ! Sigue así |