15

I've installed Arch Linux on my SD Card with Win32DiskImager. If I shut down the RPi, remove the card, insert it, and start the RPi again, everything works fine. But if I do full system update in pacman with pacman -Syu, there is a problem. If I shut down and start the RPi up again, no problem, but if I shut down, remove the card, insert, then start the RPi, it can't boot ever again, just waiting at the rainbow start screen always. I also don't need to remove the SD card, only enough to stop the power supply for 30 seconds, (until the condensators completely discharge) and start the RPi, and the same error occurs.

I tried to disable the raspberrypi-firmware package update by adding IgnorePgk = raspberrypi-firmware in /etc/pacman.conf file, and then do the full system update, and then I remove and insert the sdcard, and then I dont see the rainbow screen again, but get this error message:

enter image description here

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

This error also occurs if I only update the linux-raspberrypi package, and then I only reboot and not remove the sdcard, and I get the same kernel-panic error message.

I have a Samsung SDHC 16GB Class10 (MB-MPAGA aka MB-MPAGAEU) card. I also tried with Kingmax SDHC 16GB Class10 card, and with a Kingmax SDHC 8GB Class6 card, neither worked.

If I ignore the raspberrypi-firmware and the linux-raspberrypi package in pacman, and then do the system update, no error occurs even if I remove the sdcard. So it must be some problem in these packages.

techraf
  • 4,254
  • 10
  • 29
  • 41
