Não inicializa após remover e inserir o cartão SD?

15

Instalei o Arch Linux no meu cartão SD com o Win32DiskImager. Se eu desligar o RPi, remover o cartão, inseri-lo e iniciar o RPi novamente, tudo funcionará bem. Mas se eu fizer uma atualização completa do sistema no pacman pacman -Syu, há um problema. Se eu desligar e iniciar o RPi novamente, não há problema, mas se eu desligar, remover o cartão, inserir e iniciar o RPi, ele não poderá ser inicializado novamente, apenas aguardando sempre na tela inicial do arco-íris. Também não preciso remover o cartão SD, apenas o suficiente para interromper a fonte de alimentação por 30 segundos (até os condensadores descarregarem completamente) e iniciar o RPi, e o mesmo erro ocorre.

Tentei desabilitar a atualização do pacote raspberrypi-firmware adicionando IgnorePgk = raspberrypi-firmwareno /etc/pacman.confarquivo e faça a atualização completa do sistema, removo e insiro o sdcard e não vejo a tela do arco-íris novamente, mas recebo esta mensagem de erro:

insira a descrição da imagem aqui

[  20.217557] Kernel panic - not syncing : VFS: Unable to mount root fs on unknown-block(179,2)

PANIC: VFS: Unable to mount root fs on unknown-block(179,2)

Entering kdb (current=0xcd828ca0, pid 1) due to Keyboard Entry
kdb> _ 

Este erro também ocorre se eu atualizar apenas o linux-raspberrypipacote e, em seguida, rebootremover e remover o sdcard e receber a mesma mensagem de erro de pânico no kernel.

Eu tenho um cartão Samsung SDHC 16GB Class10 (MB-MPAGA aka MB-MPAGAEU). Também tentei com o cartão Kingmax SDHC 16GB Class10 e com um cartão Kingmax SDHC 8GB Class6, nenhum dos dois funcionou.

Se eu ignorar o raspberrypi-firmwaree o linux-raspberrypipacote no pacman, e em seguida, fazer a atualização do sistema, nenhum erro ocorre mesmo se eu remover o sdcard. Portanto, deve haver algum problema nesses pacotes.

Gergely Fehérvári
fonte
2
Como você está alimentando seu Pi? Você está removendo o cartão SD enquanto o Pi está ligado?
9788 Steve Robillard
11
Então, só funcionou uma vez? A maioria dos problemas de inicialização pode ser atribuída a alimentação insuficiente ou um mau cartão SD ou imagem
Steve Robillard
11
É a segunda vez que isso acontece. Eu reinstalei o sistema operacional, e isso não inicializa novamente. Eu uso o kingmax c10 microsd com adaptador. Eu tenho 2 adaptador, nem funciona.
Gergely Fehérvári
11
Eu sugiro que você tente uma marca diferente de cartão. Talvez você possa emprestar ou trocar com um amigo para evitar ter que comprar / esperar por outro. Além disso você tem verificado a lista de cartões verificada ( elinux.org/RPi_VerifiedPeripherals ) e Resolução de Problemas ( elinux.org/R-Pi_Troubleshooting )
Steve Robillard
2
Você teria uma chance muito maior de obter um resultado útil se editasse esta pergunta com uma reescrita completa, informando a sequência exata de operações que produz a falha.
22730 Chris Stratton

Respostas:

8

Estou postando isso como uma resposta, pois não há espaço suficiente nos comentários. Portanto, de todas as informações coletadas até agora, parece que o problema está relacionado apenas ao conteúdo do / boot / partition. Agora, o problema pode ser causado por duas coisas: 1. / boot / sistema de arquivos corrompidos, o que impossibilita o carregador de inicialização carregar arquivos de firmware 2. A nova versão do firmware possui alguma regressão que impede o funcionamento do cartão SD. Você precisa verificar qual delas é verdadeira.

