#1
|
||||
|
||||
Formatear hannspad
Quiero hacer una instalación totalmente limpia usando GATABCOMB y no se si formatear y hacerlo todo desde el recovery o desde ajustes/almacenamiento.
Espero vuestra opinión, un saludo. |
|
#2
|
||||
|
||||
Desde ajustes/almacenamiento no creo que te deje formatear nada que este montado, de modo que esa opción creo que se puede descartar.
Veamos lo que puede hacerse desde el CWM, en el menú principal hay dos opciones: wipe data -> borra la partición que se monta en /data, que es la segunda partición de la memoria interna, de unos 2Gb. wipe cache -> borra la partición que se monta en /cache, es una partición de la NAND de entre 100Mb y 200Mb. Que nos queda: /system, que es una partición de la NAND, y que supongo formateará el CWM antes de instalar la versión nueva, luego no tenemos que formatearla nosotros. /sdcard, que es la partición 1 de la memoria interna, con unos 14Gb, y que el CWM no tiene ninguna opción para formatear, luego deberíamos hacerlo de otra forma. Una posibilidad es mediante adb, que forma parte del SDK de Android, y que ¡funciona desde el CWM!, para ello habría que conectar mediante el cable USB el PC y la tablet, arrancar en modo CWM, y desde una línea de comandos ejecutar: adb devices si aparece uno es que la cosa funciona, y podemos pasar a lo siguiente: adb shell eso nos abre un shell para que podamos ejecutar comandos en el tablet desde la línea de comandos del PC, en la captura tienes las órdenes que habría que ejecutar para borrar el contenido de dicha partición (por desgracia no tiene mkfs.vfat, de modo que no se puede formatear), yo la última obviamente no la he ejecutado, de modo que no se si funcionará bien, pero espero que si. Finalmente llegaría la hora de instalar la nueva versión, para lo que habría que ejecutar un exit para volver a la línea de comandos del S.O. anfitrión, transferir la nueva rom, supongamos que se llama update.zip, y que la tienes en el directorio actual, en ese caso sería: adb push update.zip /mnt finalmente podrías ejecutar los dos wipes y instalar el update.zip. Como no esta probado no garantizo que funcione, y desde luego no creo que merezca la pena, pero si quieres probarlo ya contarás como te va. Se me ha olvidado que se vea en la captura un paso, el directorio /mnt no existe, de modo que antes del mount hay que crearlo con: mkdir /mnt Otra cosa más, la partición mmcblk2p1 es la microsd, si también la quieres formatear, esta si puede hacerse con ajustes, desmontándola previamente claro. O más fácilmente sacándola y formateándola en un PC con lector de tarjetas. En el caso de que tuvieras microsd, el paso de transferir la imágen (update.zip) a la memoria interna con adb puede sustituirse por dejar previamente la imagen en la microsd. Última edición por pelicano33 Día 14/09/11 a las 22:49:31. |
#3
|
||||
|
||||
Imagino que no lo habrás visto Pelicano33, pero en el CWM (por lo menos en la v2) en el apartado "mounts and Storage" te da opción a formatear boot, system,data,cache,sdcard y sd-ext.
En cualquier caso siempre es bueno tener otras opciones, y mas aún cuando hay "misterios sin resolver", jajaja
__________________
Si tienes pensado cambiarte a SIMYO ó JAZZTEL y no tienes invitación, ¡¡¡NO LO DUDES!!!, mándame un privado que ambos ganamos . |
#4
|
||||
|
||||
Imagino que no lo habrás visto Pelicano33, pero en el CWM (por lo menos en la v2) en el apartado "mounts and Storage" te da opción a formatear boot, system,data,cache,sdcard y sd-ext.
En cualquier caso siempre es bueno tener otras opciones, y mas aún cuando hay "misterios sin resolver", jajaja |
#5
|
||||
|
||||
Imagino que no lo habrás visto Pelicano33, pero en el CWM (por lo menos en la v2) en el apartado "mounts and Storage" te da opción a formatear boot, system,data,cache,sdcard y sd-ext.
En cualquier caso siempre es bueno tener otras opciones, y mas aún cuando hay "misterios sin resolver", jajaja En mount and storage que opcion deveria coger para formatear y tambien lo hace en fat32?????? Enviado desde mi GtabComb usando Tapatalk |
#6
|
||||
|
||||
Si quieres puedes formatearlo todo. (aunque como ya ha explicado pelicano33 no todas son necesarias si vas a reinstalar)
La sdcard es la interna y la sd-ext la externa.
__________________
Si tienes pensado cambiarte a SIMYO ó JAZZTEL y no tienes invitación, ¡¡¡NO LO DUDES!!!, mándame un privado que ambos ganamos . |
#7
|
||||
|
||||
Todas esas opciones las e visto pero no mi fiaba , gracias desdelsur y tambien a ti pelicano, de todas formas la memoria de 14g interna he mirado en propiedades y es fat32, en teoria no tiene porque haber complicaciones si formateo normal. No?????
En mount and storage que opcion deveria coger para formatear y tambien lo hace en fat32?????? Enviado desde mi GtabComb usando Tapatalk Si tienes una microsd puedes hacer una prueba, formatéala, y comprueba después si la usa al arrancar, si la formatea en ext2, no será capaz de usarla para copiar datos de las aplicaciones, y entonces estarás seguro de que formatear la sdcard es mala idea. Y en ese caso el estropicio no es grave, puedes reformatearla con fat32 en windows. Última edición por pelicano33 Día 15/09/11 a las 00:09:16. |
#8
|
||||
|
||||
Yo he probado a formatear todas menos la externa y no he tenido problemas, sigue siendo fat32. Claro que con estas cosas, te puedes llevar una sorpresa
__________________
Si tienes pensado cambiarte a SIMYO ó JAZZTEL y no tienes invitación, ¡¡¡NO LO DUDES!!!, mándame un privado que ambos ganamos . |
#9
|
||||
|
||||
flash_image erase_image dump_image mkyaffs2image aparte del ya citado mkfs.ext2, de modo que lo más probable es que para las particiones fat32 emplee el erase_image (que supongo que las borra) en lugar de formatearlas. Lo interesante es lo del dump_image, pensé que ya teníamos el método de hacer un backup perfecto, pero funciona mal, como el nvflash: /sbin # dump_image recovery /sdcard/recovery.img /sbin # dump_image system /sdcard/system.img mtd: read error at 0x03ea0000 (I/O error) /sbin # ls -l /sdcard/*.img -rwxrwxrwx 1 root root 16777216 Sep 14 22:27 /sdcard/recovery.img -rwxrwxrwx 1 root root 259653632 Sep 14 22:28 /sdcard/system.img y al fichero leido para system le faltan 128K, exactamente igual que al leer con el nvflash, se ve que lo de los sectores defectuosos de la flash (que supongo que son los sectores que no se leen) no saben tratarlo bien, aunque del CWM puede que exista el código fuente por alguna parte, y a lo mejor podríamos arreglarlo. |
#10
|
||||
|
||||
Ya está encontrado:
https://github.com/CyanogenMod/andro...ead/flashutils y la parte que interesa está en este otro directorio: https://github.com/CyanogenMod/andro...bread/mtdutils aunque si hay funciones para el manejo de los bloques defectuosos, no veo que se usen en la función del backup: in = mtd_read_partition(partition); if (in == NULL) { close(fd); unlink(filename); printf("error opening %s: %s\n", partition_name, strerror(errno)); return -1; } total = 0; while ((len = mtd_read_data(in, buf, BLOCK_SIZE)) > 0) { wrote = write(fd, buf, len); if (wrote != len) { close(fd); unlink(filename); printf("error writing %s", filename); return -1; } total += BLOCK_SIZE; } mtd_read_close(in); y lo que tiene mtd_read_data es: ssize_t mtd_read_data(MtdReadContext *ctx, char *data, size_t len) { ssize_t read = 0; while (read < (int) len) { if (ctx->consumed < ctx->partition->erase_size) { size_t avail = ctx->partition->erase_size - ctx->consumed; size_t copy = len - read < avail ? len - read : avail; memcpy(data + read, ctx->buffer + ctx->consumed, copy); ctx->consumed += copy; read += copy; } // Read complete blocks directly into the user's buffer while (ctx->consumed == ctx->partition->erase_size && len - read >= ctx->partition->erase_size) { if (read_block(ctx->partition, ctx->fd, data + read)) return -1; read += ctx->partition->erase_size; } if (read >= (int)len) { return read; } // Read the next block into the buffer if (ctx->consumed == ctx->partition->erase_size && read < (int) len) { if (read_block(ctx->partition, ctx->fd, ctx->buffer)) return -1; ctx->consumed = 0; } } return read; } finalmente read_block es: static int read_block(const MtdPartition *partition, int fd, char *data) { struct mtd_ecc_stats before, after; if (ioctl(fd, ECCGETSTATS, &before)) { fprintf(stderr, "mtd: ECCGETSTATS error (%s)\n", strerror(errno)); return -1; } loff_t pos = lseek64(fd, 0, SEEK_CUR); ssize_t size = partition->erase_size; int mgbb; while (pos + size <= (int) partition->size) { if (lseek64(fd, pos, SEEK_SET) != pos || read(fd, data, size) != size) { fprintf(stderr, "mtd: read error at 0x%08llx (%s)\n", pos, strerror(errno)); } else if (ioctl(fd, ECCGETSTATS, &after)) { fprintf(stderr, "mtd: ECCGETSTATS error (%s)\n", strerror(errno)); return -1; } else if (after.failed != before.failed) { fprintf(stderr, "mtd: ECC errors (%d soft, %d hard) at 0x%08llx\n", after.corrected - before.corrected, after.failed - before.failed, pos); // copy the comparison baseline for the next read. memcpy(&before, &after, sizeof(struct mtd_ecc_stats)); } else if ((mgbb = ioctl(fd, MEMGETBADBLOCK, &pos))) { fprintf(stderr, "mtd: MEMGETBADBLOCK returned %d at 0x%08llx (errno=%d)\n", mgbb, pos, errno); } else { return 0; // Success! } pos += partition->erase_size; } errno = ENOSPC; return -1; } y como se ve no hay gestión de los bloques defectuosos, pone un error y punto. |
#11
|
||||
|
||||
Pelicano33, sería un puntazo fixear el CWM, le he echado un vistazo y la verdad es que a mi se me queda muy grande .
En cualquier caso creo que seria buena idea intentar contactar con Paul de android.modaco.com e intentar ponerle al tanto de lo que has averiguado. (parece que el chico esta de vaciones)
__________________
Si tienes pensado cambiarte a SIMYO ó JAZZTEL y no tienes invitación, ¡¡¡NO LO DUDES!!!, mándame un privado que ambos ganamos . |
#12
|
||||
|
||||
Pelicano33, sería un puntazo fixear el CWM, le he echado un vistazo y la verdad es que a mi se me queda muy grande .
En cualquier caso creo que seria buena idea intentar contactar con Paul de android.modaco.com e intentar ponerle al tanto de lo que has averiguado. (parece que el chico esta de vaciones) nandroid backup -> hace un backup creando él el directorio a partir de la fecha y la hora. nandroid restore directorio -> recupera un backup del directorio dado. Habrá que probar si en efecto es así, y si los backups del CWM se llevan bien con el nvflash, o en caso contrario como transformarlos, y ya tendríamos el problema resuelto. |
#13
|
||||
|
||||
Bueno, pues funciona, he hecho lo siguiente:
a) Copia de la ROM actual con CWM (la hice con nandroid por probarlo, pero vale con el interfaz suyo). b) Arranco, conecto el bicho por USB al PC, y paso los ficheros de la copia que acabo de hacer al directorio en que tengo el nvflash, se sobreescribe el system.img si ya existe. c) Modifico el fichero cfg para que la partición SOS sea recovery.img, la LNX sea boot.img, y la APP system.img (si no lo era ya). d) Apago, enciendo en el modo APX, y transfiero el backup anterior con el fichero .bat correspondiente. e) Cuando reinicie apago, enciendo en CWM (que acabamos de instalar con el recovery.img) y hago un wipe data y wipe cache. f) Vuelvo a apagar, enciendo en modo normal y arranca como si fuera nuevo. |