Не загружается после извлечения и установки SD-карты?

15

Я установил Arch Linux на мою SD-карту с Win32DiskImager. Если я выключаю RPi, вынимаю карту, вставляю ее и снова запускаю RPi, все работает нормально. Но если я делаю полное обновление системы в pacman with pacman -Syu, возникает проблема. Если я выключу и снова начну запускать RPi, то это не проблема, но если я выключу, вытащу карту, вставлю, а затем запустите RPi, он не сможет загрузиться снова, просто ожидая всегда на начальном экране. Мне также не нужно извлекать SD-карту, достаточно только для отключения питания на 30 секунд (до полной разрядки конденсаторов) и запуска RPi, и возникает та же ошибка.

Я попытался отключить обновление пакета raspberrypi-прошивки путем добавления IgnorePgk = raspberrypi-firmwareв /etc/pacman.confфайл, а затем сделать полное обновление системы, а затем я удалить и вставить SDCard, а затем я не увижу экран радуги, но получаю сообщение об ошибке:

введите описание изображения здесь

[  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> _ 

Эта ошибка также возникает, если я только обновляю linux-raspberrypiпакет, а затем только rebootи не удаляю sdcard, и получаю то же сообщение об ошибке паники ядра.

У меня есть карта Samsung SDHC 16 ГБ Class10 (MB-MPAGA или MB-MPAGAEU). Я также пробовал с картой Kingmax SDHC 16 ГБ Class10, и с картой Kingmax SDHC 8 ГБ Class6 ни одна не работала.

Если я игнорировать raspberrypi-firmwareи linux-raspberrypiпакет в Pacman, а затем сделать обновление системы, ошибка не происходит , даже если я удалить SDCard. Так что это должно быть проблемой в этих пакетах.

Гергели Фехервари
источник
2
Как ты питаешь своего Пи? Вы извлекаете SD-карту, когда Pi включен?
Стив Робиллард
1
Так это сработало только один раз? Большинство проблем с загрузкой может быть связано с недостаточным энергопотреблением или плохой SD-картой или образом
Стив Робиллард
1
Это второй раз, когда это происходит. Я переустановил ОС, и это снова не загрузится. Я использую Kingmax C10 MicroSD с адаптером. У меня 2 адаптера, ни один не работает.
Гергели Фехервари
1
Я бы посоветовал вам попробовать другую марку карты. Возможно, вы можете одолжить или обменять у друга, чтобы избежать необходимости покупать / ждать другого. Также вы проверили проверенный список карт ( elinux.org/RPi_VerifiedPeripherals ) и руководство по устранению неполадок ( elinux.org/R-Pi_Trou устранение неисправностей )
Стив Робиллард
2
У вас будет гораздо больше шансов получить полезный результат, если вы отредактируете этот вопрос с полной перепиской, указав точную последовательность операций, которая приводит к сбою.
Крис Страттон

Ответы:

8

Я публикую это как ответ, так как в комментариях недостаточно места. Таким образом, из всей информации, собранной до сих пор, кажется, что проблема связана только с содержимым / boot / раздела. Теперь проблема может быть вызвана двумя причинами: 1. / boot / повреждение файловой системы, из-за которого загрузчик не может загрузить файлы прошивки 2. Новая версия прошивки имеет некоторые недостатки, которые мешают работе вашей SD-карты. Вы должны проверить, что из этого верно.

Один из способов сделать это - вручную обновить файлы в / boot / на вашем ПК. Чтобы сделать это, вы должны сначала убедиться, что ваша система не загружается напрямую в графическую систему (потому что у вас не будет работающих модулей, и это сделает невозможным использование клавиатуры / мыши в X). Затем вы должны подключить SD-карту к ПК, сделать резервную копию ее содержимого, перейти на страницу github для файлов прошивки., введите загрузочный каталог и загрузите следующие файлы (переопределяя существующие) в ваш / boot / раздел - bootcode.bin, kernel.img, start.elf, loader.bin. Вам не нужно переопределять любые другие файлы. Чтобы скачать каждый файл, вы должны нажать на его имя, затем нажать «просмотреть в сыром» и сохранить его на диске. После того, как вы сохраните все файлы, убедитесь, что вы извлекли SD-карту и проверьте, загружается ли она. Таким образом, вы можете проверить, могут ли новейшие файлы прошивки (ядро и загрузчик) загружаться с вашей SD-карты. Если это так, тогда мы можем быть уверены, что ваша проблема вызвана повреждением / boot / раздела, а не регрессией ядра / загрузчика.

Как упоминалось ранее, вы также должны проверить, сколько зеленых светодиодных вспышек вы видите, когда видите радугу. Некоторое время назад код для устранения неполадок был добавлен в загрузчик, и он несколько раз мигнет зеленым, показывая, что пошло не так. Вот список: 3 вспышки: loader.bin не найден 4 вспышки: loader.bin не запущен 5 вспышек: start.elf не найден 6 вспышек: start.elf не запущен

Если вы не видите никаких вспышек, то либо ваша прошивка слишком старая, чтобы поддерживать это, либо даже не загружен bootcode.bin. Вы также можете проверить, не поврежден ли загрузочный раздел, проверив, все ли файлы, необходимые для загрузки (упомянутые ранее), являются нормальными (не нулевого размера, существуют и т. Д.). Вы также можете проверить, какой файл в загрузочном разделе вызывает проблемы, восстановив только некоторые из них. Например, только восстановить kernel.bin или только start.elf + loader.bin + bootcode.bin. Это может сказать вам, если это прошивка или проблема с ядром.

Кшиштоф Адамски
источник
ЛОЛ. сегодня я обновил raspberrypi-firmwareи linux-raspberrypi, и проблема больше не существует. Кажется, это было исправлено. Так что мне даже не нужно было вручную чинить загрузчик, он работает. Но я приму ваш ответ, потому что это было ближе всего к проблеме, и я уверен, что это решит проблему.
Гергели Фехервари
5

Это должно быть проблема SDCard. Если я устанавливаю Raspbian «wheezy», то в raspi-config я расширяю раздел, чтобы заполнить карту, затем выключаю Raspberry Pi, вынимаю sdcard, вставляю снова, он не загружается. Карта Kingmax SDHC Class10 16 ГБ не поддерживается.


Я также попробовал с Kingmax 8GB и Samsung 16GB, как я упоминал в вопросе, и ни один не работал. Может быть, это какая-то другая проблема.

Гергели Фехервари
источник
1
Возможно, вы захотите добавить его в список известных проблемных карточек, на которые я ссылался ранее, и сохранить другим проблему, с которой вы столкнулись.
Стив Робиллард
Вы должны проверить, что именно делает вашу карту не загружаемой. Например, если вы загружаете систему, но даже не входите в систему, загрузится ли она после включения / выключения? Также, пожалуйста, проверьте, мигает ли ваш зеленый светодиод при наличии экрана радуги. Если так, сколько раз?
Кшиштоф Адамски
Да. Только не загружаться снова, если я делаю полное обновление системы. Без обновления системы я могу удалить и вставить SDCard без каких-либо проблем, и он прекрасно загружается.
Гергели Фехервари
2
Сделайте резервную копию содержимого / boot / раздела на ПК, когда он работает. Затем выполните обновление, выключите систему, восстановите / загрузите файлы на ПК и проверьте, решает ли это проблему. Может быть проблема с новым ядром, которое вы получаете после обновления, или может быть / boot / повреждение файловой системы.
Кшиштоф Адамски
Кажется, что это загрузочное копирование и восстановление решили проблему, но хорошо ли это? Это реальное решение или просто временное? Интересно также, что, похоже, ничего не изменилось. Ядро то же самое, и кажется, только версия в пакмане изменена.
Гергели Фехервари
0

Raspberry PI - PANIC: VFS Невозможно смонтировать root fs на unknown-block (179,2) Я получил это сообщение после обновления и перезагрузки.

ПАНИКА: VFS Невозможно смонтировать root fs на unknown-block (179,2) Ввод kdb (current = 0xcb846c80, pid 1) из-за ввода с клавиатуры

Проблема легко решаема, по крайней мере, для меня.

Поэтому я загружаюсь на RescueCD - любой Linux в порядке на другом ПК

Затем я запускаю восстановление файловой системы (используйте правильное имя устройства)

fsck / dev / sdb2

Мне пришлось запустить его несколько раз, затем я принудительно проверил fsck -f / dev / sdb2

И файловая система была отремонтирована.

Может быть, есть временное решение. Что я делаю, это синхронизирую файл перед перезагрузкой. Итак, я запускаю команду sync примерно 2 или 3 раза до перезагрузки sudo. С тех пор я больше не видел ошибку.

Обновление 1: вероятно, разгон влияет на степень повреждения файловой системы. Потому что я видел проблемы всегда после более высокой нагрузки, как например, обновление и обновление.

Update2: Да, когда нет разгона, с ними проблем нет. Возможно, с другой SD-картой он может работать и в режиме разгона.

Обновление 3: После некоторых исследований и тестов я обнаружил, что оригинальная коробка, которую я использовал для Pi, имеет вентиляционные отверстия только снизу, и, следовательно, драйвер IO может перегреться, и это вызвало проблемы с Ethernet, USB и SD-картой. Поскольку я запускаю его в открытом состоянии, я могу без проблем разогнать средний разгон.

Update4: Raspberry failed Это отправлено для обмена поставщику, см. Дополнительную информацию здесь.

Обновление 5: Малина была обменена поставщиком. Новый кусок выглядит хорошо. Давай надеяться.

Обновление 6: новый кусок имеет около 12 дней без перерыва 7/24. Он даже все время разогнан (средний). Я полагаю, если у кого-то все еще есть проблемы со стабильностью, тогда он должен попросить обмен в карантине. Просто я сейчас запускаю его из купленного оригинального пластикового корпуса без дополнительного охлаждения с SD-картой и блоком питания в качестве первого. Я не использовал никаких твиков к оригинальной системе Распбиана.

user8624
источник
0

У меня была похожая проблема паники ядра после обновления до linux-raspberrypi 3.18.3 (НЕТ БОЛЬШЕ linux-raspberrypi-latest).

В моем случае это были не поврежденные файловые системы, загрузчик или прошивка. Это был пакет с ядром.

Сообщение об ошибке

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

Сначала я думал, что плохая SDHC-карта умерла, но оказалось, что все в порядке. vfat /bootРазделы и ext4 /и /homeоба были в порядке.

Я провожу некоторое время, и в конце linux-raspberrypi-3.18.3-3посылка была виновником.

По какой-то причине пакет обновляет /boot/cmdline.txt, который указывает /на неправильный раздел, /dev/mmcblk0p2который должен быть /dev/mmcblk0p5.

ПРИМЕЧАНИЕ: pacman -Qo /boot/cmdline.txtскажет вам, из каких пакетов он поступил.

После подключения SD к нетбуку и отката к хорошему cmdline.txt, затем подключите его к Pi, система успешно работает.

Терри Ван
источник