Не вдасться завантажитися після вилучення та вставки SD-карти?


15

Я встановив Arch Linux на свою SD-карту з Win32DiskImager. Якщо я вимкну RPI, вийміть карту, вставте її і знову запустіть RPi, все працює добре. Але якщо я пройду повне оновлення системи в Pacman з pacman -Syu, виникла проблема. Якщо я закриваюсь і запускаю RPi знову, немає проблем, але якщо я закрию, вийміть карту, вставте, а потім запустіть RPi, він не може завантажуватися ніколи, просто чекаючи на екрані запуску веселки завжди. Мені також не потрібно виймати SD-карту, достатньо лише зупинити джерело живлення на 30 секунд (до повного розряду конденсаторів) та запустити RPi, і відбудеться та сама помилка.

Я спробував відключити оновлення програмного забезпечення малинового програмного забезпечення, додавши 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 16GB Class10 (MB-MPAGA aka 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_Troubleshooting )
Steve Robillard

2
У вас буде набагато більше шансів отримати корисний результат, якби ви редагували це питання з повним перезаписом, вказуючи точну послідовність операцій, що призводять до відмови.
Кріс Страттон

Відповіді:


8

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

Одним із способів цього стане ручне оновлення файлів у / boot / на вашому ПК. Для цього вам потрібно спершу переконатися, що ваша система не завантажується безпосередньо в графічну систему (оскільки у вас не будуть працювати модулі, і це унеможливить використання клавіатури / миші в X). Тоді вам доведеться підключити вашу SD-карту до ПК, створити резервну копію її вмісту, перейти до github для файлів прошивки, введіть каталог завантаження та завантажте наступні файли (переосмислюючи існуючі) у / boot / partition - 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, і проблеми більше не існують. Здається, це було виправлено. Тож мені навіть не потрібно було вручну виправляти завантаження, його роботу. Але я прийму вашу відповідь, тому що це було найближче до проблеми, і я впевнений, що це вирішить проблему.
Gergely Fehérvári

5

Це має бути проблема sdcard. Якщо я встановлю Raspbian “wheezy”, то в raspi-config я розширюю розділ для заповнення картки, потім вимикаю Raspberry Pi, виймаю sdcard, вставляю знову, він не завантажиться. Картка Kingmax 16 Гб SDHC Class10 не підтримується.


Я також пробував із Kingmax 8GB та Samsung 16GB, як я згадував у запитанні, і жоден не працював. Можливо, це якась інша проблема.


1
Ви можете додати її до списку відомих проблемних карток, з якими я пов’язував раніше, і зберегти інших проблем, які у вас є.
Стів Робіллард

Ви повинні перевірити, що саме робить вашу картку не завантажувальною. Наприклад, якщо ви завантажуєте систему, але навіть не входите в систему, чи вона завантажиться після включення / вимкнення? Крім того, перевірте, чи зелений світлодіодний блимає під час веселкового екрану. Якщо так, то скільки разів?
Кшиштоф Адамський

Так. Тільки не завантажуйтеся знову, якщо я пройду повне оновлення системи. Без оновлення системи я можу видалити та вставити sdcard, не маючи жодних проблем, і він чудово завантажується.
Gergely Fehérvári

2
Резервне копіювання вмісту / boot / розділу на ПК, коли він працює. Потім виконайте оновлення, вимкніть систему, відновіть / завантажте файли на ПК та перевірте, чи це вирішує проблему. Може виникнути проблема з новим ядром, яке ви отримуєте після оновлення, або може статися / загрузка / файлова система.
Кшиштоф Адамський

Здається, ця копія завантаження та відновлення вирішили проблему, але чи добре це? Це справжнє рішення, чи це просто тимчасове? Також цікаво, що схоже, що нічого не змінилося. Ядро те саме, і, здається, змінена лише версія в Pacman.
Гергелі Фехерварі

0

Raspberry PI - PANIC: VFS Неможливо встановити root fs на невідомому блоці (179,2). Я отримав це повідомлення після оновлення та перезавантаження.

PANIC: VFS неможливо встановити root fs на невідомому блоці (179,2) Введення kdb (current = 0xcb846c80, pid 1) через запис клавіатури

Проблема легко вирішується принаймні для мене.

Отже, я завантажуюся на RescueCD - будь-який Linux в порядку на іншому ПК

Потім я запускаю ремонт файлової системи (використовуйте правильне ім’я пристрою)

fsck / dev / sdb2

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

І файлова система була відремонтована.

Можливо, є тимчасове рішення. Що я роблю, це синхронізувати файл перед перезавантаженням. Отже, я запускаю синхронізацію команд приблизно 2 або 3 рази перед перезавантаженням sudo. Оскільки це я не бачив знову помилки.

Оновлення1: Ймовірно, є вплив розгону на появу корупції файлової системи. Тому що я бачив проблеми завжди після більшого завантаження, наприклад, оновлення та оновлення.

Update2: Так, коли це не розгону, то з ними немає проблем. Можливо, з іншою SD-карткою він також може розігнатися.

Update3: Після деяких розслідувань та тестів я з'ясував, що в оригінальній коробці, яку я використовував для Pi, є вентиляційні отвори лише знизу, і тому драйвер вводу-виводу може надмірно нагріватися, і це спричинило проблеми з ethernet, usb та SD-карткою. Оскільки я запускаю його відкритим, я можу зробити навіть середній розгін без проблем.

Update4: Малина не вдалася. Надсилається на обмін постачальнику. Більше інформації тут.

Оновлення5: Малину обміняв постачальник. Новий твір виглядає нормально. Будемо сподіватися.

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


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, система працює і працює успішно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.