pdurandi escribió:Bueno, acabo de ver que en
http://psfreedom.com/wiki/IPhoneLinux al final de todo hay una actualización experimental con soporte de peek&poke. No la he probado, pero me quedo con mi actualización que funciona ;p
De todas maneras, mejor que sepamos actualizar nosotros el payload y así no tener que depender de terceros para actualizarlo.
Os dejo un tuto de cómo lo he actualizado:
Tutorial para la actualización del payload del PSFreedom para iPod touch 1G / iPhone 2G/3GPara este tutorial he utilizado Mac OS X, pero debería ser idéntico para Linux:
** Requisitos:Tener instalado MacFUSE:
http://code.google.com/p/macfuse/Tener instalado fuse-ext2:
http://sourceforge.net/projects/fuse-ext2/** Extraer payload de PSFreedom:Descargamos PSFreedom de
http://psfreedom.com/wiki/IPhoneLinuxDescomprimimos los archivos. En mi caso, se descomprimen en la carpeta /Users/Peter/Downloads/psfreedom-itouch1g
Abrimos un Terminal:
cd /Users/Peter/Downloads/psfreedom-itouch1g
gunzip android.img.gz
sudo mkdir /mnt/android
sudo fuse-ext2 android.img /mnt/android -o force
cp /mnt/android/lib/payload.bin ./
Ya tenemos el payload.bin
** Editar payload.bin para actualizarloNecesitaremos un editor de binarios (yo he utilizado Hex Fiend:
http://ridiculousfish.com/hexfiend/)
De esta dirección podremos sacar el último payload del PSGroove:
http://github.com/psgroove/psgroove/blo ... scriptor.hDe este código, nos tenemos que centrar en la función port1_config_descriptor.
De todo el código hexadecimal que hay, eliminamos lo siguiente del inicio:
0x09, 0x02, 0x12, 0x00, 0x01, 0x00, 0x00, 0x80, 0xFA, 0x09, 0x04, 0x00,
0x00, 0x00, 0xFE, 0x01, 0x02, 0x00
Todo lo que viene a continuación es el payload, pero tenemos que parchearlo para que funcione en el iPod/iPhone (según
http://github.com/kakaroto/PSFreedom/co ... b8b7028c53). Por lo tanto, hay que sustituir:
0x67, 0xFF, 0x00, 0x05, 0x63, 0xFF, 0x0B, 0xBC, 0x80, 0x7F, 0x00, 0x10,
0x28, 0x03, 0x00, 0x00, 0x41, 0x82, 0x00, 0x20, 0xE8, 0x7F, 0x00, 0x00,
por esto:
0x67, 0xFF, 0x00, 0x05, 0x63, 0xFF, 0x0B, 0xBC, 0x60, 0x00, 0x00, 0x00,
0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xE8, 0x7F, 0x00, 0x00,
Falta un último parcheo para que funcione el Backup Manager. Buscar en ASCII 'xxxx' y sustituir por 'bdvd'. O sino, en hexadecimal, sustituir:
0x78, 0x78, 0x78, 0x78
por:
0x62, 0x64, 0x76, 0x64
** Sustituir payload.bin en android.imgDesde un Terminal:
rm /mnt/android/lib/payload.bin
cp ./payload.bin /mnt/android/lib
sudo umount /mnt/android
gzip android.img
Con esto, ya tenemos el fichero android.img.gz actualizado. El zImage no se modifica.