Restaurar PI do próprio Pi

8

Apenas comecei a brincar com um modelo de raspberry pi b + eu já estava sentado há muito tempo e tinha uma pergunta? É possível restaurar um Raspberry Pi de si mesmo?

Por exemplo: Posso colocar uma imagem no cartão microSD e depois reiniciar o Pi para instalar a nova imagem, eliminando tudo o que foi instalado anteriormente e começar de novo? É possível fazer isso sem outro computador para formatar e criar uma imagem do cartão SD? Atualmente, tenho raspbian instalado, se isso ajudar.

TommyBs
fonte

Respostas:

8

Não é bem assim. Você sobrescreveria as tabelas de partição quando a revelasse e substituísse as tabelas por aquelas da imagem. Depois que o programa de criação de imagens é concluído, ele libera o identificador do arquivo para o arquivo de imagem, mas como a partição em que o arquivo é armazenado tecnicamente não existe mais, o programa não pode lê-lo novamente. Em teoria, funcionaria apenas uma vez.

Além disso, o arquivo precisa estar no final do espaço de armazenamento para não ser substituído imediatamente.

Ou pelo menos é assim que eu acho que o Linux lida com arquivos. A última vez que tentei isso (fiz alguns meses atrás), o Pi simplesmente travou. Com base nesta experiência, você realmente precisa de outro computador para recriar novamente a imagem do cartão SD.

Uma alternativa seria seguir o método NOOBS e armazenar os arquivos de inicialização em uma partição separada e inicializar no NOOBS ou em um sistema operacional, se instalado. O NOOBS já faz o que você disse, mas, em vez de criar uma nova imagem de todo o SD, ele apenas substitui as partições do sistema operacional. Este link mostra como o NOOBS funciona.

PNDA
fonte
5
Tecnicamente, você poderia fazer isso usando (ou talvez até fazendo um chroot com) um sistema raiz baseado em RAM (e uma imagem personalizada muito pequena ou uma do armazenamento USB), mas acho que está muito além do nível de habilidade da maioria dos usuários para valer a pena . Usar um sistema com um FS raiz em outro dispositivo seria mais fácil, mas também não vale a pena, a menos que seja isso que você está fazendo para começar.
goldilocks
@goldilocks Talvez eu tente isso algum dia. Se valer a pena, eu vou abrir o código.
PNDA 23/04
3

Com um cartão SD grande o suficiente, você pode ter 2 opções de inicialização utilizáveis ​​- e manipular o que não está em uso, o que é bom, depois atualize o grub e reinicie no novo sistema operacional.

Você não pode gravar nas partições do sistema operacional atualmente montadas sem uma falha espetacular, pelo menos não no atacado, como você está pedindo. Além disso, o Linux armazena em cache os dados, para que sua nova gravação seja bixixada quando o cache envia dados antigos para os novos ...

Mark Williams
fonte
0

Isso pode ser feito se você dividir a operação em etapas. Com a ajuda de uma distribuição baseada em RAM , como por exemplo o meu projeto Nard , é possível liberar o cartão SD para operações complexas.

  1. Extraia o conteúdo de / boot do Nard (ou outra distribuição similar)
  2. Apague tudo no seu cartão Raspbian SD / inicialização atual
  3. Armazene Nard / boot / * no cartão Raspbian SD / boot
  4. reiniciar
  5. Agora você deve estar executando a partir da RAM e, assim, pode fazer o que quiser com o cartão SD, como fazer o download de qualquer imagem necessária e limpar o SD inteiro com algo novo.
Ronny Nilsson
fonte
0

Parece que você poderia usar o rpi-clone? Uso o rpi-clone todos os dias há algumas semanas para clonar meu RPi3 em execução, Raspian Jessie. Demora cerca de 10 minutos para clonar em um segundo cartão Micro SD. Depois, desligo, retiro os dois cartões, guardo o original e inicializo usando o clone. Portanto, eu sei que o backup funciona. Giro 3 cartões dessa maneira, para ter sempre um cartão seguro. Funciona para mim ;-)

Geoff
fonte
0

Certamente você pode. Basta manter pressionada a tecla Shift quando a tela branca / cinza aparecer. Ele até diz isso na tela.

Chiwda
fonte