Uma maneira de fazer isso seria atualizar manualmente os arquivos em / boot / no seu PC. Para fazer isso, você deverá primeiro garantir que seu sistema não esteja inicializando diretamente no sistema gráfico (porque você não terá módulos funcionando e isso impossibilitaria o uso do teclado / mouse no X). Então você precisa conectar seu cartão SD no PC, fazer backup de seu conteúdo, vá para a página do github para obter arquivos de firmware, entre no diretório de inicialização e faça o download dos seguintes arquivos (substituindo os existentes) para / boot / partition - bootcode.bin, kernel.img, start.elf, loader.bin. Você não precisará substituir outros arquivos. Para baixar cada arquivo, você deve clicar em seu nome, clicar em "visualizar raw" e salvar em disco. Depois de salvar todos os arquivos, ejete seu cartão SD com segurança e verifique se ele é inicializado. Dessa forma, você pode verificar se os arquivos de firmware mais recentes (kernel e carregador de inicialização) são capazes de inicializar a partir do seu cartão SD. Se for verdade, podemos ter certeza de que seu problema é causado por corrupção de / boot / partition, não pela regressão do kernel / bootloader.

Como mencionado anteriormente, você também deve verificar quantos flashes de led verdes você consegue ver quando vê a tela do arco-íris. Algum tempo atrás, o código de solução de problemas foi adicionado ao carregador de inicialização e ele piscará em verde várias vezes para mostrar o que deu errado. Aqui está a lista: 3 flashes: loader.bin não encontrado 4 flashes: loader.bin não lançado 5 flashes: start.elf não encontrado 6 flashes: start.elf não lançado

Se você não vir nenhum flash, seu firmware é muito antigo para suportar isso ou nem mesmo o bootcode.bin foi carregado. Você também pode verificar se a partição de inicialização não está corrompida, verificando se todos os arquivos necessários para a inicialização (mencionados anteriormente) são saudáveis ​​(sem tamanho zero, existem etc). Você também pode verificar qual arquivo na partição de inicialização causa problemas restaurando apenas alguns deles. Por exemplo, restaure apenas o kernel.bin ou apenas start.elf + loader.bin + bootcode.bin. Isso pode lhe dizer se é um problema de firmware ou kernel.

Krzysztof Adamski
fonte
RI MUITO. hoje eu atualizei o raspberrypi-firmwareeo linux-raspberrypi, eo Dont problema existe mais. Parece que foi corrigido. Então eu nem precisei consertar manualmente na inicialização, está funcionando. Mas aceitarei sua resposta, porque esse foi o mais próximo do problema e tenho certeza de que ele resolveria o problema.
Gergely Fehérvári
5

Deve ser um problema de sdcard. Se eu instalar o Raspbian “wheezy”, então no raspi-config eu expandirei a partição para encher o cartão, depois desliguei o Raspberry Pi, remova o sdcard, insira novamente, ele não inicializa. O cartão SDmax Class10 de 16GB Kingmax não é suportado.


Eu também tentei com Kingmax 8GB e Samsung 16GB, como mencionei na pergunta, e nem funcionou. Talvez seja outro problema.

Gergely Fehérvári
fonte
11
Você pode adicioná-lo à lista de cartões de problemas conhecidos aos quais vinculei anteriormente e salvar outras pessoas do problema que está tendo.
Steve Robillard
Você precisa verificar o que exatamente torna seu cartão não inicializável. Por exemplo, se você inicializar o sistema, mas nem mesmo efetuar login, ele será inicializado após ligar / desligar? Além disso, verifique se o seu led verde pisca quando a tela do arco-íris é exibida. Se sim, quantas vezes?
Krzysztof Adamski
Sim. Só não inicialize novamente, se eu fizer a atualização completa do sistema. Sem a atualização do sistema, posso remover e inserir o sdcard sem nenhum problema, e ele inicializa muito bem.
Gergely Fehérvári
2
Faça backup do conteúdo de / boot / partition no PC quando estiver trabalhando. Em seguida, faça a atualização, desligue o sistema, restaure / inicialize os arquivos no PC e verifique se isso resolve o problema. Pode haver um problema com o novo kernel que você está recebendo após a atualização ou pode haver corrupção de / boot / sistema de arquivos.
Krzysztof Adamski
Parece que esta cópia e restauração de inicialização resolveu o problema, mas isso é bom? É uma solução real ou apenas temporária? Também é interessante que parece que nada mudou. O kernel é o mesmo, e parece que apenas a versão no pacman foi alterada.
Gergely Fehérvári
0

