Files
TimbreESP32/docs/BACKUP.md
Angel Ivan 2a9eabce14 Fist commit
2026-10-02 12:08:21 -06:00

68 lines
2.1 KiB
Markdown

# Copia de seguridad del ESP32
`scripts/backup_device.py` realiza una copia de solo lectura de las regiones críticas del ESP32. No escribe en la flash y no ejecuta `erase_flash`.
## Copia recomendada
Cerrar el Serial Monitor y ejecutar:
```bash
cd ~/Desktop/TimbreESPv2
python3 scripts/backup_device.py --scope data
```
El script autodetecta el puerto USB y usa 115200 baudios, que es más seguro para cables CH340 y hubs USB.
Para incluir también la imagen completa de 4 MiB:
```bash
python3 scripts/backup_device.py --scope full
```
La copia completa puede fallar en algunos cables CH340. Si falla, usar la copia de datos:
```bash
python3 scripts/backup_device.py --scope data --baud 115200
```
## Regiones guardadas
| Archivo | Offset | Tamaño |
|---|---:|---:|
| `bootloader.bin` | `0x01000` | 32 KiB |
| `partitions.bin` | `0x08000` | 4 KiB |
| `nvs.bin` | `0x09000` | 20 KiB |
| `otadata.bin` | `0x0E000` | 8 KiB |
| `littlefs.bin` | `0x350000` | 704 KiB |
En el modo `full` también se guardan `app0.bin`, `app1.bin` y `flash-full.bin`.
## Archivos generados
Cada copia incluye:
- `manifest.json`: fecha, puerto, baudios, tamaños y hashes SHA-256;
- `partitions.csv`: tabla de particiones decodificada;
- `device-info.txt`: identificación del chip y flash;
- `README.txt`: advertencia de restauración;
- `logs/`: salida de `esptool`.
El directorio predeterminado es:
```text
~/Documents/TimbreESPv2-backups/backup-YYYYMMDD-HHMMSS/
```
Los archivos se crean con permisos privados porque `nvs.bin` puede contener credenciales WiFi y autenticación.
## Restauración
No hay restauración automática. Antes de escribir cualquier imagen:
1. Comparar `partitions.csv` con la tabla esperada.
2. Verificar el tamaño de flash del ESP32.
3. Confirmar offsets y tamaños.
4. Guardar otra copia antes de modificar la flash.
5. No utilizar un directorio marcado con `INCOMPLETE.txt`.
La copia raw de LittleFS contiene el sistema de archivos completo; no son archivos individuales extraídos. Para consultar o migrar su contenido hay que montarlo en un entorno compatible o implementar una extracción posterior.