PDA

Ver la Versión Completa : Como desempaquetar y Empaquetar un firmware oficial de Archos


khabox
31/01/12, 13:50:02
Todo el merito de esto es de letama (http://forum.xda-developers.com/member.php?u=834547)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.

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.squashfsDESCARGAS
http://media.xda-developers.com/images/attach/zip.gif firmware_tools.zip (http://www.box.com/s/jl70o21lfnprs4odkebu) http://media.xda-developers.com/images/attach/zip.gif firmware_tools_32.zip (http://www.box.com/s/3d0yjhkybrhnmvy7j4fs)
Post original
http://forum.xda-developers.com/showthread.php?p=20800148

lllCisco
31/01/12, 15:37:51
Gracias, eres un crack traduciendo (además de más cosas seguramente) intentaremos hacer algo, y si algún cocinero se anima.....
Saludos

SACHOMAN69
31/01/12, 15:41:43
Que bueno a ver esto se anima,os imaguinais al bueno de darky haciendo rom para nuestros tablets seria un pasote
Saludos