Ver Mensaje Individual
  #1  
Viejo 31/01/12, 13:50:02
Array

[xs_avatar]
khabox khabox no está en línea
Usuario muy activo
 
Fecha de registro: jul 2010
Localización: Barcelona
Mensajes: 1,702
Modelo de smartphone: Xiaomi Mi 8
Tu operador: Otra
Post Como desempaquetar y Empaquetar un firmware oficial de Archos

Todo el merito de esto es de letama usuario de XDA yo solo lo he traducido.

POR EL MOMENTO POR LO QUE PUEDE TRADUCIRSE ES NECESARIO LINUX

He aqui un log de lo que hice para desempaquetar y volver a empaquetar el firmware 3.2.78 por si algun cocinero de roms está interesado.

La parte mas interesante es la diferencia entre la manera de extraer el kernel y el initrd de la version previa.

Para que conste, Archos cambió la compresion de initrd otra vez, Ahora es un fuchero LZO, no volverá a ser LZMA. La extraccion para G8 es igual excepto que usa el formato .GZ en vez de LZMA/LZO

Tambien adjunto las herramientas que (uso linux) Yo uso, aos-unpack tiene las claves de g8 y g9, aos-kernel-unpack es una utilidad que he escrito para extraer los ficheros zImage y initrd.

El log esta un poco caotico pero esta todo en el orden que hay que hacerlo.

Código:
aos-unpack firmware_archos_it4.aos cd firmware_archos_it4/raw dd if=9_MMCF of=init_kernel bs=264 skip=1 aos-kernel-unpack init_kernel mv unpacked-cpio.gz init-cpio.cpio.lzo mv unpacked-header init-header mv unpacked-kernel init-zImage rm unpack-unknown dd if=10_MMCF of=recovery_kernel bs=264 skip=1 aos-kernel-unpack recovery_kernel mv unpacked-cpio.gz recovery-cpio.cpio.lzo mv unpacked-header recovery-header mv unpacked-kernel recovery-zImage rm unpack-unknown mkdir init_cpio cd init_cpio cat ../init-cpio.cpio.lzo | lzop -d | sudo cpio -i --make-directories cd .. mkdir recovery_cpio cd recovery_cpio cat ../recovery-cpio.cpio.lzo | lzop -d | sudo cpio -i --make-directories sudo emacs init (comment secure part and change squashfs location: #if [ $SQUASHFS_CHECK -eq 1 ] ; then #       SQUASHFS_FULL_PATH=`get_mount_info p system`/$SECURE_SQUASHFS_FILENAME  #       $CRAMFSCHECKER $SQUASHFS_FULL_PATH #       if [ $? -ne 0 ] ; then #               $FLASH_PARTITION_ERASE init #               log_and_reboot $FS_CHECK_ERROR "Secured fs check failed" #       fi  #       $LOSETUP -o 256 `get_mount_info d rootfs` $SQUASHFS_FULL_PATH || log_and_die "Mounting system partition failed" #else mount_p data $LOSETUP `get_mount_info d rootfs` /data/media/android_3.2.78.squashfs || log_and_die "Mounting system partition failed" #fi ) sudo su rm init~ find . | cpio -o -H newc | lzop > ../new_initrd.lzo cd ../../root/data/ dd if=androidmerged.squashfs.secure of=androidmerged.squashfs bs=256 skip=1 unsquashfs androidmerged.squashfs cd squashfs-root cp ../../../../3.2.69/root/data/squashfs-root/system/bin/su system/bin chmod 6755 system/bin/su cp ../../../../3.2.69/root/data/squashfs-root/system/app/Superuser.apk system/app emacs default.prop -> ro.secure=0 -> persist.service.adb.enable=1 emacs system/build.prop -> ro.board.has_vibrator=yes tar -cvzf ../rooted_stock_3.2.78.tgz * cd .. mksquashfs squashfs-root android_3.2.78.squashfs
DESCARGAS
firmware_tools.zip firmware_tools_32.zip
Post original
Ir al link original: http://forum.xda-developers.com/showthread.php?p=20800148




Última edición por khabox Día 18/02/12 a las 13:24:05.
Responder Con Cita
Los siguientes 4 usuarios han agradecido a khabox su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]