|
||
|
![]() |
![]() |
ROMs y desarrollo Samsung Galaxy S I9000 ROMs y desarrollo Samsung Galaxy S I9000 |
![]() |
|
Herramientas |
#1
|
||||
|
||||
Crea tu propio update.zip
La idea del tutorial es profundizar en la syntaxis de los update.zip, más que nada porque parece que no está publicada oficialmente o no es de fácil acceso. Tampoco tiene como finalidad instalar un rom completa desde 0, para la que habría que jugar con permisos, symlinks y un sin fin de comandos pero al final daremos un repaso a un update-script común a día de hoy (DocROM_JP) y veresmos como se estucturan que pasos siguen. Lo mejor es hurgar en los update.zip existentes de roms como tayutama, doc rambone y mucho ensayo y error. Googleando me sorprende la cantidad de cocineros que conozco que han aprendido así. ¿por qué demonios no estará publicado?.
![]() En la primer aparte veremos cuales son los comandos más comunes utilizados y las posibilidades que ofrecen, lo que nos permitirá automatizar ciertos procesos que más de uno solemos hacer religiosamente en cada flasheo, como eliminar sistemáticamente ciertas apps, cambiar csc o copiar launchers a /system/app por ejemplo. También puede interesarte para flashear un zImage, modem, s-pbl,... realizar ciertos backups-restore de carpetas, fotos, etc desde el propio recovery sin tener que hacer backup de todo el sistema. Además, como no es necesario firmarlos para flashear desde un CWM o 2e recovery, es bastante más cómodo, los podrías hacer desde androzip!. Las posibilidades dependen de tus necesidades, paciencia e imaginación ![]() Estructura de un update.zip Lo más importante es la carpeta /META-INF, que contiene unos archivos genéricos con certificados y demás y sobre todo un archivo llamado "update-script" que es el que nosotros mofificaremos. Sería algo como esto: update.zip /META-INF /data/data es la recomendada para contener los archivos que queremos incluir en /data (mem.interna) y lo mismo para /system. Puedes darles el nombre que quieras pero para tenerlo todo organizado y por comodidad manten los nombres genéricos, No es obligatoria crearlas si no las vamos a necesitar, es más, podríamos crear un update.zip solo con la carpeta META-INF. Al final del post encontrarás una plantilla de un update.zip "update-template.zip" con algunas carpetas genéricas. Comandos para crear tu update.script
Copiar archivos a la memoria interna Copiar archivos contenidos dentro de la carpeta "system" del update.zip a /system/app Borrar archivos o carpetas de la memoria interna Borrar /system/app/Maps.apk y Maps.odex (no olvidar los .odex si existen!)Formatear (format)Borrar /data/app/Maps.apk
Barra de progreso (show progress) Código:
show_progress 0.1 0 (porción del total, inicio de "subporción" :P ) ... show_progress 0.1 10 (final de subporción) show_progress 0.2 0 ... show_progress 0.2 10 Ejecutar un shell script (run_program) Hay dos formas de ejecutar un shell script, una ejecutándolo desde el propio update.zip (con las operaciones básicas busybox) o volcándolo a /TMP. TMP es un pequeño espacio incluido en el propio recovery.img muy útil para poder copiar scripts e incluso binarios ejecutables que deben ser llamados desde la mem interna. Ejecutar un script.sh que tenemos dentro de la raíz de nuestro update.zip. Código:
run_program PACKAGE:script.sh Ejecutar un shell script que tenemos dentro de la carpeta /mi_script volcándolo a TMP antes: Código:
copy_dir PACKAGE:mi_script TMP:/script (<-creará la carpeta si no existe) set_perm 0 0 755 TMP:/script/script.sh (damos permisos ejecución) run_program /tmp/script/script.sh sh /script/script.sh (Atento al shell script!! -> #!/system/bin/sh) Si queremos escribir sobre las BLM protegidas y flashear un kernel, modem, p-sbl, etc. desde el recovery necesitaremos ejecutar un binario llamado redbend_ua desde TMP: redbend_uaEjemplos básicos de un "update-script": Este update-script es el que utilizo yo para eliminar casi todas las aplicaciones de samsung además de Maps (ya que está desactualizado y solo ocupa espacio) dejando nuestra stock rom casi como una versión "Lite", y añadirá a /system/app la Galery3D alternativa y TouchwizGTG Launcher v.1.1.1 modificado (touchwizGTG launcher v.1.1.1). Código:
show_progress 0.1 0 delete SYSTEM:app/aldiko-standard-1.2.6.1-samsung-s1.apk delete SYSTEM:app/BuddiesNow.apk delete SYSTEM:app/BuddiesNow.odex delete SYSTEM:app/Days.apk delete SYSTEM:app/Days.odex delete SYSTEM:app/DualClock.apk delete SYSTEM:app/DualClock.odex delete SYSTEM:app/Email.apk delete SYSTEM:app/Email.odex delete SYSTEM:app/Gallery3D.apk delete SYSTEM:app/Gallery3D.odex delete SYSTEM:app/InfoAlarm.apk delete SYSTEM:app/InfoAlarm.odex delete SYSTEM:app/Layar-samsung.apk delete SYSTEM:app/MagicSmokeWallpapers.apk delete SYSTEM:app/MagicSmokeWallpapers.odex delete SYSTEM:app/Maps.apk delete SYSTEM:app/MiniDiary.apk delete SYSTEM:app/MiniDiary.odex delete SYSTEM:app/PressReader.apk delete SYSTEM:app/SamsungApps.apk delete SYSTEM:app/SamsungWidget_CalendarClock.apk delete SYSTEM:app/SamsungWidget_CalendarClock.odex delete SYSTEM:app/SamsungWidget_FeedAndUpdate.apk delete SYSTEM:app/SamsungWidget_FeedAndUpdate.odex delete SYSTEM:app/SamsungWidget_ProgramMonitor.apk delete SYSTEM:app/SamsungWidget_ProgramMonitor.odex delete SYSTEM:app/SamsungWidget_StockClock.apk delete SYSTEM:app/SamsungWidget_StockClock.odex delete SYSTEM:app/SamsungWidget_WeatherClock.apk delete SYSTEM:app/SamsungWidget_WeatherClock.odex delete SYSTEM:app/TATLiveWallpapersAurora.apk delete SYSTEM:app/TATLiveWallpapersAurora.odex delete SYSTEM:app/TATLiveWallpapersBlueSea.apk delete SYSTEM:app/TATLiveWallpapersBlueSea.odex delete SYSTEM:app/TATLiveWallpapersDandelion.apk delete SYSTEM:app/TATLiveWallpapersDandelion.odex delete SYSTEM:app/TouchWiz30Launcher.apk delete SYSTEM:app/TouchWiz30Launcher.odex delete SYSTEM:app/UnifiedInbox.apk delete SYSTEM:app/UnifiedInbox.odex delete SYSTEM:app/VisualizationWallpapers.apk delete SYSTEM:app/VisualizationWallpapers.odex delete SYSTEM:app/WriteandGo.apk delete SYSTEM:app/WriteandGo.odex show_progress 0.1 10 show_progress 0.2 0 copy_dir PACKAGE:system SYSTEM:app show_progress 0.2 10 (adjunto este ejemplo "Stock2Lite.zip") ** Este otro equivaldría a un wipe factory-reset. Es un poco absurdo ya que el propio recovery tiene la función, pero es solo un ejemplo de lo simple que es ;) Código:
show_progress 0.1 0 format DATA: format DATADATA: format CACHE: format SDEXT: format SDCARD:./android_secure Recordar que podemos ponerle el nombre que queramos al update.zip, cuanto más descriptivo mejor. Update-script en custom roms. Vamos a analizar en este caso el de una DocROM v3.1.0 show_progress 0.1 0---> (iniciamos el proceso e iniciamos barra de progreso) format SYSTEM: ---> (formatear SYSTEM) delete_recursive SYSTEM:---> (borrar SYSTEM y todas sus subcarpetas recursivamente. Es redundante después de un format) copy_dir PACKAGE:system SYSTEM: ---> (copiar nuestra carpeta system a SYSTEM) Ahora eliminamos unos binarios que supongo están compilados por samsung y que probablemente vengan "capados" y utilizaremos toolbox, que es un mini-busybox que viene por defecto en Android, pero puede realizar operaciones que busybox es incapaz, como por ejemplo “sh” para ser root. Entonces los sustituimos por un elnace simbólico a "toolbox": symlink toolbox SYSTEM:bin/cat symlink toolbox SYSTEM:bin/chmod symlink toolbox SYSTEM:bin/chown symlink toolbox SYSTEM:bin/cmp [/quote] ... ... show_progress 0.1 10 Ahora debemos asignar los permisos adecuados a las carpetas del sistema para que funcione adecuadamente: Código:
set_perm usuario grupo permisos RUTA **para saber más sobre permisos: http://es.wikipedia.org/wiki/Chmod show_progress 0.2 0 set_perm_recursive 0 0 0755 0644 SYSTEM:---> (permisos recursivos para todo SYSTEM y subcarpetas) set_perm_recursive 0 2000 0755 0755 SYSTEM:bin ---> (permisos específicos para /system/bin) set_perm_recursive 0 0 0755 0755 SYSTEM:etc---> (idem para /system/etc) set_perm 0 3003 02755 SYSTEM:bin/netcfg---> (idem para el archivo /system/bin/netcfg) set_perm 0 3004 02755 SYSTEM:bin/ping---> (etc.) set_perm_recursive 1002 1002 0755 0440 SYSTEM:etc/bluetooth set_perm 0 0 0755 SYSTEM:etc/bluetooth set_perm 1002 1002 0440 SYSTEM:etc/dbus.conf set_perm 1014 2000 0550 SYSTEM:etc/dhcpcd/dhcpcd-run-hooks set_perm 0 2000 0550 SYSTEM:etc/init.goldfish.sh set_perm_recursive 0 0 0777 0777 SYSTEM:etc/init.d ---> (Aquí damos permisos a /system/etc/init.d para poder ejecutar scripts en el inicio. El init.rc compilado en el kernel debe tener habilitado run-parts desde busybox para que funcione. En general todos los custom kernel lo llevan habilitado) set_perm 0 0 04755 SYSTEM:xbin/su set_perm 0 0 04755 SYSTEM:xbin/busybox show_progress 0.2 10 Esta parte en un principio se mantiene así ROM tras ROM, la mayoría son genéricos para cualquier sistema android. show_progress 0.3 0 symlink /system/xbin/su SYSTEM:bin/su ---> (crea un enlace simbólico de xbin/su a bin/su) run_program PACKAGE:root --->(ejecuta un shell script que dará permisos a /bin/su e instalará busybox) run_program PACKAGE:dalvik---> (ejecuta un script que hace un wipe a dalvik-cache, innecesario ya que luego formatearemos /data) show_progress 0.3 10 Ya tenemos /system completo. show_progress 0.4 0 format CACHE: --->(formatea CACHE) format DATADATA: --->(formatea DBDATA) format DATA: --->(formatea DATA) copy_dir PACKAGE:data DATA: ---> (copia nuestra carpeta /data/ a /data/app) set_perm 1000 1000 0771 DATA:app --->(da permisos específicos /data/app) copy_dir PACKAGE:sdcard SDCARD:--->(copia nuestra carpeta /sdcard a SDCARD) Con esto tenemos todos los archivos y herramientas básicas instaladas. Ahora instalar un kernel y un modem.bin copiando el binario redbend_ua, el zImge y modem.bin a TMP, y ejecutandolo copy_dir PACKAGE:updates TMP:/updates set_perm 0 0 755 TMP:/updates/redbend_ua run_program /tmp/updates/redbend_ua restore /tmp/updates/modem.bin /dev/block/bml12 run_program /tmp/updates/redbend_ua restore /tmp/updates/zImage /dev/block/bml7 show_progress 0.4 10 Y poco más, no tiene tampoco mucho misterio ** Solo en el caso de que necesites flashear desde un recovery que requiera verificación de firma: "E:signature verification failed" y sea compatible con "testkeys" (no compatible con recovery 3e o 2e "oficial"). Método 1: ################################################## ######################################## Estaría bien que la gente compartiese sus update.zip personalizados ;) Y poco más, bueno si, HACER NANDROID BACKUPS ANTES DE NADA! y tener en cuenta que desgraciadamente desde el recovery no tenemos acceso a la /sdcard ![]() ENJOY!
__________________
________ ★[CWMODIN] Flashea y personaliza ODIN stock roms desde el recovery http://ow.ly/kbEwt★[Universal Flasher Tool] Flashea temas metamorph y archivos desde el recovery con autobackup http://goo.gl/Gxucm Última edición por intronauta Día 28/12/10 a las 17:40:51. |
Los siguientes 46 usuarios han agradecido a intronauta su comentario: | ||
|
#4
|
||||
|
||||
He estado liadillo ![]() Esperemos que algún experto aporte cosillas, correcciones,... y si no, ensayo y error, como siempre ![]()
__________________
________ ★[CWMODIN] Flashea y personaliza ODIN stock roms desde el recovery http://ow.ly/kbEwt★[Universal Flasher Tool] Flashea temas metamorph y archivos desde el recovery con autobackup http://goo.gl/Gxucm |
#5
|
||||
|
||||
Esto es simplemente ¡Genial! En que tenga tiempo haré cosillas! lo prometo! La verdad que tiene mucho potencial y ayudará mucho también.
un saludo, |
#6
|
||||
|
||||
Muchas gracias intronauta
ahora comienza el festival de update.zip ![]() La de puertas que abre esto Salu2 |
#9
|
||||
|
||||
De lujo, muchas gracias. A ver si tengo tiempo y le echo un ojo porque eso de andar con diversos update.zip y con el root explorer cada vez que cambio de rom es un coñazo.
__________________
Descarga stock roms para el Galaxy Note 4 Descargar rom DN3 o DN4 del E-Team para el Note 2 Proxy Sites y Free Proxy site para combatir la censura en internet... |
#11
|
||||
|
||||
Fenomenal trabajo!!!
No entiendo muy bien porque quitas el google maps, luego se puede instalar desde el market normalmente? Yo lo unico que cambiaria de ese stock2lite, que de hecho en el mio ya lo he cambiado, es añadir la aplicación contactos en la que salen tooodas las letras ^^. Otra cosa, con un script de estos, se podrian instalar aplcaciones normales? de las que no van en system? asi podriamos simplificar aun más el tema de los reflasheos. Estoy entusiasmado con este tutorial, ME HA ENCANTADO. Otra edición, tambien se puede añadir el tema de cambiar icono de bateria y lockscreen????? Off topic!!!==== se sabe ya de algun lockscreen AOSP compatible con la JPB??? Última edición por SuperCocoV6.5 Día 29/11/10 a las 13:19:21. |
#12
|
||||
|
||||
Fenomenal trabajo!!!
No entiendo muy bien porque quitas el google maps, luego se puede instalar desde el market normalmente? Yo lo unico que cambiaria de ese stock2lite, que de hecho en el mio ya lo he cambiado, es añadir la aplicación contactos en la que salen tooodas las letras ^^. Otra cosa, con un script de estos, se podrian instalar aplcaciones normales? de las que no van en system? asi podriamos simplificar aun más el tema de los reflasheos. Estoy entusiasmado con este tutorial, ME HA ENCANTADO. Otra edición, tambien se puede añadir el tema de cambiar icono de bateria y lockscreen????? Off topic!!!==== se sabe ya de algun lockscreen AOSP compatible con la JPB??? ![]() Si, podrías crear un update.zip previo a un flasheo, donde copias todas las aplicaciones de /data /app a la /sdcard/backup/ (solo sabría hacerlo con un shell script) y volverlas a volcar después de un flasheo (no tendrías la key del market ni podrías copiar las protegidas en /data/app-private)
__________________
________ ★[CWMODIN] Flashea y personaliza ODIN stock roms desde el recovery http://ow.ly/kbEwt★[Universal Flasher Tool] Flashea temas metamorph y archivos desde el recovery con autobackup http://goo.gl/Gxucm |
#13
|
||||
|
||||
Actualizado con instrucciones para firmar los update.zip y poder usarlo en recovery 3e o cualquiera con verificación de firma.
__________________
________ ★[CWMODIN] Flashea y personaliza ODIN stock roms desde el recovery http://ow.ly/kbEwt★[Universal Flasher Tool] Flashea temas metamorph y archivos desde el recovery con autobackup http://goo.gl/Gxucm |
Los siguientes 2 usuarios han agradecido a intronauta su comentario: | ||
#16
|
||||
|
||||
![]() @vvaleta28 @vinclar esto serviria para el fix de Razvang, para los que tengan Froyo, No? |
#17
|
||||
|
||||
Muchas gracias @intronauta por esta info (si no te importa le vamos a dadar un buen uso
![]() @vvaleta28 @vinclar esto serviria para el fix de Razvang, para los que tengan Froyo, No? ![]() Última edición por vinclar Día 01/12/10 a las 20:32:53. |
#18
|
||||
|
||||
Aquí no hay firma de samsung que valga. Con redbend o blmwrite (dos binarios que aparecen en updates.zip) puedes escribir en ellas, no problem y con un 2e o CWM no tienes ni que firmar el zip. El redbend_ua que he puesto en el primer post es el del speedmod (versión CWM). Puedes bajarte el update.zip del método recovery para cambiar el p-sbl y solo sería sustituir archivos, aunque debería valer el mismo redbend del primer post (teóricamente, ya que no encuentro ninguna info de como compilarlo) Aun no lo he probado, pero si no es compatible simplemente no pasará el bloqueo y dará error el update.zip, no debería pasar nada más.
__________________
________ ★[CWMODIN] Flashea y personaliza ODIN stock roms desde el recovery http://ow.ly/kbEwt★[Universal Flasher Tool] Flashea temas metamorph y archivos desde el recovery con autobackup http://goo.gl/Gxucm |
Gracias de parte de: | ||
#19
|
||||
|
||||
@intronauta
Uf, muchas gracias por este post, la verdad que te lo has currado y resulta muy muy util, muy comodo. Una consulta... el Custom Recovery de ClockmodWork se arranca como un update.zip desde el Recovery, pero necesitamos que sea 2e porque no está firmado. He intentado firmarlo para poder usarlo en el recovery 3e, pero no ha funcionado... ¿Crees que hay algun modo de firmarlo para poder usarlo en 3e? Gracias. |
|
#20
|
||||
|
||||
@intronauta
Uf, muchas gracias por este post, la verdad que te lo has currado y resulta muy muy util, muy comodo. Una consulta... el Custom Recovery de ClockmodWork se arranca como un update.zip desde el Recovery, pero necesitamos que sea 2e porque no está firmado. He intentado firmarlo para poder usarlo en el recovery 3e, pero no ha funcionado... ¿Crees que hay algun modo de firmarlo para poder usarlo en 3e? Gracias. ![]() |
![]() |
![]() |
||||||
|