Raspberry PI - PANIC: VFS Não é possível montar o root fs no bloco desconhecido (179,2). Recebi esta mensagem após a atualização e a reinicialização.

PÂNICO: VFS Não é possível montar o root fs no bloco desconhecido (179,2) Entrando no kdb (atual = 0xcb846c80, pid 1) devido à entrada do teclado

O problema é fácil de resolver, pelo menos para mim.

Então eu inicializo no RescueCD - qualquer Linux está OK em outro PC

Então eu executo o reparo do sistema de arquivos (use o nome correto do dispositivo)

fsck / dev / sdb2

Eu tive que executá-lo várias vezes, então forcei a verificação fsck -f / dev / sdb2

E o sistema de arquivos foi reparado.

Talvez haja uma solução temporária. O que faço é sincronizar o arquivo antes de reiniciar. Portanto, eu executo a sincronização de comando cerca de 2 ou 3 vezes antes da reinicialização do sudo. Desde isso, eu não vi novamente o erro.

Atualização 1: Provavelmente há uma influência do overclock na aparência da corrupção do sistema de arquivos. Porque eu tenho visto os problemas sempre após uma carga maior, como por exemplo, atualização e atualização.

Update2: Sim, quando não está em overclock, não há problemas. Talvez com outro cartão SD também possa funcionar com overclock.

Atualização 3: Após algumas investigações e testes, descobri que a caixa original que usei para o Pi tem orifícios de ventilação apenas para baixo e, portanto, o driver IO pode superaquecer e causou problemas com ethernet, usb e cartão SD. Como eu o abro, posso fazer o overclock médio sem problemas.

Update4: Framboesa falhou. É enviado para troca com o fornecedor. Veja mais informações aqui.

Update5: O Raspberry foi trocado pelo fornecedor. Nova peça parece OK. Vamos torcer.

Update6: A nova peça tem cerca de 12 dias de 24/07 a correr sem problemas. É sempre o tempo todo com overclock (médio). Suponho que se alguém ainda tem problemas com a estabilidade, deve pedir troca sob a quarentena. Acabei de tirá-lo da caixa de plástico original adquirida sem nenhum resfriamento adicional com o cartão SD e a fonte de alimentação como o primeiro. Não usei duas semanas no sistema Raspbian original.

user8624
fonte
0

Eu tive um problema semelhante ao pânico do kernel depois de atualizar para o linux-raspberrypi 3.18.3 (NO MORE linux-raspberrypi-latest).

No meu caso, não foram sistemas de arquivos corrompidos, carregador de inicialização ou firmware. Era o pacote do kernel.

A mensagem de erro é

Error: Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)

No começo, pensei que o pobre cartão SDHC havia morrido, mas acabou bem. A vfat /bootpartição e ext4 /e /homeforam excelentes.

Passo algum tempo e, no final, o linux-raspberrypi-3.18.3-3pacote foi o culpado.

Por alguma razão, o pacote atualiza o /boot/cmdline.txt que aponta /para a partição errada /dev/mmcblk0p2que deveria estar /dev/mmcblk0p5.

NOTA: pacman -Qo /boot/cmdline.txtinformará de quais pacotes ele vem.

Depois de conectar o SD ao netbook e reverter para o cmdline.txt correto, conecte-o novamente ao Pi, o sistema está funcionando perfeitamente.

Terry Wang
fonte