Zainstalowałem Arch Linux na mojej karcie SD za pomocą Win32DiskImager. Jeśli zamknę RPi, wyjmę kartę, włożę ją i ponownie uruchomię RPi, wszystko działa dobrze. Ale jeśli zrobię pełną aktualizację systemu w Pacman pacman -Syu
, to będzie problem. Jeśli zamknę się i uruchomię RPi ponownie, nie ma problemu, ale jeśli zamknę się, wyjmij kartę, włóż, a następnie uruchom RPi, nie będzie można uruchomić ponownie, zawsze czekając na ekranie startowym tęczy. Nie muszę też wyjmować karty SD, wystarczy, aby zatrzymać zasilanie na 30 sekund (do całkowitego rozładowania kondensatorów) i uruchomić RPi, i pojawia się ten sam błąd.
Próbowałem wyłączyć aktualizację pakietów Raspberry Pi-firmware dodając IgnorePgk = raspberrypi-firmware
w /etc/pacman.conf
pliku, a następnie wykonać pełną aktualizację systemu, a potem wyjąć i włożyć sdcard, i to nie możecie znowu zobaczyć na ekranie tęczy, ale ten komunikat o błędzie:
[ 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> _
Ten błąd występuje również wtedy, gdy aktualizuję tylko linux-raspberrypi
pakiet, a następnie tylko reboot
nie usuwam karty SD i otrzymuję ten sam komunikat o błędzie błędu jądra.
Mam kartę Samsung SDHC 16 GB Class10 (MB-MPAGA alias MB-MPAGAEU). Próbowałem też z kartą Kingmax SDHC 16 GB Class10 i kartą Kingmax SDHC 8 GB Class6, żadne z nich nie działało.
Jeśli zignoruję pakiet raspberrypi-firmware
i linux-raspberrypi
pakiet w Pacmanie, a następnie dokonam aktualizacji systemu, nie wystąpi błąd, nawet jeśli usunę kartę SD. Więc to musi być jakiś problem w tych pakietach.
Odpowiedzi:
Publikuję to jako odpowiedź, ponieważ w komentarzach nie ma wystarczająco dużo miejsca. Ze wszystkich zebranych dotychczas informacji wynika, że problem dotyczy tylko zawartości / boot / partition. Teraz problem może być spowodowany dwiema przyczynami: 1. / boot / uszkodzenie systemu plików, które uniemożliwia bootloaderowi ładowanie plików oprogramowania układowego 2. Nowa wersja oprogramowania układowego ma regresję, która uniemożliwia działanie karty SD. Musisz sprawdzić, który z nich jest prawdziwy.
Jednym ze sposobów jest ręczna aktualizacja plików w / boot / na komputerze. Aby to zrobić, musisz najpierw upewnić się, że system nie uruchamia się bezpośrednio do systemu graficznego (ponieważ nie będziesz mieć modułów działających, a to uniemożliwiłoby używanie klawiatury / myszy w X). Następnie musisz podłączyć kartę SD do komputera, wykonać kopię zapasową jej zawartości, przejść do strony github w celu pobrania plików oprogramowania układowego, wprowadź katalog rozruchowy i pobierz następujące pliki (przesłaniające istniejące) na / boot / partition - bootcode.bin, kernel.img, start.elf, loader.bin. Nie musisz zastępować żadnych innych plików. Aby pobrać każdy plik, musisz kliknąć jego nazwę, a następnie kliknąć „wyświetl raw” i zapisz go na dysku. Po zapisaniu wszystkich plików upewnij się, że bezpiecznie wysunąłeś kartę SD i sprawdź, czy się uruchamia. W ten sposób możesz sprawdzić, czy najnowsze pliki oprogramowania układowego (jądro i bootloader) są w stanie uruchomić się z karty SD. Jeśli to prawda, możemy być pewni, że twój problem jest spowodowany przez uszkodzenie / boot / partition, a nie regresję jądra / bootloadera.
Jak wspomniano wcześniej, należy również sprawdzić, ile zielonych błysków diody można zobaczyć, gdy zobaczysz tęczowy ekran. Jakiś czas temu do programu ładującego dodano kod rozwiązywania problemów, który kilka razy będzie migał na zielono, aby pokazać, co poszło nie tak. Oto lista: 3 mignięcia: loader.bin nie znaleziono 4 mignięcia: loader.bin nie uruchomiono 5 mignięć: start.elf nie znaleziono 6 mignięć: start.elf nie uruchomiono
Jeśli nie widać żadnych błysków, oznacza to, że albo oprogramowanie układowe jest za stare, aby to obsługiwać, albo nie załadowano nawet bootcode.bin. Możesz również sprawdzić, czy partycja rozruchowa nie jest uszkodzona, sprawdzając, czy wszystkie pliki potrzebne do rozruchu (wspomniane wcześniej) są zdrowe (nie ma rozmiaru zero, istnieje itp.). Możesz także sprawdzić, który plik na partycji rozruchowej powoduje problem, przywracając tylko niektóre z nich. Na przykład przywróć tylko plik kernel.bin lub tylko start.elf + loader.bin + bootcode.bin. Dzięki temu dowiesz się, czy jest to problem z oprogramowaniem układowym lub jądrem.
źródło
raspberrypi-firmware
ilinux-raspberrypi
, i problem już nie istnieje. Wygląda na to, że zostało to naprawione. Więc nawet nie musiałem naprawiać ręcznie w bagażniku, jego działanie. Ale zaakceptuję twoją odpowiedź, ponieważ był to najbliższy problem i jestem pewien, że to rozwiąże problem.To musi być problem z kartą SD. Jeśli zainstaluję Raspbian „wheezy”, to w raspi-config rozszerzę partycję, aby wypełnić kartę, a następnie zamknę Raspberry Pi, wyjmij kartę SD, włóż ponownie, nie uruchomi się. Karta Kingmax 16 GB SDHC Class10 nie jest obsługiwana.
Próbowałem również z Kingmax 8 GB i Samsung 16 GB, jak wspomniałem w pytaniu, i żadne nie działało. Może to jakiś inny problem.
źródło
Raspberry PI - PANIC: VFS Nie można zamontować roota na nieznanym bloku (179,2) Otrzymałem ten komunikat po aktualizacji i ponownym uruchomieniu.
PANIKA: VFS Nie można zamontować root fs na nieznanym bloku (179,2) Wprowadzanie kdb (current = 0xcb846c80, pid 1) z powodu wpisu z klawiatury
Problem jest dla mnie łatwy do rozwiązania, przynajmniej dla mnie.
Więc uruchamiam się na RescueCD - każdy Linux jest OK na innym komputerze
Następnie uruchamiam naprawę systemu plików (użyj poprawnej nazwy urządzenia)
fsck / dev / sdb2
Musiałem uruchomić go wiele razy, a następnie wymusiłem sprawdzenie fsck -f / dev / sdb2
System plików został naprawiony.
Może jest tymczasowe rozwiązanie. To, co robię, to synchronizowanie pliku przed ponownym uruchomieniem. Tak więc uruchamiam synchronizację poleceń około 2 lub 3 razy przed ponownym uruchomieniem sudo. Od tego czasu nie widziałem ponownie błędu.
Aktualizacja 1: Prawdopodobnie podkręcenie ma wpływ na wygląd uszkodzenia systemu plików. Ponieważ widziałem poblems zawsze po wyższym obciążeniu, jak na przykład aktualizacja i aktualizacja.
Aktualizacja 2: Tak, jeśli nie jest to podkręcanie, nie ma problemów. Być może z inną kartą SD może również podkręcać.
Update3: Po kilku badaniach i testach dowiedziałem się, że oryginalne pudełko, którego użyłem do Pi, ma otwory wentylacyjne tylko od dołu i dlatego sterownik IO może się przegrzać i spowodował problemy z siecią Ethernet, USB i kartą SD. Ponieważ uruchomiłem go, mogłem bez problemu wykonać nawet średni przetaktowanie.
Aktualizacja 4: Malina nie powiodła się Zostało wysłane do wymiany do dostawcy, zobacz więcej informacji tutaj.
Aktualizacja 5: Malina została wymieniona przez dostawcę. Nowy kawałek wygląda OK. Miejmy nadzieję.
Aktualizacja 6: Nowy kawałek ma około 12 dni pracy 7/24 bez żadnego problemu. Jest nawet cały czas podkręcany (średni). Podejrzewam, że jeśli ktoś nadal ma problem ze stabilnością, powinien poprosić o wymianę w ramach kwarantanny. Po prostu uruchamiam go teraz z zakupionego oryginalnego plastikowego etui bez dodatkowego chłodzenia z kartą SD i zasilaczem jako pierwszym. Nie użyłem żadnych tweeków do oryginalnego systemu Raspbian.
źródło
Miałem podobny problem z paniką jądra po aktualizacji do wersji Linux-Raspberrypi 3.18.3 (BRAK WIĘCEJ najnowszej wersji Linux-Raspberrypi).
W moim przypadku nie były to uszkodzone systemy plików, bootloader ani oprogramowanie układowe. To był pakiet jądra.
Komunikat o błędzie to
Na początku myślałem, że biedna karta SDHC umarła, ale okazało się, że jest w porządku.
vfat
/boot
Partycji iext4
/
i/home
były dobrze.Spędzam trochę czasu, a na koniec sprawą jest
linux-raspberrypi-3.18.3-3
paczka.Z jakiegoś powodu pakiet aktualizuje plik /boot/cmdline.txt, który wskazuje
/
niewłaściwą partycję,/dev/mmcblk0p2
która powinna być/dev/mmcblk0p5
.Po podłączeniu karty SD do netbooka i przywróceniu do dobrej wersji cmdline.txt, podłącz ją z powrotem do Pi, system jest gotowy do pracy.
źródło