Atualizando o ArchR
Como atualizar para uma nova release sem perder seus saves e configurações
O ArchR não faz updates over-the-air no momento: cada versão nova é uma release completa de imagem. A boa notícia: regravar não apaga sua partição /storage (que tem seus saves, ROMs, configurações). Só as partições BOOT e ROOT são sobrescritas.
Fluxo de atualização
Faça backup do que não dá para recriar facilmente
Mesmo que /storage sobreviva à regravação, paranoia é bom. Via SSH:
# do seu PC
scp -r root@archr.local:/storage/saves ~/r36s-backup/saves/
scp -r root@archr.local:/storage/states ~/r36s-backup/states/
scp -r root@archr.local:/storage/.config ~/r36s-backup/config/
scp -r root@archr.local:/storage/screenshots ~/r36s-backup/screenshots/ROMs são grandes; você não precisa fazer backup delas, a menos que tenha curado metadados em gamelist.xml por sistema.
Desligue de forma limpa
ES → botão de power (segurar) → Power Off. Garante que qualquer escrita pendente chegue ao SD.
Grave a nova imagem
Usando o ArchR Flasher, escolha a nova imagem e a mesma placa/painel que usou antes. O Flasher limpa a tabela de partições e grava do zero, e é justamente essa limpeza que dá a instalação limpa.
Alternativa: dd if=ArchR-R36S.aarch64-DATA-*.img of=/dev/sdX bs=4M conv=fsync status=progress.
Primeiro boot
O primeiro boot da nova imagem redimensiona a partição de storage para usar o SD inteiro de novo e reinicia. O boot 2 vê que /storage/.config já tem seus dados e pula a recriação. ROMs intactas. Saves intactos. Temas customizados intactos.
Verifique
O ES dá boot. Sua biblioteca de ROMs está lá. Seus save-states carregam. Suas configurações customizadas estão intactas.
Se algo parecer estranho, restaure seletivamente a partir do backup que você fez no passo 1.
O que é resetado por uma regravação
| Caminho | Sobrevive à regravação? |
|---|---|
/ (ROOT, ext4) | Não. Substituído |
/flash (BOOT, FAT32) | Não. Substituído |
/storage/roms/ | Sim. Sobrevive |
/storage/saves/ | Sim. Sobrevive |
/storage/states/ | Sim. Sobrevive |
/storage/screenshots/ | Sim. Sobrevive |
/storage/.config/ | Sim. Sobrevive |
/storage/.cache/services/*.conf | Sim. Sobrevive (seus serviços habilitados persistem) |
Overrides de tema em /storage/.emulationstation/themes/ | Sim. Sobrevive |
Dito de outra forma: tudo que você colocou no SD como usuário sobrevive. Tudo que vem da imagem é substituído.
O único caso de borda: se você customizou algo diretamente em /etc/ ou /usr/ (via SSH, como root), isso some, porque esses caminhos vivem no ROOT. Customizações persistentes pertencem a /storage/.config/ ou /etc/profile.d/ (que o 045-userconfig regenera a partir de /storage/.config/profile.d/ se existir).
Voltando para uma versão anterior
Mesmo fluxo na ordem inversa: regrave uma imagem mais antiga. Dados em /storage criados em um ArchR mais novo podem ter deltas no schema de configuração que o mais antigo não reconhece. Geralmente caem para os defaults sem problemas, mas em casos extremos (settings renomeadas) você pode precisar re-acionar algumas opções.
Update manual (sem o Flasher)
Se você só tem um .img.gz mais antigo:
# descompactar
gunzip ArchR-R36S.aarch64-*.img.gz
# gravar
sudo dd if=ArchR-R36S.aarch64-*.img of=/dev/sdX bs=4M conv=fsync status=progress
# (opcional) verificar checksum
sha256sum -c ArchR-R36S.aarch64-*.img.gz.sha256O Flasher adicionalmente apaga as assinaturas FAT do BOOT (1 MB no início + 1 MB no fim do disco) antes do dd, o que evita que tabelas de partição antigas confundam o U-Boot. O dd manual não faz isso. Se aparecer tela preta após regravar manualmente, rode:
sudo dd if=/dev/zero of=/dev/sdX bs=1M count=1
sudo dd if=/dev/zero of=/dev/sdX bs=1M count=1 \
seek=$(( $(blockdev --getsize64 /dev/sdX) / 1024 / 1024 - 1 ))Depois refaça o dd da imagem.
Quando o OTA chegar
Releases futuras podem trazer bundles .tar de update soltos em /storage/.update/, mesmo mecanismo que o ROCKNIX usa. Até lá, regravar é o caminho.