Gergely Fehérvári
  • 567
  • 3
  • 5
  • 16
  • 2
    How are you powering your Pi? Are you removing the SD Card while the Pi is powered on? – Steve Robillard Aug 02 '12 at 16:26
  • Sure. I shut down the OS properly, and Turn off the microusb power supply too. – Gergely Fehérvári Aug 02 '12 at 16:29
  • 1
    So it only worked once? Most boot problems can be traced to insufficient power or a bad SD Card or image – Steve Robillard Aug 02 '12 at 16:31
  • 1
    It is the second time it happens. I reinstalled the OS, and this wont boot again. I use kingmax c10 microsd with adapter. I have 2 adapter, neither works. – Gergely Fehérvári Aug 02 '12 at 16:32
  • 1
    I would suggest you try a different brand of card. Maybe you can borrow or trade with a friend to avoid having to buy/wait for another one. Also have you checked the verified card list (http://elinux.org/RPi_VerifiedPeripherals) and troubleshooting guide (http://elinux.org/R-Pi_Troubleshooting) – Steve Robillard Aug 02 '12 at 16:45
  • 1
    Omniosis: I just had the same problem. I installed a full e17 desktop on my computer. I even turned it off and rebooted after I updated the firmware. But when I removed the SD card to copy some files from my laptop, I inserted the SD card into the Pi, and it wouldn't boot. I just got the start.elf screen. – Corey Goettsch Aug 02 '12 at 17:05
  • what sdcard do you use? I have kingmax 16GB sdhc class 10 – Gergely Fehérvári Aug 02 '12 at 17:09
  • Possible problem with SD card. I had something similar with a 4gb card.. was corrupting the whole time. I ordered kingtons microsd-put into sd adpater worsk fine – Piotr Kula Aug 02 '12 at 17:15
  • 2
    You would have a much better chance of getting a helpful result if you edited this question with a complete re-write, stating the exact sequence of operations which produces the failure. – Chris Stratton Aug 08 '12 at 18:54
  • Is this not a simple Class 10 incompatibility problem? – Alex Chamberlain Aug 09 '12 at 12:15
  • I dont think, since 3 different sdcard produced the same error. Maybe it is a kernel update problem. – Gergely Fehérvári Aug 09 '12 at 12:26

4 Answers4

8

I'm posting this as an answer as there is not enough space in comments. So from all the information gathered so far it seems that the problem is only related to /boot/ partition contents. Now the problem can be caused by two things: 1. /boot/ filesystem corruption which makes it impossible for bootloader to load firmware files 2. New version of firmware has some regression that prevents your SD card working. You have to check which one of this is true.

One way of doing this would be to manually update files in /boot/ on your PC. To do this you will have to first ensure that your system is not booting directly to graphical system (because you won't have modules working and this would make it impossible to use keyboard/mouse in X). Then you have to connect your SD card in PC, backup its content, go to the github page for firmware files, enter boot directory and download following files (overriding existing ones) to your /boot/ partition - bootcode.bin, kernel.img, start.elf, loader.bin. You won't need override any other files. To download each file you have to click on its name, then click "view raw" and save this on disc. After you save all files, ensure that you saftly ejected your SD card and check if it boots. This way you can check if newest firmware files (kernel and bootloader) are able to boot from your SD card. If it's true then we can be sure that your problem is caused by /boot/ partition corruption, not kernel/bootloader regression.

As mentioned earlier, you should also check how many green led flashes can you see when you see rainbow screen. Some time ago troubleshooting code was added to bootloader and it will blink green led several times to show what went wrong. Here's the list: 3 flashes: loader.bin not found 4 flashes: loader.bin not launched 5 flashes: start.elf not found 6 flashes: start.elf not launched

If you see no flashes at all then either your firmware is too old to support this or not even bootcode.bin was loaded. You can also check if the boot partition is not corrupted by checking if all the files needed for boot (mentioned earlier) are sane (not zero sized, exists etc). You can also check which file on boot partition causes problem by restoring only some of them. For example only restore kernel.bin or only start.elf+loader.bin+bootcode.bin. This can tell you if it's firmware or kernel problem.

Krzysztof Adamski
  • 9,585
  • 1
  • 36
  • 53
  • LOL. today I updated the `raspberrypi-firmware` and the `linux-raspberrypi`, and the problem dont exist anymore. It seems it has been fixed. So I even didnt need to fix manually in the boot, its working. But i will accept your answer, because this was the closest to the problem, and I'm sure that it would fix the problem. – Gergely Fehérvári Aug 10 '12 at 10:41
5

It must be sdcard problem. If I install Raspbian “wheezy”, then in the raspi-config I expand the partition to fill the card, then shut down the Raspberry Pi, remove the sdcard, insert in again, it won't boot. The Kingmax 16GB SDHC Class10 card is not suppported.


I also tried with Kingmax 8GB and Samsung 16GB as I mentioned in the question, and neither worked. Maybe it is some other problem.

Gergely Fehérvári
  • 567
  • 3
  • 5
  • 16
  • 1
    You may want to add it to the list of known problem cards I linked to earlier, and save others the problem you are having. – Steve Robillard Aug 02 '12 at 18:58
  • You have to check what exactly makes your card non-bootable. For example, if you boot the system but not even log in, will it boot after turning on/off ? Also, please check if your green led blinks when having rainbow screen. If so, how many times? – Krzysztof Adamski Aug 09 '12 at 12:04
  • Yes. Only not boot again, if I do full system upgrade. Without system upgrade I can remove and insert sdcard without having any problem, and it boots nicely. – Gergely Fehérvári Aug 09 '12 at 12:04
  • 2
    Backup the content of /boot/ partition on PC when it's working. Then do the upgrade, turn off the system, restore /boot files on the PC and check if this solves the problem. There may be a problem with the new kernel you are getting after upgrade or there may be /boot/ filesystem corruption. – Krzysztof Adamski Aug 09 '12 at 12:06
  • It seems this boot copy and restore solved the problem, but is this good? Is it a real solve, or its just a temporary? It is also intresting that it looks like nothing changed. The kernel is the same, and it seems only the version in the pacman is changed. – Gergely Fehérvári Aug 09 '12 at 14:14
0

I had a similar kernel panic issue after upgrading to linux-raspberrypi 3.18.3 (NO MORE linux-raspberrypi-latest).

In my case, it wasn't corrupted file systems, bootloader or firmware. It was the kernel package.

The error message is

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

At first I thought the poor SDHC card died but it turned out to be fine. The vfat /boot partition and ext4 / and /home were both fine.

I spend some time and at the end the linux-raspberrypi-3.18.3-3 package was the culprit.

For some reason the package updates the /boot/cmdline.txt which points / to the wrong partition /dev/mmcblk0p2 which should be /dev/mmcblk0p5.

NOTE: pacman -Qo /boot/cmdline.txt will tell you which packages it comes from.

After plugging the SD onto the netbook and rolled back to the good cmdline.txt, plug it back onto the Pi, system is up and running happily.

Terry Wang
  • 101
  • 2
0

Raspberry PI – PANIC: VFS Unable to mount root fs on unknown-block (179,2) I have got this message after update and reboot.

PANIC: VFS Unable to mount root fs on unknown-block (179,2) Entering kdb (current=0xcb846c80, pid 1) due to Keyboard Entry

The problem is easy solvable at least for me.

So I boot on RescueCD – any Linux is OK in another PC

Then I run the filesystem repair (use your correct device name)

fsck /dev/sdb2

I had to run it multiple times, then I forced the check fsck -f /dev/sdb2

And the file system was repaired.

Maybe there is s temporary solution. What I do is to sync file before reboot. So, I run command sync about 2 or 3 time before sudo reboot. Since this I have not seen again the error.

Update1: There is probably an influence of the overclock on the apperience of the file system corruption. Because I have seen the poblems always after higher load as for example update and upgrade.

Update2: Yes, when it is not overclock then they are no problems. Perhaps with another SD card it can work overclock also.

Update3: After some investigations and tests I found out that the original box I have used for Pi has venting holes only from down and therefore the I-O driver can over heat and it caused problems with ethernet, usb and SD card. Since I run it open I could make even the medium overclock without problem.

Update4: Raspberry failed It is sent for exchange to supplier see more info here.

Update5: The Raspberry was exchange by the supplier. New piece looks OK. Let’s hope.

Update6: The new piece has about 12 days of 7/24 running without any problem. It is even all the time overclocked (medium). I suppose if someone has still problem with stability then he should ask for exchange under the quarantine. Just I run it now out of the purchased original plastic case without any additional cooling with the SD card and power supply as the first one. I have not used any tweeks to the original Raspbian system.