Tell me more ×
Raspberry Pi Stack Exchange is a question and answer site for users and developers of hardware and software for Raspberry Pi. It's 100% free, no registration required.

I've installed Arch Linux on my SD Card with Win32DiskImager. If I shut down the RPi, remove the card, insert, and start the RPi, everything works fine. But if I do full system update in pacman with pacman -Syu, there some problem. If I shut down and the start RPi again, no problem, but if I shut down, remove the card, insert, start RPi, it can't boot ever again, just waiting at the rainbow start screen always. I also dont need to remove the sdcard, only enough to stop the power supply for 30 seconds, (until the condensators complety discarges) 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 Samsung SDHC 16GB Class10 (MB-MPAGA aka MB-MPAGAEU) card. I also tried with Kingmax SDHC 16GB Class10 card, and with 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.

share|improve this question
2  
How are you powering your Pi? Are you removing the SD Card while the Pi is powered on? – Steve Robillard Aug 2 '12 at 16:26
Sure. I shut down the OS properly, and Turn off the microusb power supply too. – omnosis Aug 2 '12 at 16:29
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) – Steve Robillard Aug 2 '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 2 '12 at 17:05
1  
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 8 '12 at 18:54
show 8 more comments

2 Answers

up vote 2 down vote accepted
+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.

share|improve this answer
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. – omnosis Aug 10 '12 at 10:41

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.

share|improve this answer
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 2 '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 9 '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. – omnosis Aug 9 '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 9 '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. – omnosis Aug 9 '12 at 14:14

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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