Punto 2. BACKUP DE LA ROM.
A no ser que nuestro telefono funcione mal de inicio, lo primero es hacer un backup de todo completo.
2a . Rotear el tlf : Ser
root significa tener acceso a todo. Los tlf chino ya vienen con un explorador con acceso root (acceso a la carpeta principal, system, data….) llamado Root explorer (por play store teneis fx explorer y su add root). Si intentais entrar comprobareis que podeis, sin embargo si quereis hacer una copia no os dejara hacerla completa. Yo he probado varios programas pero
el que no me ha fallado nunca ha sido MtkDroidTool. Podeis probar primero SRSroot, Root_with_Restore_by_Bin4ry_v3 y si no van seguis con Mtkdroidtools. Para ello conecto el tlf como el punto 1b.
Lo que ocurre es que los moviles chinos vienen “pre-roteados” (ya tienen su, superuser y root explorer), de manera que si tenemos acceso a todo con un explorador root, por eso algunos programas nos dicen que ya somos root y otros se dedican a sobreescribir el fichero su y superuser. E incluso exploradores de archivos que nos dicen que leen root tambien fallan. Y esto es debido a que aun falta modificar el boot.ini y
recovery.ini para que sea detectado como root completo.
SRSROOT Os descargais el programa, lo instalais y le dais a rootear. Si os aparece en la pantalla del movil restablecer datos, aceptais y listo. Se reinicia y ya esta.
[url]http://www.srsroot.com/[/URL]
ROOT_with_Restore Os descargais el programa, lo descomprimis y ejecutais Runme.bat. Si vuestro modelo de movil lo identificais en pantalla elegis la opcion concreta, en caso contrario elegis la opcion 4. Si Os aparece en la pantalla del movil restablecer datos, aceptais y listo. Se reinicia y ya esta.
http://www.4shared.com/rar/YmQ83vnS/root_with_restore_by_bin4ry_v3.html
MTKDROIDTOOL 2.45 El proceso root en mtkdroidtool es copiar su, superuser, rootexplorer y modificar el boot.img y system.img.. Los dos primeros es para controlar las aplicaciones que piden acceso root y tengamos el conocimiento de ello, de tal manera que le demos permiso o no. El tercero es copiar el explorador root a /system y el cuarto y quinto es para tener acceso a todo.
Ejecuto mtkdroidtools y no me muestra los valores de "Uboot built" y "lcd driver IC" y como consecuencia en la siguiente pantalla no me habilita la pestaña "BACKUP". Pues ahora pulso sobre el boton ROOT, y entonces ya me muestra los valores que faltaban y me habilita la opcion de BACKUP. Ahora pulso sobre BACKUP y me hace la copia completa en un subdirectorio de mi programa mtkdroidtools llamado “backups”. Una vez terminado vamos a rootearlo. Podreis observar que junto la pestaña de "Recovery and Boot" tenemos tres opciones. Seleccionamos "To choose the boot.img file" y pulsamos sobre la pestaña de "Recovery and Boot". Ahora le indicamos la ruta de la copia hecha anteriormente para que encuentre los ficheros boot.img y recovery.img. En este momento los modifica para que seamos root y cuando nos pregunte si queremos meterlos al tlf le decimos que si a los dos, pero seleccionamos no al arrancar en el recovery. Reiniciamos y listo.
Tambien podemos hacer lo siguiente: una vez hecha la copia desconectamos el tlf. Observar que junto la pestaña de "Recovery and Boot" tenemos solo 1 opcion. Seleccionamos "To choose the boot.img file" y pulsamos sobre la pestaña de "Recovery and Boot". Ahora le indicamos la ruta de la copia hecha anteriormente para que encuentre los ficheros boot.img y recovery.img. En este momento los modifica para que seamos root y los guarda en un subdirectori llamado "recovery". Conectamos el tlf, seleccionamos "Install already prepared files" y seleccionamos los archivos parcheados de nuestro directorio "recovery", le decimos que los meta y cuando pregunte reiniciar en recovery le decimos que no. Reiniciamos manualmente nosotros el tlf.
Si tuvieramos alguna pega, antes del proceso pulsamos sobre la pestaña ROOT para ser root temporales (esta pestaña solo saldra si el tlf detecta que no somos root, en caso contrario no la muestra). Si pulsamos sobre SuperUser nos reinstala rootexplorer, su, mobileuncle tools y superuser. En este ultimo caso tenemos dos a elegir, seleccionamos una y ya esta. La funcion de los dos es la misma, solo que son de fabricantes diferentes: euchainfire (mas opciones de personalizacion) y noshufou. Podeis buscarlos por Playstore. Respecto a mobileuncletools podeis descargar la ultima version tambien de playstore y sustituirla por la instalada. Si quereis tener las ultimas versiones en mtkdroidtool, descargarlas de playstore y copiarlas al directorio "files" de mtkdroidtools (manteniendo el mismo nombre).
Ahora ya deberia mostrar todos los valores en pantalla el programa mtkdroidtools.
http://www.4shared.com/rar/D_qa7Soz/mtkdroidtools_v245.html
2b. Generar el scatter file : El primerpaso que debemos hacer es generar el fichero scatter de nuestro telefono. El firmware se compone de varias partes ( secciones o direccionamiento) y este fichero indica el inicio y final de cada una. OJO NO TODOS LOS SCATTER SON IGUALES, es de cajon: no todos los telefonos son iguales. Para generarlo hay varias formas, pero aquí explicare como se hace con mtkdroidtools y mtkromstudio:
a. Mtkdroidtool. Conectamos el telefono en modo
adb, y arrancamos el programa. Un vez detectado el movil en el programa nos aparece un boton “BLOCKS MAP”. Pinchamos sobre el y nos aparece la informacion del fichero scatter. Ahora le damos a “Create scatter file” y lo salvamos. No lo he dicho aun, pero la correcta organización e identificacion de carpetas y archivos es primordial. El programa usa nombres genericos, po reso debemos tener claro donde lo guardamos.
b. MtkRomStudio. Este programa crea el scatter desde un fichero .info. ¿de donde saco el fichero info? Pues del telefono. Y esto es manualmente. Vamos al directorio /PROC de nuestro telefono y alli hay un fichero quese llama DUMCHAR_INFO. Lo copiamos en la sdcard, conectamos el telefono en modo almacenamiento masivo y copiamos este fichero a nuestro pc. Para que nos lo reconozca el programa debemos sustituir el guion bajo por un punto (extension info = DUMCHAR.INFO). Abrimos elprograma mtkromstudio, pulsamos “CREATE ROM” , seleccionamos nuestro fichero renombrado y automaticamente nos da la opcion de guardado del fichero scatter de nuestro movil. Observar que si no conectamos nuesto telefono al pc y arrancamos mtkdroidtool, tambien tenemos la opcion de generar el scatter en offline.
http://www.4shared.com/archive/E8eGP0yy/mtk_rom_studio_1177301.html
2c . Backup con SPFlastool : Spflastool es el programa utilizado para hacer copiar el soft o extraerlo del tlf.
http://www.4shared.com/zip/tg5llCpp/sp_flash_tool_v313040119.html
De momento no conectamos el telefono al ordenador. Una vez que tenemos el fichero scatter creado ahora toca configurar las secciones a leer. Para ello nos valemos del punto proceso 1. Cuando hemos abierto mtkdroidtools y hemos pulsado sobre “BLOKCS MAP” o hemos abierto MtkRomStudio y hemos abierto el fichero info, inmediatamente se nos aparece en pantalla una tabla (con filas y columnas), la cual nos muestra todo el mapa de memoria de nuestro telefono. Pues bien, estos valores seran los que nos serviran para configurar
flashtool para hacer la
lectura de todas las secciones. Los valores de esta tabla esta indicada en hexadecimal. Podeis hacer una prueba y asi os familiarizais un poquito con hexadecimal los que lo desconocen. Abrir calculadora de
windows y la poneis en hexadecimal (Menu Ver>Programador).
Os saldra algo parecido al fichero firmware.info (/proc/dumchar_info) :
Nombre…………..tamaño…………………Inicio…………………………..particion
preloader 0x0000000000040000 0x0000000000000000 2 /dev/misc-sd
dsp_bl 0x00000000005c0000 0x0000000000040000 2 /dev/misc-sd
mbr 0x0000000000004000 0x0000000000000000 2 /dev/block/mmcblk0
ebr1 0x0000000000004000 0x0000000000004000 2 /dev/block/mmcblk0p1
pmt 0x0000000000400000 0x0000000000008000 2 /dev/block/mmcblk0
nvram 0x0000000000500000 0x0000000000408000 2 /dev/block/mmcblk0
seccfg 0x0000000000020000 0x0000000000908000 2 /dev/block/mmcblk0
uboot 0x0000000000060000 0x0000000000928000 2 /dev/block/mmcblk0
bootimg 0x0000000000600000 0x0000000000988000 2 /dev/block/mmcblk0
recovery 0x0000000000600000 0x0000000000f88000 2 /dev/block/mmcblk0
sec_ro 0x0000000000600000 0x0000000001588000 2 /dev/block/mmcblk0p2
misc 0x0000000000060000 0x0000000001b88000 2 /dev/block/mmcblk0
logo 0x0000000000300000 0x0000000001be8000 2 /dev/block/mmcblk0
expdb 0x0000000000200000 0x0000000001ee8000 2 /dev/block/mmcblk0
android 0x0000000020100000 0x00000000020e8000 2 /dev/block/mmcblk0p3
cache 0x0000000007100000 0x00000000221e8000 2 /dev/block/mmcblk0p4
usrdata 0x0000000039100000 0x00000000292e8000 2 /dev/block/mmcblk0p5
fat 0x0000000083718000 0x00000000623e8000 2 /dev/block/mmcblk0p6
bmtpool 0x0000000001500000 0x00000000ff9f00a8 2 /dev/block/mmcblk0
Si observamos la tabla, en cada fila se describe el mapa de memoria que ocupa cada seccion del firmware y como es logico estan correlativas sus posiciones. Pues en la columna SIZE (tamaño) comenzamos a sumar esos valores en orden y comprobaremos que coinciden exactamente con los valores de la siguiente otra columna, “part adress” para mtkromstudio y “scatter” para mtkdroidtools. Esta otra columna es la direccion de inicio de una region concreta. Podeis ir comprobando el nombre de la seccion por cada fila. Bien pues ahora toca abrir Spflastool y nos vamos a la pestaña “Read back”. Aquí iremos añadiendo manualmente todas las seccionesque queremos leer de nuestro dispositivo.
Le damos a “add” y el programa añade una seccion con nombre “rom_0”. Bien pulsamos dos veces sobre “rom_0” y la primera pregunta es el nombre con el que sera guardado. Ese nombre sera el nombre de la seccion a leer: respetar MAYUSCULAS y MINUSCULAS en el nombre. (
Nombres de las secciones: preloader.bin / DSP_BL / MBR / EBR1 / uboot.bin / boot.img / recovery.img / secro.img / logo.bin / system.img / cache.img / userdata.img )
Aceptamos y nos aparece una ventana para configurar la seccion. Seleccionamos “Read Page Only” y ahora toca introducir los valores de la tabla anterior explicada: “
star adress” es el valor de inicio de la seccion a leer (“part adress” para mtkromstudio y “scatter”para mtkdroidtools) y continuacion en “Length” es el tamaño de esa seccion (“size” para ambos programas). Una vez introducidos aceptamos y ya tenemos configurado nuestra primera seccion a leer. Y continuamos con las demas.
Nota: podemos escribir los valores en decimal y los pasa a hexadecimal automaticamente, pero es mas lioso. Esto lo dejo para el comando dd.
Una vez configuradas todas, si pulsamos sobre “Read Back” nos pide nuestro fichero scatter, pues bien en la pestaña “download” del programa, observamos que solo tenemos cargado (y lo hace el propio programa) un fichero. A continuacion pulsamos sobre el boton “Scatter-loading” y nos pide la ubicación de nuestro fichero scatter creado anteriormente (en realidad esto es lo primero hacer). Una nota sin importancia: observar la tonteria de tener que cargar este fichero, pues es trabajar 2 veces. Lo suyo hubiera sido cargar el fichero y seleccionar las secciones a descargar, sin embargo te obliga a meter manualmente las direcciones. Bien MUCHO OJO CON LAS DIRECCIONES A LEER, ASEGURARSE BIEN PARA TENER UNA COPIA EN CONDICIONES. De todas maneras no preocuparse si no haceis bien este punto porque hay otras formas de hacerlo de manera automatica.
Una vez configuradas las secciones pulsamos sobre el boton “Readback” (tiene una flecha azul encima), y el programa queda en modo espera. Ahora con el telefono apagado y sin bateria lo conectamos con el cable usb al ordenador. Conectamos la bateria al telefono y automaticamente el programa spflashtool debe detectar el movil y se pone a leer. Puede tardar unos 15 sg para detectar bien el movil, depende de lo que tarde windows en instalarlo asi que paciencia. Una vez detectado se pone a leer. Aquí mucha mas paciencia puespuede tardar cerca 1 hora.
Otra nota: en mi modelo de tlf F9300 para que lo detecte apagado el ordenador, conecto el cable usb y luego la bateria. Sin embargo he comprobado en otro modelo i93000, que con solo conectar el cable usb es suficiente.
De todas maneras buscar tambien el foro concreto de vuestro terminal y alli tendreis ayuda especifica. Cada vez que usemos Spflashtool hay que actualizar el tlf de fecha y hora.
2d . Mtkdroidtool: copia de rom completa con scatter file (indico inicio y final de cada seccion) à Una vez rooteado el tlf, conectamos el tlf en modo 1a . Arrancamos mtkdroidtools y simplemente la damos a la pestaña BACKUP. Nos hace una copia completa de nuestra rom en un subdirectorio llamado backups.
2e . Mtkdroidtool: full rom: le he llamado full rom por ponerle un nombre. Si tomamos de ejemplo el mapa de memoria del post anterior:
Ejecuto SPflashTool y en “ReadBack” y hago una sola lectura de todo:
Nombre fichero: ROM_0
Inicio: 0x0000000000000000
Final: 0x00000000623e8000 (yo copio solo hasta /data)
Ahora SPFlashTool me extrae un solo fichero con todos los datos. Conectamos el tlf en modo
ADB y ejecutamos MTKdroidtools. Mtkdroidtools tiene una pestaña que se pone activa cuando nuestro tlf esta conectado y detectado (root necesario para copia total de system), y dice “ To process File ROM_from flashTool”. Pulsamos sobre ella, seleccionamos fichero ROM_0 y ahora nos crea copia de nuestro firmware automaticamente. Ubicación siempre en directorio “backup” de mtkdroid.
Creo que lo que hace es buscar el scattre file en el movil y luego crea las secciones del fichero. La verdad que esperaba hacerlo offline, elegir ROM_0 y después opción de elegir mi firmware_info o mi scatter file en offline. Pero bueno, haciéndolo Online descarta fallos de equivocación de estos ficheros.
2f. Adaptar copia a Spflastool : una vez copiadas los datos con Spflastool o con mtkdroidtool, si probamos a cargarlos con SpFlastool comprobaremos que nos da error en algun fichero. Para evitar esto hay que prepararlos para el programa. Podemos hacerlo de dos maneras:
1.Mtkdroidtools. Arrancais el programa y seleccionais “To prepare blocks for
Flash Tool”, seleccionais el fichero md5 de vuestra copia y crea un nuevo subdirectorio “!Files_to_FlashTool” con los datos preparados.
2.Mtkromstudio. Arrancais el programa, seleccionais “create rom” y le decis el fichero firmware.info que busca de la copia de mtkdroidtool. Crea un directorio bak con los ficheros originales que ha modificado.
NOTAS: 1.para hacer la modificacion con mtkromstudio es recomendable hacer antes una copia del directorio original del firmware, pues los modifica de la ubicación original, aunque nos crea una copia en un subdirectorio llamado bak.. Esto no es inconveniente, pero no debeis trabajar sobre unos mismos ficheros con programas diferentes. Os dara error de checksum en alguno. 2. Veremos mas adelante otras formas de hacer las copias, y podeis tambien adaptarlas para flashtool con estos programas.
El adaptarlas no se porque es, pero es necesario y obligatorio para poder cargar bien algunas secciones.