Atualizando o ArchR
Como atualizar para uma nova release sem perder seus saves e configurações
Há duas formas de atualizar. O archr-update atualiza o sistema instalado no lugar, com o pacman. Regravar o cartão escreve uma imagem nova inteira e é a opção mais segura quando uma release muda o bootloader ou o layout de partições.
Nos dois casos a sua partição /storage sobrevive: saves, ROMs e configurações não são tocados por uma regravação, só BOOT e ROOT são sobrescritas.
Atualização no lugar
O archr-update é um wrapper em volta do pacman. Ele aponta o /etc/pacman.d/mirrorlist para o repositório de pacotes do ArchR publicado no GitHub Releases e roda o sync e o upgrade de sempre:
archr-update check # sincroniza os metadados e lista o que está pendente
archr-update update # pacman -Syu
archr-update info # versão atual, canal e mirrorO canal vem de updates.branch no /storage/.config/system/configs/system.cfg e pode ser stable, next ou dev. Qualquer outro valor cai para stable. Cada canal corresponde a uma tag de release em github.com/archr-linux/archr-repo: repo-stable, repo-next, repo-dev.
A primeira execução em uma instalação nova baixa uma semente do banco de pacotes local. Uma imagem recém-gravada não carrega banco do pacman, então sem essa semente o pacman não teria com o que comparar e toda verificação diria que não há nada a fazer.
A atualização precisa de rede funcionando; o archr-update confere isso antes e para com uma mensagem se não houver.
Fluxo de regravação
Faça backup do que não dá para recriar facilmente
A /storage sobrevive à regravação, mas uma cópia não custa nada. Via SSH:
# do seu PC
scp -r root@archr.local:/storage/roms/savestates ~/r36s-backup/savestates/
scp -r root@archr.local:/storage/.config ~/r36s-backup/config/
scp -r root@archr.local:/storage/roms/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 o mesmo console e overlay de painel que usou antes. O Flasher limpa o cartão e grava do zero, e é justamente isso 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 cartão inteiro de novo e reinicia. O segundo boot vê que /storage/.config já tem seus dados e pula a recriação, então ROMs, saves e temas customizados continuam como estavam.
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/roms/savestates/ | Sim. Sobrevive |
/storage/roms/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.
Qual usar
Use o archr-update no caso comum: versões novas de emuladores, correções, pacotes novos.
Regrave quando as notas da release disserem que o bootloader, o kernel ou o layout de partições mudou, porque isso está fora do que o pacman substitui. Regravar também devolve uma partição ROOT limpa se você andou editando arquivos de sistema na mão.