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.

11
  • 2
    How are you powering your Pi? Are you removing the SD Card while the Pi is powered on? Commented Aug 2, 2012 at 16:26
  • 1
    So it only worked once? Most boot problems can be traced to insufficient power or a bad SD Card or image Commented Aug 2, 2012 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. Commented Aug 2, 2012 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 (elinux.org/RPi_VerifiedPeripherals) and troubleshooting guide (elinux.org/R-Pi_Troubleshooting) Commented Aug 2, 2012 at 16:45
  • 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. Commented Aug 8, 2012 at 18:54

4 Answers 4

8
+100

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.

1
  • 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. Commented Aug 10, 2012 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.

5
  • 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. Commented Aug 2, 2012 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? Commented Aug 9, 2012 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. Commented Aug 9, 2012 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. Commented Aug 9, 2012 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. Commented Aug 9, 2012 at 14:14
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.

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.